Visual Studio 2008 64位部署项目未按预期部署64位VC90合并模块

时间:2012-11-15 23:30:40

标签: c++ visual-studio visual-studio-2008

我目前正在为64位二进制文​​件处理Microsoft Windows 2008的64位安装程序。其中一个先决条件是microsoft visual c ++ 2008运行时库,无法使用Microsoft可再发行组件包进行安装。我已经了解了Microsoft Visual Studio中使用的合并模块,并包含了以下四个:

Microsoft_VC90_ATL_x86_x64.msm Microsoft_VC90_CRT_x86_x86.msm policy_9_0_Microsoft_VC90_ATL_x86_64.msm policy_9_0_Microsoft_VC90_ATL_x86_64.msm

但是当我尝试在Windows 2008 R2 64位盒上安装64位安装程序时,我收到此错误(使用sxstrace.exe)

=================
Begin Activation Context Generation.
Input Parameter:
    Flags = 0
    ProcessorArchitecture = AMD64
    CultureFallBacks = en-US;en
    ManifestPath = C:\Program Files\Nimsoft\Nimsoft Robot x64\bin\nimbus.exe
    AssemblyDirectory = C:\Program Files\Nimsoft\Nimsoft Robot x64\bin\
    Application Config File = 
-----------------
INFO: Parsing Manifest File C:\Program Files\Nimsoft\Nimsoft Robot x64\bin\nimbus.exe.
    INFO: Manifest Definition Identity is (null).
    INFO: Reference: Microsoft.VC90.CRT,processorArchitecture="amd64",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.21022.8"
INFO: Resolving reference Microsoft.VC90.CRT,processorArchitecture="amd64",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.21022.8".
    INFO: Resolving reference for ProcessorArchitecture amd64.
        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_64\Microsoft.VC90.CRT\9.0.21022.8__1fc8b3b9a1e18e3b\Microsoft.VC90.CRT.DLL.
                INFO: Attempt to probe manifest at C:\Program Files\Nimsoft\Nimsoft Robot x64\bin\Microsoft.VC90.CRT.DLL.
                INFO: Attempt to probe manifest at C:\Program Files\Nimsoft\Nimsoft Robot x64\bin\Microsoft.VC90.CRT.MANIFEST.
                INFO: Attempt to probe manifest at C:\Program Files\Nimsoft\Nimsoft Robot x64\bin\Microsoft.VC90.CRT\Microsoft.VC90.CRT.DLL.
                INFO: Attempt to probe manifest at C:\Program Files\Nimsoft\Nimsoft Robot x64\bin\Microsoft.VC90.CRT\Microsoft.VC90.CRT.MANIFEST.
                INFO: Did not find manifest for culture Neutral.
            INFO: End assembly probing.
    ERROR: Cannot resolve reference Microsoft.VC90.CRT,processorArchitecture="amd64",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.21022.8".
ERROR: Activation Context generation failed.
End Activation Context Generation.

有什么东西我不包括在包装或某些我不使用的设置中吗?

2 个答案:

答案 0 :(得分:0)

这是因为无法找到dll Microsoft.VC90.CRT.DLL,它属于Microsoft Visual C++ 2008 Redistributable Package,您可以下载包here,然后安装该软件包并再试一次。

答案 1 :(得分:0)

您应该能够在

中找到合并模块

C:\ Program Files(x86)\ Common Files \ Merge Modules

(是的,即使64位合并模块也在那里)

如果他们不是那么你的2008装​​置就搞砸了。