VS2017 Installer Project:无法创建面向终端用户的可用卸载程序
解决Visual Studio Community 2017 Installer Project的卸载程序问题
嘿,我来帮你搞定这个卸载程序的问题!其实VS2017的Installer Project本身就自带卸载支持,只是可能你没留意到这些细节,我给你一步步拆解:
一、终端用户默认的卸载途径(无需额外配置)
用Installer Project生成的.msi安装包,安装后会自动注册到系统的卸载列表里:
- Windows 10/11:打开设置>应用>应用和功能,找到你的程序名称,点击“卸载”即可完成操作
- 旧版Windows:打开控制面板>程序和功能,找到程序后右键选择“卸载”
这是最标准的终端用户卸载方式,完全满足常规需求。
二、自定义卸载相关设置(可选)
如果你需要更个性化的卸载体验,比如添加卸载快捷方式、执行清理操作,可以按下面的步骤来:
1. 添加桌面/开始菜单的卸载快捷方式
如果想让用户直接通过快捷方式卸载,这么配置:
- 打开Installer Project的文件系统视图
- 右键点击“用户的程序菜单”或“用户桌面”,选择“添加>快捷方式”
- 在弹出的对话框里,目标选择
[SystemFolder]msiexec.exe,参数填写/x {你的产品GUID} - 产品GUID可以在项目属性里找到:右键项目→属性→产品代码(注意正式部署时建议固定这个GUID,避免自动生成导致卸载快捷方式失效)
2. 自定义卸载时的额外操作(比如清理注册表/残留文件)
如果后续要添加卸载时的自定义逻辑(比如删除特定残留文件、清理额外注册表项):
- 右键Installer Project→视图→自定义操作
- 在“卸载”节点下,添加你需要执行的动作:比如调用一个清理用的exe,或者添加注册表删除操作
- 注意:如果是在Installer Project的“注册表”视图里添加的注册表项,默认卸载时会自动删除(除非你给该项设置了“永久”属性),不需要额外写脚本处理
三、测试卸载的注意事项
- 测试时别直接在VS里运行安装后卸载,最好生成完整的.msi安装包,手动安装后再用系统卸载入口或自定义快捷方式卸载,这样能模拟终端用户的真实场景
- 如果卸载后有残留文件,检查一下Installer Project里对应的文件属性:右键文件→属性,把“永久”改成False(设置为永久的文件卸载时不会被删除)
内容的提问来源于stack exchange,提问作者neilf
相关产品推荐
相关产品推荐

