You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Wix ToolSet创建的MSI卸载时显示完整UI?

解决Wix ToolSet v3.11 MSI卸载时显示完整UI的问题

以下是几种可靠的解决方法,按优先级排序:

方法1:在Wix项目中强制卸载时使用完整UI

这是最根本的解决方式,直接在安装包中定义卸载时的UI级别,无需修改注册表:

  • 在你的Wix Product元素中添加属性,强制卸载时启用完整UI:
<Property Id="UNINSTALLUILEVEL" Value="2" />

数值说明:2对应/qf(完整UI),3对应/qb(基础UI),这里设置为2即可。

  • 如果你需要仅在卸载时生效(不影响安装时的UI级别),可以用条件性设置:
<SetProperty Id="UNINSTALLUILEVEL" Value="2" Before="InstallInitialize">REMOVE~="ALL"</SetProperty>

这个配置会在执行完整卸载(REMOVE=ALL)时,自动将UI级别设为完整模式。

方法2:更换Wix内置UI模板

如果你的安装包使用了WixUI_Basic(基础UI模板),卸载时默认会沿用基础UI。可以切换为完整UI模板:

将原UI引用:

<UIRef Id="WixUI_Basic" />

替换为:

<UIRef Id="WixUI_Full" />

这样安装和卸载过程都会使用完整对话框UI。

方法3:修正注册表卸载字符串(备选)

如果修改注册表未生效,可能是路径错误或未同步系统缓存:

  • 找到正确的注册表路径:

    • 64位系统下的32位程序:HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{你的产品GUID}
    • 64位程序:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{你的产品GUID}
  • 修改两个键值:

    • 将UninstallString改为:msiexec /x {你的产品GUID} /qf
    • 将ModifyPath也改为相同内容(部分系统会优先读取这个值)
  • 修改后重启Windows资源管理器(或注销再登录),确保系统读取新的注册表配置。

注意:此方法依赖系统对注册表的读取逻辑,不如Wix内置配置稳定,仅作为备选方案。

内容的提问来源于stack exchange,提问作者Aleksandar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 18:58:10