gpt4 book ai didi

installation - 如果已安装其他产品,如何使用 Wix 阻止安装

转载 作者:行者123 更新时间:2023-12-02 04:05:12 25 4
gpt4 key购买 nike

我们有两种不同的产品,不能在不损坏的情况下同时安装在同一台计算机上,因此我们需要在第一个产品的 Wix 安装程序中添加一个检查,称为 A,以防止将其安装在一台已经安装了另一台机器(例如 B)的机器。

我们已经为 A 和 B 定义了不同的 UpgradeCodes,但是我需要在 Wix 安装 XML 中添加什么来表示类似 “如果您发现任何带有 UpgradeCode A 的内容,请不要安装它,因为这个有升级代码 B”。

我在这里看到过类似的问题 但是答案通常不会提供清晰的 xml,并且只是部分相似,例如检查同一产品的 x86 与 64,或者只是阻止安装同一产品的旧版本,我们已经这样做了。这里几乎所有的 Wix 答案实际上都不包含 xml,我觉得这很奇怪,因为这是我知道如何定义这些东西的唯一方法。

关于此的 Wix 文档也相当稀疏,我发现了一些关于 AppSearch ( http://wixtoolset.org/documentation/manual/v3/xsd/wix/appsearch.html ) 的内容,但这并不能帮助我弄清楚如何在 xml 中使用它来阻止安装(如果找到应用程序),或者如何通过 UpgradeCode 或其他方式搜索它。

最佳答案

您应该能够在产品 A 中添加一些升级检测:

<Upgrade Id="$(var.ProductBInstallerUpgradeGUID)" >
<UpgradeVersion
IncludeMaximum ="yes"
IncludeMinimum="yes"
Maximum="255.255.65535.65535"
Minimum="1.0.0.0"
MigrateFeatures="no"
Property="PRODUCTBISINSTALLED"
OnlyDetect="yes" />
</Upgrade>

然后您可以使用启动条件

<Condition Message="!(loc.CannotInstallWithProductBInstalled)">NOT PRODUCTBISINSTALLED OR Installed</Condition>

因此,如果在此计算机上检测到产品 b,它将停止安装,并显示本地化文件中的“CannotInstallWithProductBInstalled”字符串定义的错误消息。

与产品 B 中的产品 A 检测类似

关于installation - 如果已安装其他产品,如何使用 Wix 阻止安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39850837/

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