Почему _wixCert_ {0-9} добавляется к дружественному имени сертификата по WiX? - PullRequest
6 голосов
/ 31 декабря 2010

Я устанавливаю некоторые сертификаты в 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>

Сертификаты добавляются в хранилище сертификатов, но имеют понятное имя, например «MyCert_wixCerts_0» и т. Д. Я не могу понять, почему это происходит.

Кто-нибудь еще делает?

1 Ответ

3 голосов
/ 03 января 2011

В исходном коде WiX в src \ ca \ serverca \ scaexec \ scacertexec.cpp метод InstallCertificatePackage добавляет « wixCert » и увеличивающийся уникальный номер к имени сертификата перед его установкой.Похоже, чтобы убедиться, что имя является уникальным в хранилище сертификатов.

Метод UninstallCertificatePacket пытается найти сертификаты с использованием префикса CERTNAME_wixCert_, чтобы найти сертификаты для удаления.

В коде есть сообщения регистрации, которые показывают имена сертификатов, которые он устанавливает / удаляет с дополнительнымматериал, добавленный к имени.

...