微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我想通过 CMD 或 C# 代码卸载 BUNDLE,无需原始 bundle.exe

如何解决我想通过 CMD 或 C# 代码卸载 BUNDLE,无需原始 bundle.exe

我看过其他帖子

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 的情况下这样做。

一定有办法。

任何帮助将不胜感激。

解决方法

实际上找到了答案。

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

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

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。