Неизвестный издатель по-прежнему отображается на правильно подписанном коде VSTO addin, построенном с помощью VS2010
у меня есть OneClick развернутый VSTO Addin, который я подписал с современным сертификатом подписи кода Verisign (PFX). Я проверил, что я правильно подписываю с поддержкой Verisign по телефону-они согласны. Я строю с VS2010. Тем не менее, Addin показывает "неизвестный издатель", когда я пытаюсь установить.
почему?
Как я могу заменить "неизвестный издатель" именем издателя в сертификате PFX?
вот что у меня сделано, чтобы попытаться решить проблему на сегодняшний день:
нашел этот вопрос о проблеме "неизвестный издатель" на Addins. The принят ответ на этот вопрос рассматривается использование
mage.exe
подписать манифесты развертывания и приложения.Я
mage.exe
применить подпись PFX к манифестам приложения и развертывания безрезультатно; "неизвестный издатель" по-прежнему отображается при установке дополнения. Только тогда видел ли я комментарий менеджера программ MS на странице последней ссылки, которую VSTO Addin построил под 2008 или ранее, не читают ни манифесты приложения, ни манифесты развертывания.затем я увидел комментарий того же MS program manager в нижней части ссылки на этой странице и утверждая, что начиная с VS2010, что VSTO Addin с издателем, указанным как указано на связанной странице, теперь будут читать манифесты и отображаться правильное имя издателя после установки надстройки.
Я сделал все это, и издатель на моем правильно подписанном коде OneClick Deployment по - прежнему показывает "неизвестный издатель" - почему?
1 ответов
Установить сертификат на локальном компьютере. в Проводнике Windows щелкните правой кнопкой мыши файл сертификата, выберите установить PFX и следуйте инструкциям.
убедитесь, что манифест проекта VSTO и сборка подписаны. в свойствах проекта VSTO на вкладке подпись следует проверить "подписать манифесты ClickOnce" (если нет, выберите файл PFX). "Подписать сборку" также следует проверить и используя тот же файл PFX.
после публикации VSTO вам нужно будет подписать манифест и опубликованный .vsto файлы из командной строки. Вам также нужно будет скопировать .dll из корзины в опубликованную папку перед запуском mage.exe (чтобы избежать ошибок" файл не найден"). Следуйте приведенному ниже синтаксису, и я настоятельно рекомендую подписать оба .vsto для безопасности.
.
set AppPublishPath=bin\Release\app.publish
set AppPublishVersionPath=bin\Release\app.publish\Application Files\MyProjectName_1_0_0_0
set CertificatePath=C:\SignedCertificate.pfx
set CertificatePassword=password
copy bin\*.dll "%AppPublishVersionPath%"
mage -update "%AppPublishVersionPath%\MyProjectName.dll.manifest" -certfile "%CertificatePath%" -Password %CertificatePassword%
mage -update "%AppPublishVersionPath%\MyProjectName.vsto" -appmanifest "%AppPublishVersionPath%\MyProjectName.dll.manifest" -certfile "%CertificatePath%" -Password %CertificatePassword%
mage -update "%AppPublishPath%\MyProjectName.vsto" -appmanifest "%AppPublishVersionPath%\MyProjectName.dll.manifest" -certfile "%CertificatePath%" -Password %CertificatePassword%
(Извините, если синтаксис да. Я скопировал его из своей собственной кодовой базы и изменил для простоты.)