X86 Installshield基本msi安装严格针对32位

X86 Installshield基本msi安装严格针对32位,x86,windows-installer,installshield,installshield-2012,basic-msi,X86,Windows Installer,Installshield,Installshield 2012,Basic Msi,我有一个解决方案,其中包含几个特定于64位或32位的DLL,我希望在安装程序中部署这些DLL。 在InstallShield 2012中,我有两个基本的msi项目,一个用于32位系统,另一个用于64位系统。 我还要求64位安装程序不能在32位系统上运行,,反之亦然 将64位安装程序限制为64位系统是很容易的,但我无法确定是否在32位系统中 以下是我已经尝试过的解决方案: 正在检查windows installer属性: NOTintel64(不工作,因为它指的是处理器而不是操作系统) Vers

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

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

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

正在检查windows installer属性:

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

另外,我知道环境变量处理器(PROCESSOR_)体系结构支持x86 for 32位操作系统,但我找不到在基本msi项目上读取它的方法。

您是否尝试过在x86设置中使用“非版本NT64”作为启动条件?禁止在x64系统上安装,这样做很好。条件中没有“=任何内容”。在x86上,它是未定义的,这意味着它是false,这意味着启动条件仅在x86系统上计算为true。

相同,但情况就是这样。如果没有答案,请使用供应商论坛。发布该问题的人问如何输出特定消息。他已经达到了我使用环境变量的目的。我刚刚在Flexera论坛上发布了这个问题。谢谢您的建议。您是否尝试过在x86安装程序中将“非版本NT64”作为启动条件?禁止在x64系统上安装,这样做很好。条件中没有“=任何内容”。在x86上,它是未定义的,这意味着它是false,这意味着启动条件仅在x86系统上计算为true。我很确定我已经尝试过了。无论如何,我现在又做了一次,它成功了。谢谢@PhilDW,你能把这个评论转换成一个答案吗?