2014-11-14 73 views
2

我們創建了一個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:選擇MessageError其中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)

我們對導致此問題的原因感到困惑。如果您對導致此問題的原因有任何想法,將不勝感激。

謝謝。

+0

試試看: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

+0

謝謝,我會試試看。 – 2014-11-14 19:50:17

+0

它看起來像是被報告爲2008年的一個bug ... http://sourceforge.net/p/wix/bugs/1369/而且應該修復在v3.5上。我認爲現在的問題是...您使用的WIX版本是什麼? – Rolo 2014-11-20 20:57:08

回答

2

我們遇到了同樣的問題,有時候是因爲用戶在私人商店中已經有密鑰。 WiX似乎沒有足夠的智能來覆蓋來自「更高」級別的其他商店的密鑰(或者完全覆蓋 - 不知道它是否是一個錯誤)。

我會檢查該證書是否已經安裝在用戶級別。

+0

你可能是對的。用戶還沒有迴應,所以我無法驗證它。謝謝。 – 2014-11-21 22:39:24

相關問題