我正在使用Visual Studio 2008编写应用程序。部署应用程序时,某些系统是32位,而其他系统是64位。因此,我计划在安装程序中提供32位/ 64位版本,然后根据操作系统的位数启动相应的版本。如何实现后者,即获得操作系统的位数并启动相应的版本?
让我澄清一下情况。我已经用C ++开发了32位和64位EXE应用程序。然后我想用C ++检测Windows的位数(我不知道.NET)并启动相应版本的应用程序。
由于
答案 0 :(得分:1)
我建议寻找更强大的MSI打包工具。 Most professional tools为您提供内置的引导程序,只需单击一下即可提供此功能。
VS安装项目对于基本的应用程序打包非常有用,但从不打算为您提供全部功能。
答案 1 :(得分:0)
这取决于你的意思"启动相应的版本"。这意味着您已经编写了需要选择的代码,在这种情况下,这根本不是安装程序问题 - 您只需要找到操作系统的位数,然后安装相应的MSI文件(或VS生成的) SETUP.EXE)。如果它是C#启动器,您可能使用Environment.Is64BitOperatingSystem。
如果您要提供客户端程序将使用的代码(程序集,COM Dll等),那么您的问题并不能说明。我提到这一点是因为您的32位安装程序将在32位子系统中的64位操作系统版本上安装和运行。 64位版本可能只包含本机64位代码。
请注意,无论如何,您的64位安装程序都不会安装在32位操作系统上。