Неизвестный издатель по-прежнему отображается на правильно подписанном коде VSTO addin, построенном с помощью VS2010

у меня есть OneClick развернутый VSTO Addin, который я подписал с современным сертификатом подписи кода Verisign (PFX). Я проверил, что я правильно подписываю с поддержкой Verisign по телефону-они согласны. Я строю с VS2010. Тем не менее, Addin показывает "неизвестный издатель", когда я пытаюсь установить.

почему?

Как я могу заменить "неизвестный издатель" именем издателя в сертификате PFX?

вот что у меня сделано, чтобы попытаться решить проблему на сегодняшний день:

  1. нашел этот вопрос о проблеме "неизвестный издатель" на Addins. The принят ответ на этот вопрос рассматривается использование mage.exe подписать манифесты развертывания и приложения.

  2. Я mage.exe применить подпись PFX к манифестам приложения и развертывания безрезультатно; "неизвестный издатель" по-прежнему отображается при установке дополнения. Только тогда видел ли я комментарий менеджера программ MS на странице последней ссылки, которую VSTO Addin построил под 2008 или ранее, не читают ни манифесты приложения, ни манифесты развертывания.

  3. затем я увидел комментарий того же MS program manager в нижней части ссылки на этой странице и утверждая, что начиная с VS2010, что VSTO Addin с издателем, указанным как указано на связанной странице, теперь будут читать манифесты и отображаться правильное имя издателя после установки надстройки.

Я сделал все это, и издатель на моем правильно подписанном коде OneClick Deployment по - прежнему показывает "неизвестный издатель" - почему?

1 ответов


  1. Установить сертификат на локальном компьютере. в Проводнике Windows щелкните правой кнопкой мыши файл сертификата, выберите установить PFX и следуйте инструкциям.

  2. убедитесь, что манифест проекта VSTO и сборка подписаны. в свойствах проекта VSTO на вкладке подпись следует проверить "подписать манифесты ClickOnce" (если нет, выберите файл PFX). "Подписать сборку" также следует проверить и используя тот же файл PFX.

  3. после публикации 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%

(Извините, если синтаксис да. Я скопировал его из своей собственной кодовой базы и изменил для простоты.)