为32位和64位应用程序启动正确的安装程序

时间:2010-10-19 20:09:24

标签: installer 32bit-64bit

我们有一个应用程序,由于各种原因,需要编译为32位和64位应用程序。问题是,我们希望在一张CD上分发两个设置文件(msi)。是否有启动条件或autorun.inf条目,我们可以用它来知道要启动哪个setup.exe?或者我们是否需要编写一个由autorun调用的单独的小exe,它确定操作系统,并调用相应的setup.exe?

2 个答案:

答案 0 :(得分:1)

autorun.inf files中似乎没有固有的32/64位检测支持。

大多数提供32位和64位MSI的应用程序遵循的惯例类似于您提到的第二个选项。

  1. 创建一个32位的setup.exe应用程序(以便它可以在任一平台上运行)。理想情况下,这将使用C / C ++编写,以便尽可能小而快,并且不依赖于其他库/框架(例如静态链接)。
  2. 检测您是否在64位上运行(请参阅Windows API IsWow64Process功能的示例代码
  3. 执行适当的MSI

答案 1 :(得分:1)

您可以使用自定义操作来检测操作系统,然后调用正确的安装程序。

我在这里举了一个例子:Single MSI to install correct 32 or 64 bit c# application