我有一个程序拒绝在某些 Windows 7 机器上运行。使用sxstrace
,可执行文件声称需要 Microsoft.VC80.CRT/MFC 版本 8.0.50727.6195 和 8.0.50608.0。见下文。
> INFO: Parsing Manifest File C:\Program Files
> (x86)\PFPS\falcon\fvw.exe. INFO: Manifest Definition Identity is
> (null). INFO: Reference:
> Microsoft.VC80.CRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50727.6195"
> INFO: Reference:
> Microsoft.VC80.MFC,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50727.6195"
> INFO: Reference:
> Microsoft.VC80.CRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50608.0"
> INFO: Reference:
> Microsoft.VC80.MFC,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50608.0"
> INFO: Resolving reference
> Microsoft.VC80.CRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50727.6195".
> INFO: Resolving reference for ProcessorArchitecture WOW64.
> INFO: Resolving reference for culture Neutral.
> INFO: Applying Binding Policy.
> INFO: No publisher policy found.
> INFO: No binding policy redirect found.
> INFO: Begin assembly probing.
> INFO: Did not find the assembly in WinSxS.
> INFO: Attempt to probe manifest at C:\Windows\assembly\GAC_32\Microsoft.VC80.CRT\8.0.50727.6195__1fc8b3b9a1e18e3b\Microsoft.VC80.CRT.DLL.
> INFO: Did not find manifest for culture Neutral.
> INFO: End assembly probing. INFO: Resolving reference for ProcessorArchitecture x86.
> INFO: Resolving reference for culture Neutral.
> INFO: Applying Binding Policy.
> INFO: Find publisher policy at C:\Windows\WinSxS\manifests\x86_policy.8.0.microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.4940_none_516d712b0f495a45.manifest
> INFO: No binding policy redirect found.
> INFO: Begin assembly probing.
> INFO: Did not find the assembly in WinSxS.
> INFO: Attempt to probe manifest at C:\Windows\assembly\GAC_32\Microsoft.VC80.CRT\8.0.50727.6195__1fc8b3b9a1e18e3b\Microsoft.VC80.CRT.DLL.
> INFO: Attempt to probe manifest at C:\Program Files (x86)\PFPS\falcon\Microsoft.VC80.CRT.DLL.
> INFO: Attempt to probe manifest at C:\Program Files (x86)\PFPS\falcon\Microsoft.VC80.CRT.MANIFEST.
> INFO: Attempt to probe manifest at C:\Program Files (x86)\PFPS\falcon\Microsoft.VC80.CRT\Microsoft.VC80.CRT.DLL.
> INFO: Attempt to probe manifest at C:\Program Files (x86)\PFPS\falcon\Microsoft.VC80.CRT\Microsoft.VC80.CRT.MANIFEST.
> INFO: Did not find manifest for culture Neutral.
> INFO: End assembly probing. ERROR: Cannot resolve reference Microsoft.VC80.CRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="8.0.50727.6195".
> ERROR: Activation Context generation failed. End Activation Context
> Generation.
使用mt.exe
向我展示了相同的版本要求。
希望不相关,但我能够让它运行的唯一机器安装了 Visual Studio。
我按照 Hans Passant 在这个问题的评论中建议的那样做了,这导致我安装了 x86 版本。
在我安装新的可再发行组件之前,我有以下内容:
Microsoft Visual C++ 2005 Redistributable - KB2467175 version 8.0.51011
Microsoft Visual C++ 2005 Redistributable (x64) version 8.0.61000
Microsoft Visual C++ 2005 Redistributable (x64) - KB2467175 version 8.0.51011
在我安装了假定的 8.0.50727.6195 可再发行组件后,我最终得到:
Microsoft Visual C++ 2005 Redistributable version 8.0.61001
Microsoft Visual C++ 2005 Redistributable (x64) version 8.0.61000
Microsoft Visual C++ 2005 Redistributable (x64) - KB2467175 version 8.0.51011
我预计“之后”部分的顶线是8.0.50727.6195。我显然错过了一些东西。有人可以指出我正确的方向吗?我是不是连续 3 次得到错误的链接?
另外,这条线INFO: Find publisher policy at C:\Windows\WinSxS\manifests\x86_policy.8.0.microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.4940_none_516d712b0f495a45.manifest
是什么意思?它是否也依赖于 8.0.5727.4940?