2014-11-14 122 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