【问题标题】:WIX MSI Package UninstallationWIX MSI 软件包卸载
【发布时间】:2010-11-19 03:36:22
【问题描述】:

我正在使用 WIX 作为安装程序包。当我通过双击原始 msi 包卸载包时,一切都很好。

当我从控制面板卸载时,它会给我一个最小的 UI 卸载。我在我的 MSI 中写入了一个自定义操作,询问用户是否要卸载某些数据库等。这不会发生在最小的 UI 卸载上。

如何让控制面板中的 uinstall 使用完整的 UI?

【问题讨论】:

    标签: wix windows-installer


    【解决方案1】:

    在 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall 中查看您的产品的注册表项。在那里查看卸载值,看看调整它是否符合您的要求。

    我很确定 MSI 中有一个属性可以解决您的问题,我只是想不起来。不过,在 MSI 中搜索您在注册表中找到的字符串应该可以帮助您找出答案。

    【讨论】:

      【解决方案2】:

      Bob Arnson 在this thread 的回复:

      是的,这就是 添加/删除程序小程序。它总是 以基本模式卸载 MSI 软件包 提示后。你唯一的事 可以做的是设置 ARPNOREMOVE 来强制 用户使用维护模式 - 和 在您的 维护界面。

      【讨论】:

      • 我不知道我买了这个。我认为它可以在不诉诸维护模式的情况下被覆盖。我 90% 确定我已经卸载了 MSI 的游戏,它询问我是否要删除已保存的游戏,而无需进入维护 UI。
      • 通常可以覆盖任何东西——但这并不总是一个好主意。如果您的 MSI 被远程卸载,例如通过 SCCM / SMS,那么您必须能够静默运行卸载。 ARPNOREMOVE 建议还不错 - MSI 仍然能够在静默模式下卸载,但对于临时用户,会显示维护对话框并询问适当的问题。
      【解决方案3】:

      您无法在 MSI 中以本机方式做到这一点。您需要参考 boostrapper/外部 UI 来进行卸载。这个问题的其他答案指向了正确的方向。

      【讨论】:

        【解决方案4】:

        您可以通过删除 HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall\{YourProductCode} 下的“ModifyPath”注册表值,使 ARP 菜单仅显示应用程序的“删除/更改”按钮(它会打开维护对话框)。并在您的维护对话框中放置删除和更改选项。

        PS。要应用此方法,请确保您没有在上述注册表项下将以下任何注册表值设置为 1:NoRepair、NoRemove、NoModify、WindowsInstaller。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-02-20
          • 2015-03-25
          • 2019-05-18
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多