我使用C++和Visual Studio 2008開發了一個64位的dll和我想要將其註冊使用「regsvr32.exe的」在目標機器上。我檢查清單文件,它明確指出需要什麼版本的CRT的:VC++ CRT的Redist問題
<assemblyIdentity type='win32' name='Microsoft.VC90.CRT' version='9.0.21022.8' processorArchitecture='amd64' publicKeyToken='1fc8b3b9a1e18e3b' />
當我嘗試註冊該文件,我總是得到一個並排方的錯誤消息,指出應用程序設置不正確我應該重新安裝它。
Log Error: Generate Activation Context failed... Reference error message: The referenced assembly is not installed on your system.
目標機器運行Windows XP專業版64位。我試圖安裝相應的VC++可再發行組件包(VC++ 2008的Redist x86和x64),創建一個安裝程序,包括相應的合併模塊(microsoft_vc90_crt_x86_x64.msm),安裝所有VC++可再發行組件包等。無論已安裝它總是會失敗。
如果我檢查依賴文件,它們正確位於WinSxS文件夾內,但是如果我在文件上運行Dependency Walker,它也會抱怨從VC9 CRT找不到文件。
如果我建立這將在32位操作系統上正確註冊爲32位的文件。我正在用盡所有的幫助,非常感激。
謝謝,
阿德里安。
編輯 *這是可複製的只有在Win XP 64,所有在Windows 7 64位正常工作。
這應該工作,記錄您的問題更好。複製並粘貼* exact *事件日誌消息,記錄正在使用的* exact * merge模塊。 – 2010-09-27 13:51:04