【发布时间】:2013-10-24 09:34:44
【问题描述】:
我已经构建了一个 VS2010 控制台应用程序。当我在没有必要 dll 的机器上运行此应用程序时,会弹出一个对话框,并显示消息“程序无法启动,因为您的计算机中缺少 MSVCR100.dll”。这很公平。
问题是程序挂起,直到有人单击确定。
这个程序是复杂的自动构建设置的一部分,所以我真的需要它以错误代码终止。
是否有任何解决方案(例如 VS2010 项目设置选项)我可以申请解决此问题?
【问题讨论】:
-
您可以尝试在启动应用程序之前调用SetErrorMode(假设您控制启动过程),但我不知道它是否适用于 DLL-not-found 消息框。
-
arx 是对的。我刚刚遇到了同样的问题,SetErrorMode(SEM_FAILCRITICALERRORS) 阻止了模式错误消息,而是 CreateProcess 调用成功但进程返回 STATUS_DLL_NOT_FOUND 作为退出代码
标签: c visual-studio-2010 winapi console-application