【问题标题】:Installshield 2012 : Identify 32 or 64 bit Operating system and install appropriate ActiveX control - Basic msi installerInstallshield 2012:识别 32 或 64 位操作系统并安装适当的 ActiveX 控件 - 基本 msi 安装程序
【发布时间】:2013-05-08 07:18:16
【问题描述】:

我有一个 ActiveX 控件需要部署在客户端机器上,我计划通过向客户端提供安装程序来实现此目的。

我为 64 位和 32 位操作系统制作了单独的 msi 包,它可以正常工作。

但是,当涉及到 64 位机器时,我遇到了一个问题,因为我有以下要求,

如果是 32 位机器,安装 32 位 ActiveX 控件。

如果是 64 位机器,安装 32 位和 64 位 ActiveX 控件。

我读过很多文章说混合安装无法使用基本的 msi 安装程序完成?

这可以使用单个 setup.exe 文件完成吗?

【问题讨论】:

    标签: 32bit-64bit installshield installshield-2012


    【解决方案1】:

    单个 MSI 不能同时将文件或注册表安装到 64 位系统上的 64 位位置并在 32 位系统上运行。因此,假设您的 64 位 ActiveX 控件必须安装或注册到 64 位位置,您不能在单个 MSI 中执行此操作。

    如果您拥有 InstallShield 2012 的首要版本,这是套件(或套件/高级 UI)项目类型的用例之一。您必须创建两个 MSI 文件,并将它们都包含在具有相关资格条件的套件中。 (确切的条件取决于您是使 MSI 独立还是累积,但 64 位 MSI 只有在平台具有 x64 架构时才符合条件。)

    【讨论】:

    • 我只是链接了两个 msi 文件并为 64 位 msi 添加了一个安装条件 VersionNT64,这对我很有用,非常感谢..!
    • @Arun 你是如何添加这个条件的?我在这里有完全相同的问题:stackoverflow.com/questions/25248958/… 而且我还没有找到如何在 InstallShield 中使用 VersionNT64 的方法。
    【解决方案2】:

    您可以拥有32 位和64 位 组件在单个安装程序中,并使其根据目标平台决定安装什么,如下所示。

    1) 创建两个新特征(一个用于 32,一个用于 64)并为它们添加条件。

    for 32 bit -> Not VersionNT64
    for 64 bit -> VersionNT64
    

    2) 添加两个先决条件并为每个先决条件选择适当的(父)功能

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-06-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多