VS2022 Winform程序打包发布(完整步骤)

本文记录了在Windows系统下进行Winform项目打包的过程。包括准备工作,如创建Winform程序、下载扩展;项目配置,如配置图标、属性等;开始打包,涉及创建setup程序、添加文件、设置参数等步骤;最后介绍了启动程序和总结打包过程中的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、准备工作

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打包的过程,能够更全面的总结学习过程的问题。

1、指数名称:北京大学数字普惠金融指数 2、课题组:本指数北京大学数字金融研究中心蚂蚁科技集团研究院组成的联合课题组负责编制,课题组顾问包括北京大学数字金融研究中心主任黄益平,蚂蚁集团研究院院长李振华。第一期指数2011-2015)课题组成员主要包括:郭峰、孔涛、王靖一、张勋、程志云、阮方圆、孙涛、王芳。第二期到第六期指数(2016-2023)课题组成员主要包括:郭峰、王靖一、程志云、李勇国、王芳。课题组也获得了北京大学蚂蚁集团多位同事的技术支持。 3、指数属性:这套指数包括数字普惠金融指数,以及数字金融覆盖广度数字金融使用深度以及普惠金融数字化程度;此外使用深度指数中还包含支付、信贷、保险、信用、投资、货币基金等业务分类指数;但由于监管公司数据安全审核等方面的原因,2019-2023的信用货币基金分指数,没有对外公布。 4、指数范围:中国内地31个省(直辖市、自治区,简称“省”)、337个地级以上城市(地区、自治州、盟等,简称“城市”),以及约2800个县(县级市、旗、市辖区等,简称“县域”);部分地区数据存在缺失;港澳台地区数据暂未包括。 5、时间跨度:省级城市级指数时间跨度为2011-2023,县域指数时间跨度为2014-2023。 6、地区代码说明:在2011-2023期间,中国部分地区进行了“撤地设市”“县(市)改区”等改革,调整了地区名称行政区划代码,但并不影响本指数统计;本表中城市代码同时保留了20142018两个版本,县域名称行政区划代码则以2014底的代码为准,以方便使用者合并其他经济社会数据进行分析。 7、引用说明:欢迎各界人士使用指数,如有使用本数据,请注明所用数据为“北京大学数字普惠金融指数”;同时烦请按照以下文献引用方式引用我们的成果:郭峰、王靖一、王芳、孔涛、张勋、程志云,《测度中国数字普惠金融发展: 指数编制与空间特征》,《经济学季刊》,2020第19卷第4期,第1401-1418页。 8、指数包括: index_aggregate(数字金融发展总指数), coverage_breadth(数字金融覆盖广度指数,二级维度3-1), usage_depth(数字金融使用深度指数,二级维度3-2), payment(电子支付指数),insurance(网络保险指数), monetary_fund,investment(网络投资指数), credit(网络信贷指数), credit_investigation, digitization_level(普惠金融数字化程度指数,二级维度3-3)
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值