我做了一个应用程序,我必须编译它的 32 位和 64 位版本。我看到了一些应用程序,例如 ProcessExplorer 的作用如下。在 32 位操作系统上,它运行 32 位应用程序,但在 64 位操作系统上,它会提取同一个 exe 的 64 位版本,这将被执行。那么我怎样才能从我的应用程序中制作这样的应用程序呢?我应该在 Visual Studio 中进行哪些设置?
问问题
84 次
2 回答
3
流程浏览器的工作方式如下:
- 您下载一个 32 位可执行文件。
- 当您在 32 位操作系统上运行该可执行文件时,就是这样。
- 当您在 64 位操作系统上运行该可执行文件时,32 位进程会在启动时检测到该文件,并在磁盘上提取一个 64 位可执行文件,该可执行文件作为资源存储在 32 位进程中。然后它运行那个 64 位的可执行文件。
Visual Studio 中没有任何设置可以为您自动执行该过程。你必须自己写那部分。您可以有一个首先构建 64 位版本的构建过程。然后您可以将该可执行文件编译成链接到 32 位进程的资源。这是你运送的。
我自己不相信所有的努力都值得。就我个人而言,我倾向于发布两个不同的可执行文件,但我想只有你知道你自己的要求。
于 2012-12-01T21:17:19.607 回答
0
为什么不让安装程序根据操作系统安装适当的版本,并为任一操作系统赋予该可执行文件相同的名称?
于 2012-12-01T21:17:10.933 回答