今天学习将Winform程序打包成安装项目,参考网上教程,并记录尝试过程。
测试打包的程序为用C# Winform开的的一个客户端程序。
1、安装打包插件
在程序打包之前需要安装Microsoft Visual Studio Installer Projects插件。
1.1、选择扩展管理
在VS2019上方选项卡中点击“扩展”——“管理扩展”;
1.2、下载插件
点击“联机”——>“搜索”——>“下载”
1.3、 安装插件
安装时,按照提示安装即可,安装好后需要重新打开VS2019;
2、打包项目
2.1、创建安装项目
首先,打开VS2019——“创建新项目”;
创建好后进入如下界面:
里面最左侧的框框有三个文件夹
1).“应用程序文件夹”即"Application Folder"表示要安装的应用程序需要添加的文件;
2).“用户的‘程序’菜单”即"User’s Programs Menu"表示:应用程序安装完,用户的“开始菜单”中的显示的内容,一般在这个文件夹中,需要再创建一个文件用来存放:应用程序.exe和卸载程序.exe;
3).“用户桌面”即"User’s Desktop"表示:这个应用程序安装完,用户的桌面上的创建的.exe快捷方式。
2.2、右键“应用程序文件夹”,添加——文件
添加的文件一般是已经编译生成过的应用程序项目的debug目录下的exe文件(即位于…/bin/Debug文件夹下的主程序exe文件)
添加后,一般它会自动把exe程序所需的依赖项也加进来,如dll文件
2.3、创建快捷方式
(1)右键主程序exe文件,选择“创建快捷方式到……”
(2)然后,中侧框框里会出现一个快捷方式项,将它剪切,粘贴到“用户桌面”文件夹下
(3)至于快捷方式的名称、图标、描述等其他属性,可以在属性面板中设置,如下
这里我只设置了名称和图标
2.4、添加卸载程序
既然有安装就有卸载,卸载程序其实是一个Windows操作系统自带的程序(C:Windows\System32\Msiexec.exe),只不过是通过给它传特殊的参数命令,来让它执行卸载
添加和设置卸载程序的操作如下:
(1)首先,将卸载程序放在“应用程序文件夹”目录下,右键“应用程序文件夹”,添加——文件,在系统盘下找到这个路径文件——C:Windows\System32\Msiexec.exe添加进去
2)由于Msiexec.exe这个名字不够直观,所以一般接下来我们会对它重命名,一般改为“卸载.exe”或“UnInstall.exe”,然后给它创建快捷方式并将快捷方式放到“用户程序菜单”目录下
(3) 接下来是很关键的一步,设置卸载参数,告诉卸载程序该卸载哪个
A、首先,找到安装项目的ProductCode,在安装项目的属性面板中可以看到,如下
注意:先选中“四则计算器”不要右键点击选属性,直接侧边栏点属性
B、复制此ProductCode ,粘贴到“卸载.exe”快捷方式的Arguments属性,前面加/x空格,如下
2.5、其他设置(欢迎界面、安装步骤等)
如果还想对安装程序进行其他设置,比如,优化安装欢迎界面,自定制安装步骤,修改注册表,设置启动条件(比如要求必须先安装指定的.net FrameWork版本才可以启动)等,可以右键安装项目,在View中可以进行选择设置,如下
此处暂未设置,后期有需要用到了再补充上。
2.6、设置依赖环境
一般我们开发的程序都有一个目标框架,也就是所依赖的.net Framework版本环境,如.net Framework 4.0/4.5等
要想我们的程序能在电脑上正常运行,首先就得保证电脑上装有指定的.net Framework版本框架,可以在安装包的属性中设置,启动安装前检查操作系统中是否安装了指定版本的框架或其他依赖,设置方法如下:
(1)右键安装包项目,点开“属性”
(2)选择你程序需要的.net Framework版本以及其他依赖项
(3)可以选择“从组件供应商的网站上下载系统必备组件”,这样一来,即使电脑上没有安装需要的.net Framework也不要紧,只要设置了这项,安装程序会自动从微软的官网上下载对应的组件并安装,很方便
2.7、生成打包安装文件
(1)右键安装项目“Setup”,选择重新生成
(2)然后打开解决方案文件夹下的Debug或Release文件夹,就可以看到生成的安装文件
2.8、打包完成
看下能否安装
1、我们打开解决方案文件夹下的debug文件夹可以看到安装文件已生成
生成了.exe与.msi两个文件
经查找资料setup.exe里边包含了对安装程序的一些条件的检测,比如需要.net的版本是否安装等,当条件具备后,setup.exe接着调用setup.msi,而setup.msi则可以直接运行,如果你确定条件都具备的情况下。
2、测试一下,看是否可以安装运行: