以下是关于WinForm/WPF 打包安装程序exe的内容
如果打包的exe文件,需要拥有管理员权限,则先配置下面的第三步,设置管理员权限(非必须)
一、安装扩展程序
打包exe,需要安装:Microsoft Visual Studio Installer Projects 2022
安装的两种方式:1、手动下载文件安装,2、vs中扩展下载安装
1、手动下载安装包:
Microsoft Visual Studio Installer Projects 2022
2、Visual Studio中安装
菜单栏中选中【扩展】-【管理扩展】-【联机】中搜索Microsoft Visual Studio Installer并安装
下图是已安装的图示
二、创建并配置打包安装程序的项目
1、添加新项目
在项目的解决方案下,添加 --> 新建项目 --> Setup Project
修改名称和位置
添加新项目后,界面如下
安装项目,三个目录的说明
Application Folder: “应用程序文件夹”
表示要安装的应用程序需要添加的文件(注:如果项目中用了三方开源插件,也需要在里面添加上)
User‘s Desktop: “用户桌面”
表示这个应用程序安装完,用户的桌面上的创建的.exe快捷方式
User’s Programs Menu: “用户的程序菜单”
表示应用程序安装完,用户的“开始菜单”中的显示的内容,一般在这个文件夹中,需要再创建一个文件夹,用来存放:应用程序.exe和卸载程序.exe
2、添加需要打包的应用程序文件
setup项目添加成功之后,在Application Folder中,新建文件夹:WPFCard
复制:需要打包的项目,生成后的bin目录下Debug文件夹中,所有文件和文件夹。
选择:Application Folder --> WPFCard,右键粘贴
3、添加项目主程序
选择:Application Folder --> WPFCard,右键 Add --> 项目输出 --> 主输出
在项目栏所在的下拉列表中,选择需要打包的主项目,点击确定
4、添加主程序的桌面和任务栏快捷方式
1)创建快捷方式文件
选择刚刚添加的主输出 from XXX(Active)
右键:Create Shortcut to 主输出 from XXX(Active)
2)重命名快捷方式文件
找到Shortcut to %s 主输出 from XXX(Active)
然后重命名Shortcut to 主输出 from XXX(Active)
修改为需要显示的快捷方式的名称
3)创建桌面快捷方式
将该重命名的文件,拖动到User’s Destop目录下
此时User’s Destop目录下,已包含该文件
4)应用程序创建快捷方式
右键:User’s Programs Menu --> Add --> Folder,添加文件夹:WPFCard
这里添加的文件夹会显示在应用程序菜单中
按照前面1和2的步骤,再创建一个快捷方式,拖动到User’s Programs Menud的WPFCard文件夹中
此时,User’s Programs Menu的文件夹WPFCard中,已包含此步骤中新添加的快捷方式文件
5、添加卸载程序
1)找文件
在目录:C:\Windows\System32,找到文件:msiexec.exe
2)复制粘贴
将文件msiexec.exe,复制粘贴到Application Folder-->WPFCard文件夹中
3)重命名文件
将文件msiexec.exe,重命名为UnInstall.exe文件
4)添加卸载程序快捷方式
右键重命名的文件:UnInstall.exe,选择:Create Shortcut to UnInstall.exe
5)复制ProductCode中的值
选择新建的Setup Project项目,复制ProductCode中的值
6)粘贴ProductCode中的值
选择刚刚Shortcut to UnInstall.exe文件,右击【属性窗口】,修改Arguments属性的值为/X空格 刚刚复制的ProductCode中的值
7)创建卸载程序的快捷方式
重命名Shortcut to UnInstall.exe文件,修改为需要显示在应用程序菜单中的名称
然后拖动到该文件到:User’s Programs Menu --> WPFCard 文件夹中
此时,该文件夹中,已包含卸载文件的快捷方式
6、配置项目环境-组件(非必须)
如果项目需要指定的环境,右键:Setup项目 --> 属性-Prerequisites
根据项目需求,选择必须的组件
7、打包安装程序
右键:Setup Project项目,选择:重新生成
生成成功后,即可在该项目的Debug文件夹中,找到程序的安装包
此时双击exe文件,便会弹出安装界面
安装完毕后,桌面快捷方式如下图
程序的菜单栏中,如下图
所以,最初创建文件夹的作用,便在此
三、设置管理员权限(非必须)
1、启用ClickOnce安全设置
找到程序的主项目,非setup项目
选中项目,右键:属性 --> 安全性,勾选“启用ClickOnce安全设置”
2、修改app.manifest文件
启用ClickOnce安全设置后,项目的Properties目录中,会多出一个文件:app.manifest
选中并打开,找到
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
修改为
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
3、关闭ClickOnce安全设置
将“启用ClickOnce安全设置”前面的勾去掉后再编译运行。 不然程序会报错无法运行。
参考网址:
https://blog.csdn.net/wu_zongwen/article/details/126507135
https://blog.csdn.net/qq_25702235/article/details/128579316
https://www.cnblogs.com/webenh/p/16949332.html
https://www.cnblogs.com/jyj666/p/15918209.html