作为客户端 - 服务器软件包的一部分,我们有一个颁发证书的自定义CA.我需要能够在每个用户的计算机上将CA安装为受信任的根CA.为了实现这一点,我使用了IIS管理包中的Certificate
元素用于WiX(该证书不适用于IIS,但这符合我们的目的)。最初,我让安装程序将它放在本地机器商店中,但我们必须为每个用户安装我们的安装程序以避免需要提升,所以我现在必须将它存储在本地用户存储中。
我已将商店位置更改为currentUser
,但是现在每次运行安装程序时都会提示我安装证书的警告,以及有关删除和安装证书的警告当运行新版本的安装程序进行升级时。使用本地机器商店时,我没有收到这样的警告。
有没有办法执行以下任一操作:
答案 0 :(得分:2)
虽然这不是我问的确切解决方案,但我找到了一个对我有用的解决方案。
我在Permanent="true"
上为我的证书设置Component
,并给出了如下条件:
<Component Id="MyCert" Permanent="True">
<Certificate ... />
<Condition><![CDATA[SKIPCERT <> "YES"]]></Condition>
</Component>
这对我有用,因为我使用了一个bootstrapper应用程序来进行更新,所以当我升级时,我能够将名为SKIPCERT
的自定义变量传递给YES
。
Permanent="True"
与条件相结合意味着在卸载(或升级)时不会删除证书,当我安装更新时,它不会尝试再次安装。