gpt4 book ai didi

WiX:防止 32 位安装程序在 64 位 Windows 上运行

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

由于用户混淆,我们的应用需要针对 32 位和 64 位版本的 Windows 的单独安装程序。虽然 32 位安装程序在 win64 上运行良好,但它有可能造成支持问题,我们希望防止这种情况发生。

我想阻止 32 位 MSI 安装程序在 64 位 Windows 计算机上运行。为此我有以下条件:

<Condition Message="You are attempting to run the 32-bit installer on a 64-bit version of Windows.">
<![CDATA[Msix64 AND (NOT Win64)]]>
</Condition>

Win64 定义如下:

<?if $(var.Platform) = "x64"?>
<?define PlatformString = "64-bit"?>
<?define Win64 ?>
<?else?>
<?define PlatformString = "32-bit"?>
<?endif?>

问题是,我无法让这项检查正常工作。要么一直触发,要么一直不触发。目标是根据编译时 Win64 变量检查运行时 msix64 变量是否存在,如果它们不对齐,则抛出错误,但逻辑是没有按照我的意愿工作。有没有人想出更好的解决方案?

最佳答案

仅在 32 位程序包中包含 Condition 元素(即使用“if”预处理器语句)。条件将是“NOT Msix64”:启动条件必须为真,因此如果设置了 Msix64,启动条件将失败,这意味着它是 x64 操作系统和 32 位软件包,正确的做法是 block 。

关于WiX:防止 32 位安装程序在 64 位 Windows 上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2458550/

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