2

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

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

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

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

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

我读了很多文章说不能使用基本的 msi 安装程序来完成混合安装?

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

4

2 回答 2

1

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

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

于 2013-05-08T12:16:03.733 回答
1

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

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

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

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

于 2016-08-30T21:04:00.100 回答