Visual Studio 2022 WinForm/Wpf打包安装程序
1.安装扩展程序
方法1.手动下载安装包:
Microsoft Visual Studio Installer Projects 2022
方法2.Visual Studio中安装
菜单栏中选中【扩展】-【管理扩展】-【联机】中搜索Microsoft Visual Studio Installer并安装
2.创建并设置用于打包安装程序的项目
2.1 新建Setup Project项目
在当前解决方案下添加-新建项目-Setup Project
2.2 添加需要打包的应用程序文件
项目添加成功之后,将需要打包的项目生成后的bin目录下的所有文件和文件夹复制-粘贴到【Application Folder】目录中
2.3 添加项目主程序
右击【Application Folder】-【Add】-【项目输出】,选中需要打包的项目,点击主输出,确定
2.3 添加主程序的桌面和任务栏快捷方式
- 右击刚刚添加的主输出 from XXX(Active),Create Shortcut to 主输出 from XXX(Active)
- 然后重命名Shortcut to 主输出 from XXX(Active),修改为需要显示的快捷方式的名称,然后拖动到User’s Destop目录下
- 右击【User’s Programs Menu】-【Add】-【Folder】,这里添加的文件夹会显示在应用程序菜单中
按照刚刚的步骤再创建一个快捷方式,拖动到此文件夹中
2.5 添加卸载程序
右击【Application Folder】-【Add】-【文件】,找到C://Windows/System32下的msiexec.exe,重命名为UnInstall
2.6 添加卸载程序快捷方式
- 右击已经重命名为UnInstall.exe文件,Create Shortcut to UnInstall.exe
- 单击刚刚新建的Setup Project项目,复制ProductCode中的值
- 选装刚刚Shortcut to UnInstall.exe文件,右击【属性窗口】,修改Arguments属性的值为
/X空格 刚刚复制的ProductCode中的值
- 重命名Shortcut to UnInstall.exe,修改为需要显示在应用程序菜单中的名称,然后拖动到【User’s Programs Menu】【Demo】目录下
2.7 打包安装程序
选中Setup Project项目右击【重新生成】,等打包成功以后即可在该项目的目录下找到程序的安装包
3.设置管理员权限(非必须)
3.1 启用ClickOnce安全设置
选中项目右击【属性】-【安全性】,勾选“启用ClickOnce安全设置”
3.2 修改app.manifest文件
启用ClickOnce安全设置后项目中的Properties目录中会多出一个app.manifest文件,选中并打开,
找到
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
- 1
更改为
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
- 1
3.3 关闭ClickOnce安全设置
将“启用ClickOnce安全设置”前面的勾去掉后再编译运行。 不然程序会报错无法运行。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
2021-07-31 win10系统CompatTelRunner或task scheduler占用CPU过高的解决方法(禁用客户体验改善计划)
2019-07-31 Svn与Git的区别
2019-07-31 TortoiseGit,git 未能顺利结束 (退出码 1)
2018-07-31 sql server查看表占用索引空间(小技巧)
2018-07-31 sql server不要插入大数据,开销太大
2018-07-31 MongoDB——更新操作(Update)c#实现
2018-07-31 solr中facet及facet.pivot理解