3

我正在创建一个 Visual Studio 2010 安装项目来安装我的应用程序。我的应用程序通过为不同的系统位数提供多个可执行文件来工作,并检测您是在 32 位还是 64 位系统上运行。

如果它是 64 位系统,我希望安装程序安装 Visual C++ 2010 x64 Runtime。将此设置为先决条件,将禁用在 32 位系统上的安装。有没有办法将此设置为先决条件,但仅限于 64 位系统,而无需使用两个不同的安装程序?

4

1 回答 1

2

您需要为 64 位版本和 32 位版本创建单独的 MSI 文件以处理 WOW64 的特殊性。

一个 MSI 无法同时安装 64 位和 32 位版本:

不同的处理器架构需要不同的包

因为您将拥有单独的 MSI 文件,所以将 64 位 VC++ Runtime Redistributables 添加到 64 位 MSI 并将 32 位的可再发行组件分别添加到 32 位 MSI 应该很容易。

当然,您可以创建一个引导程序来检查系统架构,然后启动相应的 MSI 文件。我相信dotNetInstaller提供了一种相关问题中已指出的机制。

于 2010-09-23T09:12:50.347 回答