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

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

Зачем?

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

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

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

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

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

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

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%

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

Другие вопросы по тегам