一、准备工作
1、创建Winform程序
2、VS中选择扩展,下载Microsoft Visual Studio Installer Projects
注:有时扩展下载缓慢甚至无法下载,需要手动下载引入(选择上图中详细信息即可进入下载,切记下载版本要和开发工具相匹配)
二、项目配置
1、配置项目图标
打开解决方案资源管理器 ->右击选择项目的属性 ->应用程序中图标和清单(图标必须是icon格式)
2、创建应用程序清单(非必须)
右击选择项目 ->新建项 ->创建应用程序清单文件(应用程序清单可以配置程序管理员权限打开程序)
3、项目属性配置
选择自己的目标平台(例如x64)
添加资源文件(将项目中用到的图片、图标等资源加入下图的资源中)
有时需要通过代码来给对应控件添加图片,这时就需要将资源文件加入到资源中。在解决方案中的Peoporties节点中有图片_789。下图是panel2添加背景图片。
取消勾选启用ClickOnce安全设置(项目用到本地路径时需要操作)(非必须)
4、外置配置文件(非必须)(外置的配置文件格式和App.config相同,需要引入System.Configuration)
System.Environment.Exit(0): 关闭程序
//获取配置文件中常量值
//System.Configuration.ConfigurationSettings.AppSettings---> 适用于 .net 1.0.1.1 新版本已经弃用
//System.Configuration.ConfigurationManager.AppSettings ---> 新版适用
//读取外部配置文件
string configFilePath = Path.Combine("C:\\Program Files", "App.config");
if (!File.Exists(configFilePath))
{
MessageBox.Show("请将配置文件放在正确位置!!!");
//Application.Exit();
System.Environment.Exit(0);
return;
}
// 创建 ExeConfigurationFileMap 并指定配置文件的路径
ExeConfigurationFileMap fileMap = new ExeConfigurationFileMap();
fileMap.ExeConfigFilename = configFilePath;
// 根据文件映射加载配置
Configuration configuration = ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None);
string a = configuration.AppSettings.Settings["aa"].Value;
三、开始打包
1、创建setup程序(右键解决方案资源管理器 ->新建项目 ->选择下图第一个)
(注:和普通创建程序步骤一样)
2、setup程序创建完成
Application Folder存放项目的文件(需要将项目根目录下/bin/Debug中所有文件添加到Application Folder中)
User's Desktop表示桌面快捷方式
3、将所需文件添加到Application Folder目录下,按照以下步骤,全选所需文件
(注:如果/bin/Debug下存在文件夹需要,需要创建对应名称的文件夹,再在该添加该文件夹下文件,步骤同上)
4、添加主输出并添加快捷方式(快捷方式需要拖动到User's Desktop文件夹下)
5、添加卸载程序(相添加文件,选择C:\Windows\System32\msiexec.exe,并添加快捷方式)
6、给主输出和卸载快捷方式添加图标和项目参数
查看产品编号(ProductCode)
将产品编号复制到快捷方式属性的Arguments(卸载快捷方式需要在产品编号前添加 /x )
name表示桌面快捷方式的名字
Icon表示桌面快捷方式的图标
(如需给快捷方式添加图标,需要先将图片添加到打包程序中,再选择图片)
7、设置打包程序参数
AddRemoveProgramsIcon: 打包程序的图标(在控制面板的程序中可查看)
Author:项目的作者
Manufacturer:制作者
RemovePreviousVersions:安装新版本时是否删除之前安装的旧版本(选择true)
Version: 程序的版本号(自己设置)
Productname: 产品名
TargetPlatform: 程序操作系统平台(我这里是x64)
8、选择程序所需的组件
右键setup项目 ->选择属性 ->选择Prerequisites... ->勾选所需的组件
9、设置默认安装路径(点击Application Folder,查看属性,修改DefaultLocation(也可不修改))
10、生成
在setup项目的Debug目录下出现两个文件表示打包成功(双击setup.exe进行安装)
四、启动程序
1、桌面显示
2、控制面板->程序与功能中展示
3、启动桌面展示
4、任务管理器展示(由于在设置清单和图标时未修改项目名,这里显示成dome)
5、资源文件读取正常
6、卸载程序(双击下图左边快捷方式)
五、总结
1、由于第一次打包Winform项目,打包过程可能有不足和考虑不全的地方。
2、本博客意在记录学习Winform打包的过程,能够更全面的总结学习过程的问题。