创作背景:一直想找到一个合适方法将项目打包成一个安装包,曾经尝试很多次,也再网上找了很多资料,这里进行一个总结,希望能给有需要的朋友提供一份思路,避免走我走过的弯路。
以下就是我整理后的过程:
****特别注意**** :一定要将需要打包项目和Set up项目放到一个解决方案中!!!!
1、下载扩展Microsoft Visual Studio Installer Projects
点击扩展 ---> 管理扩展,搜索Microsoft Visual Studio Installer Projects,点击下载,完成安装。
2、新建Set up项目
右击解决方案 ---> 添加 ---> 新建项目,在搜索框中搜索Setup,选择如图所示工程
,并配置新项目信息。
安装项目,三个目录的作用
Application Folder:即 “应用程序文件夹”,表示要安装的应用程序需要添加的文件(注:如果项目中用了三方开源插件,也需要在里面添加上)
User‘s Desktop:即 “用户桌面”,表示这个应用程序安装完,用户的桌面上的创建的.exe快捷方式
User’s Programs Menu:即 “用户的程序菜单”,表示应用程序安装完,用户的“开始菜单”中的显示的内容,一般在这个文件夹中,需要再创建一个文件夹用来存放:应用程序.exe和卸载程序.exe
3、应用程序文件夹下添加文件
右击Application Folder(应用程序文件夹)---> Add ---> 文件,把你需要打包的项目下的---> bin ---> Debug目录下的所有文件添加到Application Folder中(比如下图所示的一些.dll、.pdb文件,如果Debug目录下还有子目录那也需要把子目录里的文件一并添加进去) 假如有子目录,需要在“Application Folder”新建文件夹,并修改为相同名称,并把文件文件中的内容同样添加,防止程序中的调用找不到路径。
4、添加卸载程序
右击Application Folder ---> Add ---> 文件 --->把C:\Windows\System32下的msiexec.exe文件添加到Application Folder中,添加进来并重命名为 Uninstall.exe
右击Uninstall.exe文件 ---> 点击Create Shortcut to msiexec.exe,创建快捷键方式,重命名为 卸载程序.exe
点击您刚刚新建的Setup项目,复制ProductCode 属性的值
点击卸载程序.exe ---> 将复制的ProductCode 的属性值粘贴在Arguments 属性中,然后在最前面加上 /X (PS:/X后有一个空格哦)
将卸载拖动到User‘s Programs Menu(用户的程序菜单)中
5、添加运行环境
右击 Application Folder ---> Add --->项目输出,选择项目、主输出 ---> 确定
创建了主输出文件的快捷方式(方法同4.2),拖进User's Desktop(用户桌面)
右击您新建的Setup项目---> 属性--->点击Prerequisites…
选择所使用的.net的版本(根据自己项目选择)---> 确定
6、添加程序图标(选做)
右击Application Folder(应用程序文件夹)---> Add ---> 文件,将你的icon文件导入
右键User’s Desktop下的主输出快捷方式-->选择属性窗口
选择ICON属性的下拉箭头--->(Browse...),选择刚刚添加的ICON文件,确认即可。
7、生成项目exe
右击您新建的Setup项目---> 生成。在您新建的Setup项目的目录下即可看到如下文件,debug文件夹,会看到生成了两个文件“XX.exe”和“XX.msi”。其中如果使用exe文件进行安装,则必须要有.msi文件。如果选择.msi文件进行安装,可以不需要exe文件。