将64位和32位版本的应用程序转换为相同的二进制文件?

时间:2009-04-29 12:44:32

标签: windows windows-xp 64-bit cross-platform fat-binaries

我们正在尝试在64位和32位平台上部署应用程序。有没有办法将两个编译版本的代码放在同一个二进制文件中,即Apple和NeXT的fat binaries

理想情况下,我们可以发送一个.exe来决定执行哪个版本的代码。我们的目标是Windows XP及更高版本。

3 个答案:

答案 0 :(得分:8)

Process Explorer(是sysinternals,现在归Microsoft所有)这样做。它是一个32位应用程序,可检测64位环境,写出另一个二进制文件并在退出时将其删除。 http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx

答案 1 :(得分:6)

一种方法可能是提供一个引导应用程序来确定体系结构并选择适当的可执行文件来运行。所以基本上快捷方式或你的应用程序只需启动引导程序,然后启动相应的应用程序。如果您的应用程序是Windows服务,这可能会有点棘手。

答案 2 :(得分:0)

最简单的方法是由安装程序处理这个问题 - 每个二进制文件都有两个版本,并根据目标机器上的系统位数复制必要的版本。