You need to understand how the manifest is created for a C ++ program

When I run the executable that I created, I get the following error:

The system cannot execute the specified program.

I immediately thought that the problem was related to one of the VC8.0 redistributable DLLs ( msvcr80d.dlland others). We had several problems with patched versions of these DLLs affecting our programs.

When I opened my executable file under Dependency Walker, the following errors are displayed:

Error: The Side-by-Side configuration information in "w:\MYPROGRAM.EXE.manifest" 
       contains errors. This application has failed to start because the
       application configuration is incorrect. Reinstalling the application may
       fix this problem (14001).
Warning: At least one delay-load dependency module was not found.
Warning: At least one module has an unresolved import due to a missing export
         function in a delay-load dependent module.

If I open the manifest file for my executable file, it has the following in it:

<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity type='win32' name='Microsoft.VC80.DebugCRT' version='8.0.50727.762' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' />
    </dependentAssembly>
  </dependency>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity type='win32' name='Microsoft.VC80.DebugCRT' version='8.0.50727.4053' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' />
    </dependentAssembly>
  </dependency>
</assembly>

It seems to have 2 copies of the dependent assembly in it Microsoft.VC80.DebugCRT.

The build version is 8.0.50727.4053not included in my side-by-side configuration (I believe that this version comes with a Visual Studio patch that is not installed).

, .

, , .

? , - DLL, DLL, .

Update:

, . , , , Release, 8.0.50727.4053, Debug .

+3
1

. Visual ++ 2005 SP1 CRT MFC (8.0.50727.4053 8.0.50727.762). , , , . vcredist_x86.exe.

, VS ++ , VS ( ). , VS , VS .

+1

Source: https://habr.com/ru/post/1731977/


All Articles