【发布时间】:2013-06-04 15:13:13
【问题描述】:
我最近遇到了这个问题。我在 Visual Studio 2008 中有一个简单的基于控制台的项目,我在发布模式下构建并发布了它。
我们发现在干净的 windows xp sp3 机器上,双击可执行文件并没有启动,并抛出一个错误,提示“配置不正确”。我们通过在系统上安装 VS2008 可再发行包解决了这个问题。我的问题是:
1- 为什么会这样?它并没有发生在所有 xp 机器上,但其中一些机器上发生了。令人难以置信的是,运行简单的 win32 程序所需的文件在 windows xp sp3 中默认不存在。那么notepad.exe和其他程序在哪里运行呢?我考虑的一种可能性可能是操作系统中存在的运行时文件较旧,而 exe 清单指的是较新版本的文件。但我想知道是否是这种情况,因为 VS 2008 本身已经很老了。让我知道你的想法。
2- 由于我必须在很多机器上运行 exe,我正在考虑一种方法,通过 VS 2008 中的 win32 程序静态链接所有需要的库。我知道链接器选项中的 /MT 开关,但想知道它是否会处理所有运行时库(C++ 库和其他 Windows 库)。
谢谢。
【问题讨论】:
-
听起来目标系统上没有安装 Visual C(可再发行)运行时库。我自己遇到并解决了这个问题,但记不住正确答案。我相信很快会有其他人想出一个。
-
感谢 Adrian 的回复,不确定是否有回复,但实际上有人为这个问题对我进行了 -1 分,而没有发表任何评论。太好了!
-
我认为没有理由反对,所以取消它。
标签: visual-studio winapi win32-process