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

发布于 2024-09-28 01:28:43 字数 176 浏览 3 评论 0原文

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

We have an application which, for various reasons, needs to be compiled as both a 32-bit and 64-bit app. The thing is, we want to distribute both setup files (msi) on a single CD. Is there a launch condition or autorun.inf entry that we can use to know which setup.exe to launch? Or do we need to write a separate little exe that gets called by autorun, and which determines the OS, and calls the appropriate setup.exe?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

单身情人 2024-10-05 01:28:43

autorun.inf 文件

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

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

There does not appear to be any 32/64bit detection support inherent in autorun.inf files.

The convention that most applications which supply a 32 and 64 bit MSI follow is similar to the second option you mention.

  1. Create a single 32bit setup.exe application (so that it will run on either platform). Ideally this will be written in C/C++ so that it is as small and quick as possible, and has no dependencies on other libraries/frameworks (eg. static linked).
  2. Detect if you are running on 64bit or not (see sample code for Windows API IsWow64Process function
  3. Execute the appropriate MSI
凹づ凸ル 2024-10-05 01:28:43

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

我在这里给出了一个例子: 单个 MSI 安装正确的 32 或 64 位 C# 应用程序

You can use a custom action to detect the OS, then call the right installer.

I've given an example here: Single MSI to install correct 32 or 64 bit c# application

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文