Visual Studio 2008 64 位部署项目未按预期部署 64 位 VC90 合并模块
Posted
技术标签:
【中文标题】Visual Studio 2008 64 位部署项目未按预期部署 64 位 VC90 合并模块【英文标题】:Visual Studio 2008 64 bit Deployment Project does not deploy 64 bit VC90 merge modules as expected 【发布时间】:2012-11-15 23:30:40 【问题描述】:我目前正在为 Microsoft Windows 2008 的 64 位二进制文件开发 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.
是否有一些我没有包含在包装中的东西或一些我没有使用的设置?
【问题讨论】:
【参考方案1】:这是因为找不到dll Microsoft.VC90.CRT.DLL
,它属于Microsoft Visual C++ 2008 Redistributable Package
,你可以下载包here,然后安装那个包再试一次。
【讨论】:
【参考方案2】:你应该能够在
中找到合并模块C:\Program Files (x86)\Common Files\Merge Modules
(是的,即使是 64 位合并模块也在那里)
如果不是,那么您 2008 年的安装就搞砸了。
【讨论】:
以上是关于Visual Studio 2008 64 位部署项目未按预期部署 64 位 VC90 合并模块的主要内容,如果未能解决你的问题,请参考以下文章
“未指定的错误”Visual Studio 2008 64 位
执行 64 位应用程序需要 Visual Studio Redistributable 包 x64?
将 Visual Studio 2008(在 Windows 7 64 位操作系统中)与 Windows Mobile 手持设备 6.5.3 连接
visual studio 2008 (ssis连接oracle数据库)未在本地计算机上注册OraOLEDB.Oracle.1