WinForm用微软打包工具打包

WinForm用微软打包工具打包

1. 安装扩展

下载扩展Microsoft Visual Studio Installer Projects

点击扩展 ---> 管理扩展

安装完之后重启VS就好了。

2. 新建Set up项目

点击解决方案 ---> 添加 ---> 新建项目

选择这个Setup Project

创建打包项目

安装项目,三个目录的作用
Application Folder: 即 "应用程序文件夹",表示要安装的应用程序需要添加的文件(注:如果项目中用了三方开源插件,也需要在里面添加上)
User's Desktop: 即 "用户桌面",表示这个应用程序安装完,用户的桌面上的创建的.exe快捷方式
User's Programs Menu: 即 "用户的程序菜单",表示应用程序安装完,用户的"开始菜单"中的显示的内容,一般在这个文件夹中,需要再创建一个文件夹用来存放:应用程序.exe和卸载程序.exe

3. 应用程序文件夹下添加文件

把项目Release目录下所有文件全部拖进Application Folder里面,因为有可能生成的文件夹里面有嵌套子文件夹,这些子文件夹也需要一起存在的,不然引用会有问题。

拖进来就变成这样子了。

4. 添加运行环境

Application Folder ---> Add --->项目输出,选择项目、主输出 ---> 确定

默认选项就可以了

创建主输出文件的快捷方式,拖进User's Desktop(用户桌面)

然后重命名一下

右击您新建的Setup项目---> 属性--->点击Prerequisites...

这个根据你项目需要选择就行了,不需要的话也可以不用装。

5. 添加程序图标

右击Application Folder(应用程序文件夹)---> Add ---> 文件,将你的icon文件导入

右键User's Desktop下的主输出快捷方式-->选择属性窗口

选中刚刚添加的图标文件就行了

6. 添加卸载程序

右击Application Folder ---> Add ---> 文件 --->把C:\Windows\System32下的msiexec.exe文件添加到Application Folder中,创建快捷方式,并重命名为UninstallCompareTool,然后移动到User's Programs Menu里面


点击刚刚新建的Setup项目,复制ProductCode 属性的值

点击刚刚创建的卸载程序快捷方式 ---> 将复制的ProductCode 的属性值粘贴在Arguments 属性中,然后在最前面加上 /X (PS:/X后有一个空格)

7. 生成安装项目

右击新建的Setup项目---> 生成

在新建的Setup项目的目录下即可看到如下文件,debug文件夹,会看到生成了两个文件"XX.exe"和"XX.msi"。其中如果使用exe文件进行安装,则必须要有.msi文件。如果选择.msi文件进行安装,可以不需要exe文件

双击即可启动安装向导

一直下一步就可以了

安装成功~

相关推荐
QianCenRealSim1 天前
十五五智能网联汽车产业发展战略与前景展望
microsoft·十五五智能网联汽车产业发展
std860212 天前
微软升级Copilot Actions,可对本地文件执行操作
microsoft·copilot
ITHAOGE152 天前
下载| Windows 11 ARM版11月官方ISO系统映像 (适合部分笔记本、苹果M系列芯片电脑、树莓派和部分安卓手机平板)
windows·科技·microsoft·微软·电脑
吴法刚2 天前
Gemini cli 源码分析之Chat-ContentGenerator生成式 AI 模型交互
人工智能·microsoft·ai·gemini·ai编码
星尘安全2 天前
研究人员发现严重 AI 漏洞,Meta、英伟达及微软推理框架面临风险
人工智能·microsoft·网络安全·程序员必看
板鸭〈小号〉2 天前
守护进程(linux)
microsoft
Leinwin3 天前
微软与Anthropic深化战略合作,在Azure Foundry平台部署Claude系列AI模型
人工智能·microsoft·azure
JasonSJX4 天前
海海软件成为微软 PlayReady DRM 官方合作伙伴
microsoft·drm·视频加密·playready·数字版权保护
西焱4404 天前
微软官方直链下载(winxp,win8,win10,win11镜像下载)
microsoft
季春二九4 天前
微软 .Net 运行库丨多语言丨离线全集丨静默安装丨多架构支持
microsoft·.net