错误:“BLAH.EXE”中的并排配置信息被删除 包含错误

发布于 2024-07-08 21:31:13 字数 498 浏览 4 评论 0原文

这是 Dependency Walker 在我使用 VC++ 2005 Express Edition 构建的可执行文件时给出的错误。 当尝试运行 .exe 时,我得到:(

This application has failed to start because the application configuration
is incorrect. Reinstalling the application may fix this problem.

我对 VC++ 2003 后的清单/SxS/等处理方式很陌生。)

编辑: 我在构建 .exe 的同一台机器上运行。 在事件查看器中,我有无用的:

Faulting application blah.exe, version 0.0.0.0, faulting module blah.exe,
version 0.0.0.0, fault address 0x004239b0.

This is the error Dependency Walker gives me on an executable that I am building with VC++ 2005 Express Edition. When trying to run the .exe, I get:

This application has failed to start because the application configuration
is incorrect. Reinstalling the application may fix this problem.

(I am new to the manifest/SxS/etc. way of doing things post VC++ 2003.)

EDIT:
I am running on the same machine I am building the .exe with. In Event Viewer, I have the unhelpful:

Faulting application blah.exe, version 0.0.0.0, faulting module blah.exe,
version 0.0.0.0, fault address 0x004239b0.

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

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

发布评论

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

评论(5

千纸鹤 2024-07-15 21:31:13

打开项目的属性表,转到配置属性 -> C/C++-> 代码生成页面,并将运行时库选择更改为 /MT 或 /MTd,以便您的项目不使用 DLL 运行时库。

VS2003 及更高版本使用的 C/C++ DLL 运行时不会随最新版本的操作系统自动分发,如果没有此类问题,安装和运行起来确实很痛苦。 静态链接 c 运行时,避免清单和特定于版本的运行时 dll 造成的混乱。

Open the properties sheet for your project, go to the Configuration Properties -> C/C++ -> Code Generation page, and change the Runtime Library selection to /MT or /MTd so that your project does not use the DLL runtime libraries.

The C/C++ DLL runtimes used by VS2003 and up are not automatically distributed with the latest version of the OS and are a real pain to install and get working without this kind of problem. statically link the c-runtime and just avoid the total mess that is manifests and version specific runtime dlls.

心凉怎暖 2024-07-15 21:31:13

我遇到过这个问题。 该解决方案分为两个步骤:
1. 在“发布”模式而不是“调试”模式下编译程序(工具栏中通常有一个组合框)
2. 从 Microsoft 下载 可再发行组件运行时组件的包。 请确保下载适用于 32 位计算机的 x86 版本和适用于 64 位计算机/操作系统的 x64 版本。 在目标计算机上安装此软件包,您的应用程序应该可以正常

运行 这是一个 SxS 的东西
PPS 或者,使用不同的编译器(例如 GCC,例如使用 Dev-Cpp)来编译程序源代码,您的头痛就会消失。

I've had this problem. The solution has two steps:
1. Compile your program in "Release" mode instead of "Debug" mode (there's usually a combo-box in the toolbar)
2. Download from Microsoft their Redistributable Package of runtime components. Make sure to download the x86 edition for 32-bit computers and the x64 edition for 64-bit computers/OSes. Install this package on the target computer, and your application should run fine

P.S. This is a SxS thing
P.P.S. Alternatively, use a different compiler (like GCC, for example with Dev-Cpp) to compile your program's source, and your headaches will disappear.

疯狂的代价 2024-07-15 21:31:13

很抱歉碰到一个老问题,但我能够解决这个确切的问题,并认为我会发布一个解决方案,以防其他人需要它...

即使在安装了 Microsoft 的可再发行 DLL 后,我仍然收到此错误,修复方法是 将文件夹复制

C:\Program Files\Microsoft Visual Studio 8\VC\redist\x86\Microsoft.VC80.CRT

到目标 PC 上的应用程序目录中。 之后,就没有更多问题了。

顺便说一句,给我带来问题的 DLL 是一个第 3 方 DLL,之前在 100 多台其他计算机上从未出现过问题......想想吧。

Sorry to bump an old question, but I was able to get around this exact issue and thought I'd post a solution in case someone else needs it...

Even after installing Microsoft's redistributable DLLs I was getting this error, the fix was to copy the

C:\Program Files\Microsoft Visual Studio 8\VC\redist\x86\Microsoft.VC80.CRT

folder into the application's directory on the target PC. After that, no more problems.

BTW, the DLL that was giving me issues was a 3rd-party DLL that had never had problems before on over 100 other computers... go figure.

箹锭⒈辈孓 2024-07-15 21:31:13

运行事件查看器:它将提供更多信息。

您可能尝试在未安装 VC 可再发行组件的计算机上运行程序,或者尝试在未安装 Visual Studio 的计算机上运行调试版本(调试库未安装)可重新分发)。

Run Event Viewer: it'll have more information.

Probably you've attempted to run your program on a machine that doesn't have the VC redistributables installed, or you're attempting to run a debug build on a machine that doesn't have Visual Studio installed (the debug libraries aren't redistributable).

傲世九天 2024-07-15 21:31:13

我在其他 winxp sp3 机器上使用 VS 2008 构建的调试二进制文件也遇到了同样的问题。

  1. 我首先尝试使用 vc redist 包安装客户端计算机,因为它看起来很合理。 令人烦恼的是,它不起作用
  2. 我尝试将所有依赖的 dll 复制到应用程序的目录中 - 仍然不起作用
  3. 在为这个问题困扰了几个小时后,我发现最新的 VS 版本需要清单和策略来与 dll 链接。 将它们复制到各自的“C:\WINDOWS\WinSxS\”文件夹后,我就可以工作了

该问题是由于 vc redist 包没有安装 dll 的调试版本而引起的,他们以某种方式认为这取决于程序员来解决。

I have had the same issue with VS 2008-built debug binaries on other winxp sp3 machines.

  1. I first tried installing the client machine with vc redist package,as it seemed sensible. Annoyingly, it didn't work.
  2. I tried copying all the dependent dlls to the application's directory - still didn't work
  3. After being struck over this issue for hours, I found that the latest VS builds require manifests and policies to link with the dlls. After copying them into their respective "C:\WINDOWS\WinSxS\" folders, I got it working.

The problem was caused due to the fact that the vc redist package did not install debug versions of dlls, they somehow thought its up to the programmer to figure out.

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