在 Windows 2008 R2 64 上安装 MFC(vs2005)应用程序

在 Windows 2008 R2 64 上安装 MFC(vs2005)应用程序

我构建了一个在 Windows 2003 上运行的应用程序,它是一个旧式 MFC 应用程序。今天我需要在 Windows 2008 R2 64 系统上安装该应用程序。安装过程中出现故障,应用程序无法运行。

应用程序使用 VisualStudio2005 构建,并使用 COM 对象。MSI 注册对象但失败,错误代码:HRESULT -2147010895。

知道为什么 COM 注册失败吗?

我尝试安装“Microsoft Visual C++ 2005 Redistributable Package (x86)”,但没有用。我尝试在安装后使用 regsvr32 注册 COM 对象,但遗憾的是没有用。我尝试在 Windows 2008 R2 32 上安装该应用程序,它运行正常。

我对 64 位系统还很陌生,因此如果能提供任何帮助我将非常感激。

蒂亚奥利奇

答案1

这个主题与 stackoverflow.com 问题更相关,但我找到了解决方案,因此我将在此分享。该应用程序最初是为 Windows NT 开发的,定义 WINVER 和 _WIN32_WINDOWS 设置为 0x0400(Windows NT)。为了解决这个问题,我“简单地”将两个定义更改为 Windows XP(0x0501),然后构建它,就这样。

对于我来说这非常神奇,因为我不了解其中的机制,但只要它有效就行。

希望它有帮助。olich

相关内容