2015-07-07 6 views
4

фонПоставляя новый сертификат в 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. Нужно ли включать какое-то изменение файла или что-то еще? Или это процесс подписи?

ответ

1

Обнаружена проблема с моим исправлением. Для тех, кто работает с аналогичной проблемой, вам нужно иметь ProductCode, указанный в элементе PatchSequence PatchCreation, это тот же идентификатор GUID, что и идентификатор продукта для построения MSI. У меня не было этой ссылки, которая, по-видимому, вызывала проблемы. Теперь он не поднимается для администратора. Объедините это с инструкциями, приведенными в ссылке, указанной в вопросе, и вы настроены на клонирование LUA.

 Смежные вопросы

  • Нет связанных вопросов^_^