WIX-установщик MSI Publisher неизвестен
Как указать имя издателя для установщика MSI, разработанного с помощью установщика WIX?
При установке моего установщика.msi показывается неизвестный издатель, как указать имя издателя? Возможно ли это сделать в WIX? Если это так, пожалуйста, помогите мне, как реализовать это с помощью установщика WIX.
2 ответа
Я думаю, что вы пытаетесь избежать предупреждения безопасности, которое отображается, когда кто-то устанавливает вашу установку. Для этого вам нужно будет подписать настройку своим сертификатом и личным ключом. Вы можете попытаться сделать это, выполнив действия, описанные в следующих ссылках:
- Как цифровой подписи файлов Microsoft
-
Подписание файлов.MSI и.EXE - Все, что вам нужно знать о подписи кода Authenticode
Предполагая, что вы ищете имя издателя в панели управления Programs and Features
, Вы могли бы использовать Manufacturer
атрибут в вашем Product
тег.
<Product Id="PUT-YOUR-GUID"
Manufacturer="PublisherName"
Name="ProductName"
UpgradeCode="PUT-YOUR-GUID"
Version="1.0.0">
Использование встроенного инструмента WiX insignia
довольно просто. Вот шаги, чтобы сделать кодовую подпись WiX MSI:
- Настройте
signtool
как командный файл в моем PATH, так что я могу вызвать его и легко изменить. Я использую Windows 10 и поэтому мой "signtool.bat" выглядит так:"c:\Program Files (x86)\Windows Kits\10\bin\x64\signtool.exe" %*
- Настроить
insignia
как пакетный файл в моем PATH тоже, так что вы можете изменить его с новыми сборками WiX, как они приходят. Мой "insignia.bat" выглядит так:"C:\Program Files (x86)\WiX Toolset v3.10\bin\insignia.exe" %*
- Подпишите мой MSI в событии после сборки (MSI Project -> Properties -> Build Events), вызвав это:
signtool sign /f "c:\certificates\mycert.pfx" /p cert-password /d "Your Installer Label" /t http://timestamp.verisign.com/scripts/timstamp.dll /v $(TargetFileName)
Дальнейшие заметки и мысли:
Я также подписал заявление (я думаю), просто делая
Project Properties -> Signing
и включение манифестов, запускаемых по клику, выбор сертификата и проверкаSign the assembly
вариант.Вот мой аналогичный ответ о том, как сделать то же самое, но для пакета начальной загрузки: использование знаков различия для подписи WiX MSI и пакета начальной загрузки