有个问题理了很久没有理出头绪来,请大家帮我分析一下:
【表现】
   VC2005编写的程序在Windows 7 64bit 英文版上运行不出界面来,进程管理器中看到此进程,过几秒钟后消失。
【查看事件日志】
   Faulting application name: abc.exe, version: 1.0.13.1423, time stamp: 0x4f85220c
   Faulting module name: MSVCR80.dll, version: 8.0.50727.4927, time stamp: 0x4a2752ff
   Exception code: 0xc000000d
   Fault offset: 0x00015849
   Faulting process id: 0xa40
   Faulting application start time: 0x01cd3ef5ef44b83f
   Faulting application path: C:\test\abc.exe
   Faulting module path:   C:\Windows\WinSxS\x86_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.4927_none_d08a205e442db5b5\MSVCR80.dll
Report Id: 31b6650c-aae9-11e1-8d46-001d0912432e看起来是msvcr80.dll出现了错误,具体不知道错误原因。但是我有几个疑问:
一,可执行文件中要求的CRT是8.0.50727.762,为啥系统给调的是8.0.50727.4927?
二,如何使系统才能调用8.0.50727.762的msvcr80.dll?下面贴出来的是可执行文件中manifest的内容:
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
 <assemblyIdentity version="1.0.0.0" processorArchitecture="X86" name="OppoMobileAssistance" 
       type="win32"></assemblyIdentity>
  <description>abc</description>
  <dependency>
   <dependentAssembly>
    <assemblyIdentity type="win32" name="Microsoft.VC80.CRT" version="8.0.50727.762" 
        processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
   </dependentAssembly>
  </dependency>
  <dependency>
   <dependentAssembly>
    <assemblyIdentity type="win32" name="Microsoft.VC80.MFC" version="8.0.50727.762" 
        processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity>
   </dependentAssembly>
  </dependency>
  <dependency>
   <dependentAssembly>
    <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" 
        processorArchitecture="x86" publicKeyToken="6595b64144ccf1df" language="*"></assemblyIdentity>
   </dependentAssembly>
  </dependency>
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
   <security>
    <requestedPrivileges>
      <requestedExecutionLevel level="requireAdministrator" uiAccess="false"></requestedExecutionLevel>
    </requestedPrivileges>
   </security>
  </trustInfo>
</assembly>下面是WinSxs目录的内容: