2

我有一个解决方案,其中包含几个特定的​​64位或32位dll,我想用安装程序进行部署。 我在InstallShield 2012中有两个基本的msi项目,一个用于32位系统,另一个用于64位系统。 我还要求64位安装程序不能在32位系统上工作,Installshield基本msi安装严格适用于32位

将64位安装程序限制为64位系统很容易,但我无法确定是否在32位系统中。

以下是我已经尝试过的解决方案:

检查Windows Installer属性:

  • NOTintel64(因为它指的是处理器,而不是OS不工作)
  • VersionNT64 =什么(不起作用,因为32位系统的值不确定)

另外,我知道环境变量PROCESSOR_ARCHITECTURE其中h旧的x86为32位操作系统,但我找不到在基本msi项目上阅读它的方法。

+0

same [as this](http://stackoverflow.com/questions/21879689/prevent-to-install-32-bit-wix-installer-on-x64-using-processor-architecture-envi),但然后IS方式。如果您没有得到答案,请使用供应商的论坛。 – 2014-09-21 15:00:05

+0

发布该问题的人问的是如何输出特定消息。他已经实现了我打算使用环境变量的行为。 我刚刚在Flexera论坛上发布了这个问题。感谢您的建议。 – 2014-09-21 16:19:48

+1

您是否在x86安装中尝试了“Not VersionNT64”作为启动条件?这可以很好地禁止在x64系统上安装。条件中没有“=无论”。在x86上,它是未定义的,这意味着它是错误的,这意味着只有在x86系统上启动条件评估为true。 – PhilDW 2014-09-21 18:15:00

回答

1

您是否在x86安装程序中尝试了“Not VersionNT64”作为启动条件?这可以很好地禁止在x64系统上安装。条件中没有“=无论”。在x86上,它是未定义的,这意味着它是错误的,这意味着只有在x86系统上启动条件评估为true。

相关问题