【问题标题】:WIX: Installing Patch without UAC elevation failsWIX:在没有 UAC 提升的情况下安装补丁失败
【发布时间】:2014-07-03 07:15:49
【问题描述】:

我遇到了一个突发问题。通常,我已经能够以某种方式为 MSI 安装包构建补丁,以便在应用补丁时不需要管理员权限 - 从而可以从标准用户帐户更新已安装的应用程序。引导程序 EXE、安装包 MSI 和补丁 MSP 都使用相同的有效证书进行签名。

然而,我突然遇到了一个问题,这不再起作用了。安装补丁时会弹出 UAC 对话框,要求输入管理员密码。所以,我启用了补丁安装日志,这是 Microsoft 安装程序告诉我的:

MSI (s) (58:40) [09:11:17:787]: Certificate of signed file 'C:\Windows\Installer\23f85ae.msp' differs in  size with the certificate authored in the package
MSI (s) (58:40) [09:11:35:025]: MSI_LUA: Credential Request return = 0x800704C7
This installation is forbidden by system policy. Contact your system administrator.

但是我用 (exe, msi, msp) 签署所有文件的证书是一样的。 有什么建议么? (WIX 用于创作安装包)

编辑: 另外,我尝试从构建的 MSI 和 MSP 包中提取证书,它们的大小相同。所以我真的不明白为什么我会在补丁的 Microsoft 安装程序日志中收到该错误消息。

【问题讨论】:

    标签: wix certificate installation patch uac


    【解决方案1】:

    我正在解决同样的问题。尝试安装 .msp 补丁时,安装程​​序给了我相同的消息:“签名文件的证书 'C:\Windows\Installer.....msp' 在大小上与包中创建的证书不同”

    我想分享我的解决方案。我花了两天时间才弄明白。

    我的问题是我嵌入到 MsiPatchCertificate 表中的证书格式不同。它必须是 DER 格式。要将证书从 PEM 转换为 DER 格式,请使用:

    openssl x509 -outform der -in cert.pem -out cert.cer

    【讨论】:

    • 感谢您分享您的问题和解决方案!如果/当我再次遇到这个问题时,我会检查一下。 :)
    【解决方案2】:

    好的,我终于找到了问题,确实有一个证书正在编写到包中,并且它的截止日期已经过去很久了。不过,为什么直到现在才遇到安装问题,而不久前才遇到安装问题仍然是个谜。

    哦,好吧……

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多