【问题标题】:Installshield basic msi installation strictly for 32-bitInstallshield 基本 msi 安装严格用于 32 位
【发布时间】:2014-09-21 12:08:16
【问题描述】:

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

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

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

检查 Windows 安装程序属性:

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

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

【问题讨论】:

  • 相同的as this,但是是IS方式。如果您没有得到答案,请使用供应商的论坛。
  • 发布该问题的人正在询问如何输出特定消息。他已经实现了我想要使用环境变量的行为。我刚刚在 Flexera 论坛上发布了这个问题。感谢您的建议。
  • 您是否尝试过在 x86 设置中将“Not VersionNT64”作为启动条件?这可以很好地禁止在 x64 系统上安装。条件中没有“=whatever”。在 x86 上它是未定义的,这意味着它是假的,这意味着启动条件仅在 x86 系统上评估为真。
  • 我很确定我试过了。无论如何,我现在又做了一次,它成功了。谢谢!
  • @PhilDW,您能否将该评论转换为答案?

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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多