【发布时间】:2018-11-14 10:16:08
【问题描述】:
我正在使用 Visual Studio 2008 编写应用程序。部署应用程序时,一些系统是 32 位的,而另一些是 64 位的。因此,我计划在安装程序中同时提供 32 位/64 位版本,然后根据操作系统的位数启动相应的版本。后者如何实现,即获取操作系统的位数并启动相应的版本?
让我澄清一下情况。我已经用 C++ 开发了 32 位和 64 位 EXE 应用程序。然后我想用C++(我不知道.NET)检测Windows的位数并启动相应版本的应用程序。
谢谢
【问题讨论】:
-
可能会编写一个 32 位安装程序(因此它可以在任何地方运行),然后将其解压并尝试启动一个 64 位测试可执行文件。这将返回错误(不支持的可执行文件),或者可执行文件将成功运行并返回非错误退出状态。喜欢
int main(){return 0;}。 -
或者等等,你是想在安装时选择一次,还是每次都安装并在运行时选择?
-
从 32 位安装程序调用
IsWow64Process或NtQueryInformationProcess和ProcessWow64Information如果检测到 wow64 进程 - 启动 64 位安装程序并退出
标签: visual-studio windows-installer installation x86-64 32bit-64bit