【发布时间】:2023-04-01 03:47:01
【问题描述】:
我有一个在 Windows 2003 32 位机器上编译的 32 位应用程序。
当我尝试在 Windows Server 2008 或 Windows 7 上安装它时,我收到一条错误消息“无法启动应用程序 0xc0000142”
而且,我使用的是 Visual Studio 2008,我尝试设置 x64、x86 和混合平台的配置,但仍然没有成功。
如果我遗漏了任何明显的信息或需要更多信息,请告诉我。
它可以在 Server 2003 64 位上正常运行。
【问题讨论】:
-
嗯...32 位程序可以在 64 位上运行...所以这不能是(唯一)原因。
-
您是否在目标机器上安装了正确版本的 Visual C++ 运行时库?
-
程序使用的 DLL 之一的 DllMain() 函数返回 FALSE。你需要一个调试器。
-
它是否以非管理员帐户在 Server 2003 上运行?您可能违反了最小权限原则,UAC 正在追赶您(在 Vista、7、Win2k8、Win2k8R2 上)
-
尝试在跟踪模式下运行Dependency Walker - 这将向您准确显示加载失败的内容。
标签: c++ visual-studio-2008 visual-c++ windows-server-2008