系统版本:Windows10 x64
开发工具:Visual Studio 2017
要用VS打包Winform首先需要确保安装了Visual Studio Installer Project(菜单栏——工具——扩展和更新)
打包步骤
1. 新建Installer项目
2. 右键Application Folder
添加项目输出
3.选择要打包的项目
4.会自动生成主输出和依赖库(如果有依赖)
5.添加项目需要的其他文件, 右键Application Folder
添加文件
6. 创建程序桌面快捷方式
右键主输出,选择创建快捷方式
,将生成的快捷方式剪贴到User's Desktop
,快捷方式属性Icon添加图标
7. 创建程序开始菜单
7.1 创建程序快速启动图标
这个跟创建桌面快捷方式的方法一样
7.2 创建程序卸载图标
a. 将C\Windows\System32\msiexec.exe
上传到Applicaiton Folder
b. 对msiexec.exe
重命名下,一般改名为“Uninstall.exe”
,然后创建快捷方式到User's Programs Menu
7.3 设置卸载参数
a. 在属性里面找到安装项目的ProductCode
b. 然后点击Uninstall
程序,修改属性参数Arguments
,值为"/x ProductCode"
设置开机启动
用修改注册表的方式来设置开机启动
1. 右键项目——View——注册表
2. 添加如下字段到LOCAL_MACHINE,这个是所有用户,CURRENT_USER应该也可以(没测试过) \HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Run
(win10_64)
\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
(win7_64)
设置系统必备
一般我们开发的Winform程序都有一个目标框架,就是所依赖的.Net Framework版本环境,如.Net Framework 2.0/3.5/4.0/4.5等
要想我们的程序在电脑上正常运行,就得保证系统上装有指定的.net Framework版本框架。这个可以在安装包的属性中设置,启动安装前检查操作系统中是否安装了指定版本的框架或其他依赖,设置方法如下:
右键安装包项目,点开“Prerequisites”
选择“从组件供应商的网站上下载系统必备组件”,这样一来,即使电脑上没有安装需要的.net Framework也不要紧,只要设置了这项,安装程序会自动从微软的官网上下载对应的组件并安装 。
在生成win7安装包时出现了警告:The target version of the .NET Framework in the project does not match the .NET Framework launch condition version ‘.NET Framework 4.6.1’. 说我的程序.net版本和启动条件版本不匹配。
这个警告会导致安装时需要下载.NET 4.6.1,但实际程序Net3.5就可以运行了。这个问题需要修改启动条件版本。右键工程——View——启动条件
选择.Net Framework启动条件版本与程序一致,比如程序需要3.5那么这里选择3.5就行了,再生成安装包就不会出现警告了。
生成安装文件
右键安装项目,选择重新生成
如果不出错,那么会在项目的Debug或Release文件夹生成安装文件
Setup.exe里边包含了对安装程序的一些条件的检测,比如.net的版本是否支持,当条件具备后,setup.exe接着调用setup.msi进行安装。如果你确定条件都具备的话也可以直接运行setup.msi进行安装 。