使用 MSI 安装程序部署 .NET 5 WPF 应用程序

Deploying .NET 5 WPF application using MSI installer

是否有人使用 Visual Studio 安装项目来部署 .NET 5 WPF 桌面应用程序?多年来我一直在做这件事,但是对于 .NET 5,事情似乎发生了一些变化。我尝试按照 MS 在 this article 中提供的步骤进行操作,该步骤主要针对 .NET Core 3.1,但我找不到任何特定于 .NET 5 的内容。

与 .NET Framework WPF 应用程序不同,我们将 Primary Project Output 添加到我们的安装程序项目,本文要求我添加 Published Items 到安装程序。我这样做了,但现在无法在用户的桌面或开始菜单上创建“快捷方式”,因为快捷方式需要我 select 一个可执行文件,而在这种情况下我没有。

一个略有不同但相关的问题是我无法在安装程序项目中 select 我的应用程序图标,因为我又没有 我的 WPF 的主要输出 安装程序中的项目。

好的。经过更多实验后,我发现了以下内容:

  • 创建指向 已发布项目 的快捷方式是可以的。当用户在安装后单击此快捷方式时,它只会在您发布的文件夹中打开可执行文件。所以不需要主要项目输出
  • 要将您的应用程序图标用于快捷方式和 Add/Remove 程序,只需将 ico 文件手动添加到安装文件夹并设置其 Exclude 属性 到 正确 。这样它将在图标浏览对话框中可用,但不会注入用户的安装文件夹。

我还发现了一些我不需要的更高级的解决方案,但可能对其他人有所帮助。 this post from the vendor themselves that teaches a way of modifying the installer database through script, and this related SO post 显示了使用安装程序 UI 组件执行相同操作的技巧。