Wix引导程序中开始菜单卸载快捷方式无法彻底移除控制面板程序
解决Wix引导程序卸载后控制面板残留问题
你的核心问题是:直接卸载MSI不会清理Wix Burn引导程序在系统中的注册信息,导致控制面板里仍显示应用条目。以下是具体解决方法:
一、先确认控制面板条目的归属
先搞清楚控制面板里的残留条目是属于MSI还是Burn引导程序:
- 打开注册表编辑器,查看以下路径:
- 每用户安装:
HKCU\Software\Microsoft\Windows\CurrentVersion\Uninstall - 每机器安装:
HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall或HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall
- 每用户安装:
- 找到对应
DisplayName为Max5的项,查看是否有BundleProviderKey字段(属于Burn引导程序),还是ProductCode(属于MSI)。如果是前者,说明问题出在未触发Burn的卸载流程。
二、方案1:让Burn自动生成卸载快捷方式(推荐)
放弃在MSI中手动创建卸载快捷方式,直接让Burn引导程序生成正确的卸载入口,自动关联Bundle的卸载流程:
在Burn项目的Bundle节点下,添加BootstrapperApplicationRef配置(以Wix标准引导程序为例):
<Bundle Name="Max5" Version="1.0.0.0" Manufacturer="你的公司名" UpgradeCode="替换为唯一GUID"> <!-- 引用Wix标准引导程序 --> <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense"> <bal:WixStandardBootstrapperApplication LicenseFile="license.rtf" <!-- 替换为你的许可证文件路径 --> SuppressUninstallShortcut="no" <!-- 允许生成卸载快捷方式 --> UninstallShortcutName="Uninstall Max5" UninstallShortcutDescription="Uninstall Max5"/> </BootstrapperApplicationRef> <!-- 你的MSI包引用 --> <Chain> <MsiPackage SourceFile="path/to/你的Max5.msi" /> </Chain> </Bundle>
这样Burn会自动在开始菜单创建卸载快捷方式,点击后会触发Bundle的完整卸载流程:先卸载MSI,再清理自身在系统中的注册信息,彻底移除控制面板的条目。
三、方案2:修改MSI中的卸载快捷方式调用Bundle卸载
如果必须保留MSI中创建的卸载快捷方式,需要修改快捷方式的目标为Burn引导程序的exe,并传递卸载参数:
- 在Burn项目的
MsiPackage节点中,添加属性传递Bundle的原始路径到MSI:
<Chain> <MsiPackage SourceFile="path/to/你的Max5.msi"> <!-- 将Bundle的exe路径传递给MSI,属性名为BUNDLEEXEPATH --> <MsiProperty Name="BUNDLEEXEPATH" Value="[WixBundleOriginalSource]"/> </MsiPackage> </Chain>
- 修改MSI项目中的卸载快捷配置:
<Shortcut Id="Shortcut1" Name="Uninstall Max5" Description="Uninstall Max5" Target="[BUNDLEEXEPATH]" <!-- 指向Bundle的exe --> Arguments="/uninstall" <!-- 传递卸载参数 --> WorkingDirectory="APPLICATIONROOTDIRECTORY" />
点击该快捷方式后,会调用Burn引导程序执行卸载,完成MSI卸载和自身注册清理。
四、额外检查项
- 确保MSI的
ProductCode和Bundle的UpgradeCode都是唯一GUID,避免冲突。 - 测试卸载时,可以打开命令行执行
你的Bundle.exe /uninstall /quiet,验证是否彻底清理所有条目。 - 如果有旧版本残留,可手动删除注册表中对应Uninstall路径下的残留项。
内容的提问来源于stack exchange,提问作者Roshil K
相关产品推荐
相关产品推荐

