Исполняемый файл не подписан после установки через MSI

У нас есть приложение, для запуска которого требуется, чтобы пользователь был администратором. Итак, в app.manifest мы настроили

<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />

У нас есть ключ для подписи наших сборок, который я смог использовать для подписи MSI и исполняемого файла нашего приложения. Исполняемый файл приложения подписывается через signtool.exe в событии после сборки проекта.

Если я смотрю в каталоге bin, исполняемый файл действительно подписан правильно, но после того, как он упакован в msi и установлен на другой машине, исполняемый файл больше не подписан.

Обычно это не было бы серьезной проблемой, за исключением того, что нам требуются права администратора, поэтому, когда пользователь получает приглашение UAC, он отображает неизвестный издатель.

Как я могу подписать исполняемый файл после его упаковки в MSI?


person Seattle Leonard    schedule 18.10.2010    source источник
comment
Создайте setup.exe вместо .msi, подпишите его.   -  person Hans Passant    schedule 19.10.2010
comment
MSI может уйти и умереть, мне все равно.   -  person Joshua    schedule 08.02.2011


Ответы (1)


Наконец-то я нашел ответ в малоизвестном блоге.

Когда MSI скомпилирован, он не загружается из каталога bin, а из каталога obj. По сути, я подписывал неправильный исполняемый файл.

person Seattle Leonard    schedule 19.10.2010
comment
Можете ли вы опубликовать URL-адрес блога? - person phdesign; 08.02.2011
comment
Этой информации было достаточно, чтобы я понял, что не так с моим установщиком. Спасибо! - person Jeff Yates; 21.08.2012