我們創建了一個WIX安裝MSI,用於將證書安裝到機器存儲區。它向受信任的根證書頒發機構安裝一個根證書(GoDaddy Class 2證書頒發機構)。它適用於大多數機器,但它會失敗一些機器。我們懷疑組策略限制( http://technet.microsoft.com/en-us/library/cc754841.aspx),但該更改無法解決問題。下面是WIX定義和日誌文件的一部分,它顯示了錯誤發生的位置。WIX安裝無法將證書安裝到某些機器的根證書頒發機構
<DirectoryRef Id="ApplicationDirectory">
<Component Id="G.Root.Cert" Guid="{C6672075-1BFB-4158-86B4-8DD6D26BBC12}">
<CreateFolder />
<iis:Certificate Id="GoDaddy.Class2.Certificate"
Name="GoDaddy Class 2 Certificate"
Request="no"
StoreLocation="localMachine"
StoreName="root"
Overwrite="no"
BinaryKey="GoDaddy.Class2.Binary"
/>
</Component>
MSI(S)(B4:08)[11:58:21:952]:執行運算:CustomActionSchedule(動作= RollbackAddMachineCertificate,操作類型= 11521,源= BinaryData,目標= * *********,CustomActionData = **********) MSI(s4)(B4:08)[11:58:21:953]:執行op:ActionStart(Name = AddMachineCertificate ,,) 操作11:58:21:AddMachineCertificate。 (Action:AddMachineCertificate,ActionType = 11265,Source = BinaryData,Target = **********, CustomActionData = **********) MSI(s4)(B4:40)[11:58:21:980]:調用遠程自定義動作。 DLL:C:\ WINDOWS \ Installer \ MSI3EE3.tmp,入口點:AddMachineCertificate MSI(s4)(B4:D0)[11:58:21:981]:生成隨機cookie。 MSI(s4)(B4:D0)[11:58:21:982]:創建具有PID 9920(0x26C0)的自定義操作服務器。 MSI(B4:90)[11:58:22:042]:作爲服務運行。 MSI(B4:90)[11:58:22:043]:你好,我是你的32位升級自定義動作服務器。 AddMachineCertificate:刪除以友好名稱開頭的證書:GoDaddy Class 2 Certificate_wixCert_ AddMachineCertificate:添加證書:GoDaddy Class 2 Certificate_wixCert_1 AddMachineCertificate:錯誤0x80070005:無法將證書添加到商店。 MSI(s4)(B4!0C)[11:58:22:173]:注意:1:2205 2:3:錯誤 MSI(s)(B4!0C)[11:58:22:173]:注意:1:2228 2:3:錯誤4:選擇Message
從Error
其中Error
= 26352 安裝程序在安裝此程序包時遇到意外錯誤。這可能表明此軟件包存在問題。錯誤代碼是26352.參數是:-2147024891, MSI(B4!0C)[11:58:27:816]:注意:1:2205 2:3:錯誤 MSI(s)( B4!0C)[11:58:27:816]:注意:1:2228 2:3:錯誤4:SELECT Message
FROM Error
WHERE Error
= 1709 MSI(s)(B4!0C)[11:58:27 :816]:產品:Netsmart VR BA先決條件 - 安裝程序在安裝此軟件包時遇到意外錯誤。這可能表明此軟件包存在問題。錯誤代碼是26352.參數是:-2147024891,
AddMachineCertificate:錯誤0x80070005:無法安裝證書。 AddMachineCertificate:錯誤0x80070005:無法安裝每臺計算機證書。 CustomAction AddMachineCertificate返回實際的錯誤代碼1603(注意,如果在沙箱內部進行翻譯,這可能不是100%準確的) 操作結束11:58:27:InstallFinalize。返回值3. MSI(s4)(B4:08)[11:58:27:961]:User policy value'DisableRollback'is 0 MSI(s4)(B4:08)[11:58:27:962 ]:機器策略值'DisableRollback'是0 MSI(s4)(B4:08)[11:58:27:972]:執行op:Header(Signature = 1397708873,Version = 500,Timestamp = 1163681610,LangId = 1033 ,Platform = 0,ScriptType = 2,ScriptMajorVersion = 21,ScriptMinorVersion = 4,ScriptAttributes = 1)
我們對導致此問題的原因感到困惑。如果您對導致此問題的原因有任何想法,將不勝感激。
謝謝。
試試看:http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Certificate-install-to-local-machine-fails-with-code-26352-td1121050.html – 2014-11-14 18:44:19
謝謝,我會試試看。 – 2014-11-14 19:50:17
它看起來像是被報告爲2008年的一個bug ... http://sourceforge.net/p/wix/bugs/1369/而且應該修復在v3.5上。我認爲現在的問題是...您使用的WIX版本是什麼? – Rolo 2014-11-20 20:57:08