目录

更新说明(2024/01/22)

序言

一、还是安装Visual Studio Installer Projects 2022插件

二、创建Setup Project项目

2.1 在现有解决方案中添加Setup Project项目

2.2 (更新)添加需要打包的文件 

2.2.1 准备添加输出项。

2.2.2 【核心】添加 WpfMain 项目输出。

2.2.3 添加 WpfPluginManager 项目输出。

2.3 关于引用的问题

2.3.1 关于两个输出项目引用的类库问题

2.3.2 关于框架引用的问题

三、创建快捷方式

3.1 为快捷方式选定图标

3.2 添加卸载程序和卸载程序快捷方式(非必须)

四、生成Setup Project项目


更新说明(2024/01/22)

当时写这篇博客的时候,刚接触 .Net 6,好多事情没搞清楚,按当初博文中的方法,能用,但还是有些问题。评论区里 zlcp123 的评论,大部分说的是对的。现在框架已经推出到 .Net 8 了,我也更新一下内容,不能误人子弟。对于新手而言,在打包上走的弯路挺多的了,老被卡在这没什么意思,没什么好藏着掖着的,一个打包不应该耗费这么多精力。

这次拿真正的项目,为大家做次示范。其中,WpfMain 是主程序,WpfPluginManager 是升级程序,Infrastructure文件夹 内是自己编写的通用类库,MEFPlugins文件夹 内是程序插件集合。

本次打包的范围是:

“WpfMain”主程序项目、“WpfPluginManager”升级程序项目,以及2个项目关联的相关类库。

强烈建议:对于初学者,在添加Setup Project项目之前,先将整个解决方案生成一遍。

本解决方案的生成方式为:Release -- x64 (不是默认的Debug -- Any CPU)

本解决方案的项目结构如下:

序言

使用 VisualStudio 插件(Visual Studio Installer Projects)进行打包(即将项目打包为 *.msi 或者 *.exe 文件)的教程非常多,这些教程大方向是对的,但是对于 .Net 6/.Net 8框架下的WPF项目则并不完全适用。这是一层窗户纸,一捅就破。自己实践了很多次,特记录下来,希望能帮助到还在困惑的朋友。

一、还是安装Visual Studio Installer Projects 2022插件

这一步,以往的教程都没有问题,照做就是了。

方式1:VS主界面--扩展--管理扩展--搜索VS插件“Visual Studio Installer Projects 2022”并安装。

方式2:直接下载安装,网址:https://marketplace.visualstudio.com/items?itemName=VisualStudioClient.MicrosoftVisualStudio2022InstallerProjects

二、创建Setup Project项目

2.1 在现有解决方案中添加Setup Project项目

解决方案上点右键--添加--新建项目--选择Setup Project项目

2.2 (更新)添加需要打包的文件 

2.2.1 准备添加输出项。

进入新创建的WpfSteupNew项目,选择 Application Folder 文件夹,随后在该文件夹上点击鼠标右键,选择 Add -- 项目输出(P)。

2.2.2 【核心】添加 WpfMain 项目输出。

从这一步开始,和以往的教程相比,就会有细节上的变化。

在 添加项目输出组 对话框,选择如下:

  1. 项目 选择为 WpfMain
  2. 输出类型 选择为 发布项必须选择【发布项】,不能选择【主输出】
  3. 配置(C) 选择为 Release X64(因为之前解决方案生成方式就是:Release -- x64

随后点击 确定 按钮,添加为如下情况:

2.2.3 添加 WpfPluginManager 项目输出。

按 2.2.2 步骤,添加 WpfPluginManager 项目。

在 添加项目输出组 对话框,选择如下:

  1. 项目 选择为 WpfPluginManager
  2. 输出类型 选择为 发布项必须选择【发布项】,不能选择【主输出】
  3. 配置(C) 选择为 Release X64(因为之前解决方案生成方式就是:Release -- x64

两个项目添加完成后情况如下:

2.3 关于引用的问题

2.3.1 关于两个输出项目引用的类库问题

在项目内做好引用的情况下,是不需要再单独添加输出项的。

比如说,WpfMain项目引用了这么多的类库,但是不需要再单独添加输出项

2.3.2 关于框架引用的问题

简单情况下不需要特别指定。-- 说人话就是:此步跳过即可。

如果需要指定,选中WpfSetupNew项目,右键 -- 属性,点击 Prerequisites... 按钮。

选择合适的框架,最后点击确定。

三、创建快捷方式

发布项上点右键--选择 Create Shortcut to 发布项 from XXX(Release X64),生成快捷方式。

如果解决方案在之前没有完整生成过一遍,则很可能没有【Create Shortcut to 发布项 from XXX(Release X64)】这个选项。

快捷方式上点右键--重命名,改成你想要的名字。

随后将快捷方式拖到User’s Destop目录下,并进入User’s Destop目录。

3.1 为快捷方式选定图标

选择改好名字的快捷方式--看到窗口右下角的属性栏--找到“Icon”项目--点击右侧下拉箭头--选择“Browse”。

在弹出窗体上继续选择Browse。

在新的弹出窗口中,双击进入Application Folder文件夹。

点击Add File按钮,添加图标文件。随后点击OK按钮。

3.2 添加卸载程序和卸载程序快捷方式(非必须)

这一部分内容,请参阅《Visual Studio 2022 WinForm/Wpf打包安装程序》2.5、2.6节。 

https://blog.csdn.net/wu_zongwen/article/details/126507135

四、生成Setup Project项目

在解决方案管理器,选择SetupProject项目。

SetupProject项目右键--生成

SetupProject项目右键--在文件资源管理器中打开文件夹--双击进入Debug文件夹,即可看到生成的文件。

 至此,安装项目生成完毕。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐