Reprinted: http://hi.baidu.com/kiropower/item/167d96c0f1d71242a9ba9481
I used to use vc6. When packaging a program, I only need to take the corresponding EXE and DLL to run it. Recently, a project was developed using vc2005. Using previous experience, we copied the required DLL and EXE to a colleague's machine for running. An error was reported when the program was run, the error message is "the application configuration is incorrect, the program cannot be started, and re-installing the application may solve the problem". So I checked some information online, saying that the vc2005 Runtime Library is missing. So I asked my colleagues to install a vc2005 Runtime Library. After installation, an error occurs while running the program. The error message is "application initialization (0xc0150002) failed. Click OK to terminate the program ".
So I checked the information online, saying that the library on which the manifest file is dependent is missing. But which one is missing? The third-party libraries required by my program include Lua, luabind, and boost libraries. Find three useful information from the system tool-Event Viewer,
1: Generate activation context is c: \ Documents ents and Settings \ Administrator \ Desktop \ release (3) \ luabindd. dll failed. Refer to error message: the operation is successful.
2: failed to set resolve Partial Assembly to Microsoft. vc80.debugcrt. Reference error message: the reference assembly is not installed on the system.
3: The ancillary Assembly Microsoft. vc80.debugcrt cannot be found. The previous error was that the reference assembly was not installed on the system.
After reading this information, I wonder if it is because the luabind library fails to load? So I checked luabindd. DLL. manifest dependency, found it depends on Microsoft. the debug Runtime Library in vc80.debugcrt, and my program only contains Microsoft. vc80.crt release Runtime Library, So I re-compiled a lubind release library, modified the Lib of the project (dependent on the release lib of luabind), and re-compiled, put it on a colleague's machine and run normally.