gpt4 book ai didi

wix - 如何设置 Wix Bootstrap 安装的产品代码

转载 作者:行者123 更新时间:2023-12-01 12:51:23 26 4
gpt4 key购买 nike

我正在使用 Bootstrap 检查是否存在,如果需要安装一组第 3 方产品安装。然后它会安装我的产品。我想包括完整安装的卸载快捷方式,而不仅仅是我的产品。但是,为此,我需要能够为 Bootstrap 设置产品代码,然后在我的卸载快捷方式中引用它:

<ShortcutId="UninstallShortcut" Name="Uninstall My Product" 
Description="Uninstalls My Product"Target="[System64Folder]msiexec.exe"
Arguments="/x [MyBootStrapperProductCode]" Icon="MainApp.ico"/>

我使用的是标准 Wix Bootstrap ,但我在 Bundle 元素中看不到任何可让我设置产品代码的内容。

或者,我可以防止 Bootstrap 在添加/删除程序中留下对自身的引用吗?第 3 方组件是永久部署。

最佳答案

Bundle 的工作方式与 Product 不同。它不使用 msiexec 来卸载,至少不公开。

为了创建 BUNDLE 的 UNISTALL 快捷方式,您需要一些巧妙的技巧。免责声明:仅供开发/内部使用。

首先;您需要使用这种方法将 UpgradeCode 传递给您的 MSI:

Passing command line args to MSI from WiX bundle

之后,在您的 MSI 文件中,您可以尝试搜索等于您的 UpgradeCode 的注册表值 BundleUpgradeCode。如果找到了value所在的文件夹,则可以提取UnistallString并直接执行(使用CustomAction)。

它将是这样的:"C:\ProgramData\Package Cache{my GUID}\ExchangeBootStrapper.exe"/uninstall

我个人还没有实现它,但找不到解决此问题的任何其他解决方法并提出了这个。

关于wix - 如何设置 Wix Bootstrap 安装的产品代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12287372/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com