是否可以检查 Visual C++ MFC 应用程序启动时运行时?

发布于 2024-10-28 09:52:57 字数 105 浏览 3 评论 0原文

当 MFC 应用程序启动时,是否可以在显示“应用程序配置”错误之前检查 Visual C++ 运行时?

我认为它必须在 CRT 加载之前的某个时刻通过纯 Win32 API 完成。

When an MFC application starts, is it possible to check for the Visual C++ runtime before the "application configuration" error is displayed?

I assume it must be done via pure Win32 API at some point before the CRT loads.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

回眸一笑 2024-11-04 09:52:57

该错误来自操作系统,甚至在程序加载完成之前。程序的任何部分都没有运行,甚至没有初始化。因此,您的程序无法自行消除错误消息。

编辑:您可以将运行时 DLL 设置为 延迟加载 DLL 在没有运行时的情况下加载您的程序。然后,您必须用自己的函数替换 .exe 入口点,并让它检查运行时库是否存在。这种方法存在许多技术困难,我什至不确定它是否有效 - 但它可能是可能的。

The error is coming from the operating system, before your program is even finished loading. There is no part of the program, not even initialization, which has run yet. Thus no way your program can eliminate the error message by itself.

Edit: You might be able to set the runtime DLL as a delay-loaded DLL to get your program loaded in the absence of the runtime. Then you'd have to substitute your own function for the .exe entry point and have it check for the existence of the runtime library. There are many technical difficulties associated with this approach, and I'm not even sure it would work at all - but it might be possible.

无尽的现实 2024-11-04 09:52:57

好吧,您会收到该错误,因为您缺少可再发行组件。因此,您应该安装 Microsoft 的 VC++ 可再发行组件(作为应用程序的先决条件),而不是尝试类似的操作。我曾经在此处保存下载列表。

Well, you get that error because you're missing the redistributables. So instead of trying something like that, you should rather install the VC++ redistributables from Microsoft (as prerequisite for your application). I used to keep a list of the downloads here.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文