Installshield基本msi安装严格为32位

时间:2014-09-21 12:08:17

标签: x86 windows-installer installshield installshield-2012 basic-msi

我有一个解决方案,其中有几个64位或32位特定的dll,我想用安装程序进行部署。 我在InstallShield 2012中有两个基本的msi项目,一个用于32位系统,另一个用于64位系统。 我还要求64位安装程序不能在32位系统上运行,,反之亦然

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

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

检查Windows安装程序属性:

  • NOTintel64(不起作用,因为它指的是处理器而不是操作系统)
  • VersionNT64 =无论什么(因为32位系统的值未定义,不起作用)

另外,我知道环境变量PROCESSOR_ARCHITECTURE为32位操作系统保存x86,但我找不到在basic-msi项目上读取它的方法。

1 个答案:

答案 0 :(得分:1)

您是否尝试过“Not VersionNT64”作为x86设置中的启动条件?这可以很好地禁止在x64系统上安装。条件中没有“=无论什么”。在x86上它是未定义的,这意味着它是假的,这意味着启动条件仅在x86系统上评估为真。