Я создал установщик MSI с помощью Visual Studio 2008. Затем я подписываю его с помощью signtool.exe и моего сертификата аутентификации.

На тестовом ПК с Vista x64 при запуске MSI появляется ожидаемое диалоговое окно, определяющее мою компанию как издателя.

Однако при удалении программы из «Установка и удаление программ» отображается желтое диалоговое окно «Неопознанный издатель».

Есть ли способ подписать процесс удаления? Google не показывает ничего полезного.

Большое спасибо,

Крис

4
Chris Wood 26 Июл 2009 в 17:50

2 ответа

Когда вы устанавливаете MSI, полезная нагрузка удаляется из него, а очищенный пакет MSI хранится локально, поскольку этот пакет необходим для запуска процесса удаления и восстановления. Поскольку кэшированный пакет был изменен, контрольные суммы в подписи будут изменены, так что подпись будет нарушена.

1
Stephen Connolly 13 Апр 2011 в 00:40
Странно, у меня отлично работает в Windows 7 - весь пакет, включая полезную нагрузку, кэшируется в %WinDir%\Installer
 – 
saschabeaumont
14 Апр 2011 в 08:04
Вы проверяли цифровые подписи кэшированных файлов? все они отображаются как сломанные. Также поведение может зависеть от ваших настроек UAC. На моем рабочем столе DEV, где у меня установлен UAC, чтобы он не постоянно пилил меня, удаление проходит нормально. На моих виртуальных машинах с UAC, установленным на «анальный», при удалении появляется запрос.
 – 
Stephen Connolly
14 Апр 2011 в 15:31
Да, цифровые подписи на файлах все еще действительны. Я установил UAC настолько высоко, насколько это позволяет моя машина для разработки, так что я (надеюсь) уловлю эти ошибки до того, как их отправят в производство.
 – 
saschabeaumont
18 Апр 2011 в 05:54