【问题标题】:I would like to uninstall BUNDLE via CMD or C# code WITHOUT original bundle.exe我想通过 CMD 或 C# 代码卸载 BUNDLE,而不使用原始 bundle.exe
【发布时间】:2021-06-02 12:52:41
【问题描述】:

我看过其他帖子

Is there a way to uninstall Wix bundle from CMD

Removing bundle setup (wix) from ARP using CMD

但是,在这两种情况下,解决方案都建议使用原始的 bundle.exe 来卸载。

根据我的要求,这是不可能的。以下是不可能的原因。


我在注册的第一个帖子中看到了comment

计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall{xxx...xxx}\InstallSource

包含ProgramData中的目录,我检查了那个文件夹,但不幸的是,有msi但没有exe。

我还检查了 UninstallString,但只有 msiexec.exe /i{xxx...xxx}

我可以通过msiexec.exe /x {xxx...xxx}成功卸载程序,并且注册表项已经消失,但是由于我没有删除捆绑包,所以捆绑包的ARP条目仍然存在。


当我使用 UI 从添加/删除程序中使用卸载时,我可以卸载此捆绑包。但我需要在没有 UI 的情况下这样做。

必须有办法。

任何帮助将不胜感激。

【问题讨论】:

    标签: wix windows-installer burn wix3


    【解决方案1】:

    其实找到了答案。

    因为我的应用程序是 64 位的,所以我的 msi 是 64 位的。所以我假设 bundle 也是 64 位的。

    但是,捆绑包仍然使用 32 位。

    所以通过搜索WOW6432Node,我在BundleCachePath下找到了exe路径。

    因为我有 exe 路径,所以我能够卸载捆绑包。

    【讨论】:

    • 我认为原因是setup.exe 可以同时包含 32 位和 64 位组件,因此它需要是 32 位才能在 32 位和 64 位系统上启动。
    • 很可能是这种情况。希望我能提前想到这种可能性,但我很高兴我找到了解决方案
    • 很好的调试工作,我看到你也找到了 WiX 邮件列表。我需要从我的实验站点修复一些指向它的错误链接:installdude.com。如果您访问,请尝试“Jumpgate”。尽管该网站尚未完全正常运行,但可以为其他事情提供帮助。
    • 谢谢,很好!您的洞察力在整个 SO 中都是惊人的和可见的,很高兴您创建了一个知识数据库!已添加书签,将首先检查!
    • 谢谢。我希望尽快让它变得更好。有许多缺失的功能,但它确实有助于找到某些东西。浏览器有点重 - 在某些平板电脑上的性能非常差等等。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-01
    • 2011-07-02
    • 1970-01-01
    • 1970-01-01
    • 2016-03-17
    • 2021-05-25
    相关资源
    最近更新 更多