我有一个解决方案,其中包含多个 64 位或 32 位特定的 dll,我想使用安装程序进行部署。我在 InstallShield 2012 中有两个基本的 msi 项目,一个用于 32 位系统,另一个用于 64 位系统。我还要求 64 位安装程序不能在 32 位系统上运行,反之亦然。
将 64 位安装程序限制为 64 位系统很容易,但我无法确定是在 32 位系统中。
以下是我已经尝试过的解决方案:
检查 Windows 安装程序属性:
- NOTintel64(不起作用,因为它指的是处理器而不是操作系统)
- VersionNT64=whatever(不起作用,因为该值对于 32 位系统未定义)
另外,我知道环境变量 PROCESSOR_ARCHITECTURE 为 32 位操作系统保存 x86,但我找不到在 basic-msi 项目上读取它的方法。