фонПоставляя новый сертификат в WiX пластыре, когда старый один истекает
Я делаю исследование для моей работы по определению, если WiX является жизнеспособной альтернативой InstallShield. Поэтому я тестировал каждый сценарий, с которым столкнулась наша работа, чтобы WiX мог их обрабатывать. Тем не менее, я озадачен одной проблемой. Когда срок действия сертификата истечет, нам нужно будет создать патч, который включает новый сертификат, и подписанный старым сертификатом до истечения срока его действия, чтобы обеспечить плавное исправление без подсказок по повышению прав администратора.
Проблема
Существует не так много документации о том, как сделать именно это в Интернете. Я попытался добавить
<DigitalCertificate Id="MyNewCertificate" SourceFile="{PATH_TO_NEW_CERTIFICATE}"/>
к элементу PatchCertificates в WXS файл для создания MSI-файлы, а затем, используя старые и новые MSI-файлы для создания файла MSP. Когда я открываю файл MSP с помощью 7zip, я вижу, что в него встроен новый сертификат. Когда я тестирую его на заблокированной учетной записи, этот патч применялся без приглашения на повышение, но следующий патч, который был подписан новым сертификатом, показывает подсказку о высоте.
То, что я пытался
Я попытался следующие шаги в https://wyrdfish.wordpress.com/2012/07/20/writing-a-parallel-update/ для создания «параллельного» обновление, но сделать изменения, чтобы он работать с PatchCreation, а не патч. Я сопоставил все изменения атрибутов, но он по-прежнему показывает подсказку о высоте.
Wyrdfish прокомментировал: «Это весело, когда сертификат истекает, поскольку вам необходимо использовать исправление для доставки нового сертификата, подписанного старым сертификатом, до истечения срока его действия, чтобы затем вы могли подписываться новым сертификатом в будущих исправлениях. "в http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Require-admin-rights-to-msp-td7586837.html, но не указали подробные сведения о том, как это сделать. Нить - два года, поэтому я очень сомневаюсь, что я отвечу туда.
Я также попытался предоставить параметр/ac в файле signtool.exe с новым сертификатом, но получил ошибку перекрестной подписи.
Что именно я делаю неправильно? В новом файле MSI никаких других изменений нет, только новый элемент DigitalCertificate, который отражается в MSP. Нужно ли включать какое-то изменение файла или что-то еще? Или это процесс подписи?