Неизвестен издател при подписване с Verisign

Опитвал съм се да разреша този проблем преди, но не успях да го разреша напълно. Всякакви предложения ще бъдат оценени.

Имам решение, което се разработва във Visual Studio 2010, което има няколко проекта, свързани с него. Тъй като решението инсталира услуга и приложение за панел, за да я контролира, панелът трябва да се стартира като администратор.

Подписвам всеки dll и exe със сертификат на Verisign и регистрационният файл съобщава, че подписването е успешно. Първоначално използвах скрипт, за да подпиша всичко, преди да създам инсталатора. След това се опитах да подпиша всичко преди и след това. Наскоро реших, че съм решил проблема, като преместих подписването на всеки проект към събитие след изграждане на проекта.

При инсталиране името на компанията се показва под издател, така че знам, че файловете на инсталатора се подписват правилно. Проблемът възниква след инсталиране, когато приложението се стартира. Изскачащият прозорец за защита на UAC се появява, но издателят е посочен като неизвестен.

Добавих събитие след изграждането към всеки проект, подобно на това:

c:\Verisign\signtool.exe знак /f "c:\Verisign\Certificate.2012.pfx" /p парола /t http://timestamp.verisign.com/scripts/timstamp.dll "C:\Code\Service\bin\App.dll"

Изглежда, че това трябва да работи. Може ли някой да ми каже какво правя грешно?


person Tim    schedule 04.02.2013    source източник


Отговори (1)


Най-накрая успях да разбера какво правя грешно тук. Използвах инсталатор на Windows, който използваше Project Output за файловете. Въпреки че тези файлове бяха подписани в папката bin, те вече не бяха подписани след инсталирането на приложението.

Вместо да използвам Project Output, добавих ръчно всички DLL и EXE файлове, които исках да бъдат включени в инсталатора. След като направите това, името на компанията започна да се показва, когато се появи изскачащият UAC прозорец.

Бих предпочел да използвам резултат от проекта, тъй като изглежда малко по-интегриран, но бих предпочел да имам работещо решение.

person Tim    schedule 19.06.2013