I have also encountered this problem. The solution is as follows:
Solution 1: Select "no" for "enable incremental link" in "properties | configuration properties | linker | General" of the project ". This method blocks the source of the problem. Each time an EXE file is generated, the inventory file is directly embedded, instead of deciding whether to update the inventory file based on the timestamp by default.
Solution 2: Do not embed the inventory file. In "properties | configuration tools | input and output" of the project, select "no" for "embedded list ", therefore, an inventory file is generated along with the generation of the EXE file (by default, the file name is called the full name of the EXE file plus ". manifest ") to avoid the possibility of failure to embed the inventory file.
Thank you!
Recently I wrote an MFC program under vc6 in a project, and the result was uploaded to another machine (win7). The application initialization failed (0xc0150002, at that time, I thought it was a problem with win7. Later I copied the program to a WINXP SP3 program.
Why can't I run it on another machine?
Start Google and find a solution. When an error occurs in program execution, right-click "my computer", click "manage", and then click "Event Viewer ", finally, let's take a look at the "System". The information is as follows:
(1) The ancillary Assembly Microsoft. vc80.debugcrt cannot be found. The last error was that the License Image assembly was not installed on the system.
(2) failed to set resolve Partial Assembly to Microsoft. vc80.debugcrt. Failed exam error message: the License Image compilation is not installed on the system. (3) generate activation context: C:/scanfile/debug/libclamavd. dll failed. Failed exam error message: Operation completed successfully. It can be inferred that a problem occurred while loading libclamavd. After reading its manifest file, its dependent library is Microsoft. vc80.debugcrt, the problem is very obvious, this DLL is compiled under vs2005, and other machines do not have this environment, The compiled application is incorrectly generated because the VC execution library of the required debug version is missing. Solution: Go to the vs2005 installation folder on my machine, and search for a string of Microsoft. vc80.debugcrt file, which has three DLL files (msvcm80d. DLL, msvcp80d. DLL, msvcr80d. DLL) and a manifest file (Microsoft. vc80.debugcrt. manifest), copied to the project running file folder on another user's machine, the problem is solved. From this issue, we can find several points: (1) using tools to help locate problems: Event Viewer, depends Walker, etc. (2) search efficiency, for example, you can directly search for "application initialization failed 0xc0150002" to obtain a lot of noise information... PS: the solution to the Internet is to download Vcredist_x86. I tried it...