为什么_WixCert_ {0-9}被WiX添加到证书友好名称?

Jar*_*man 7 windows windows-installer wix certificate

我正在将一些证书安装到localStore中,并且出于某些奇怪的原因,所有这些证书都以"_wixCert_0"或"_wixCert_1"为后缀.我试图在安装之前手动删除所有证书,以确保没有任何遗留,但它仍然发生.可能是什么原因?

这就是我如何定义证书:

<Component Id="MyCert_file" Guid="*">
    <File Id="MyCert" Name="MyCert.crt" Source="$(var.CertSourceDir)\MyCert.crt" />
</Component>

<Component Id="MyCert" Guid="..." KeyPath="yes">
    <iis:Certificate Id="MyCert"
                     Name="MyCert"
                     Request="no"
                     StoreLocation="localMachine"
                     StoreName="ca"
                     Overwrite="yes"
                     BinaryKey="MyCert"
                     />
</Component>
Run Code Online (Sandbox Code Playgroud)

证书将添加到certstore,但它们具有友好名称,如"MyCert_wixCerts_0"等.我无法弄清楚为什么会这样.

还有其他人吗?

Bri*_*ker 4

在 src\ca\serverca\scaexec\scacertexec.cpp 中的 WiX 源代码中,InstallCertificatePackage 方法在安装之前将“ wixCert ”和一个递增的唯一编号添加到证书名称中。看起来是为了确保该名称在证书存储中是唯一的。

UninstallCertificatePacket 方法尝试使用 CERTNAME_wixCert_ 前缀来查找要卸载的证书。

代码中的日志消息显示正在安装/卸载的证书名称以及添加到名称中的额外内容。