Как убедиться, что поле Publisher заполнено для моего ClickOnce * Bootstrapper *

У меня есть приложение, которое я развертываю через ClickOnce. Я делаю всю генерацию / подпись манифеста в скрипте MSBuild. До сегодняшнего дня мы использовали самогенерируемый сертификат, но теперь у меня есть сертификат от Verisign.

Я могу успешно подписывать свои манифесты с помощью mage.exe, а новый сертификат и поле «Издатель» отображаются правильно, когда я запускаю «myapp.Application» для установки приложения.

Однако, если я запускаю созданный мной для приложения загрузчик (setup.exe), установщик сообщает, что издатель неизвестен (как если бы я не подписывал свои манифесты). Я не могу понять, что мне нужно сделать с загрузчиком, чтобы издатель правильно отображался в диалоговом окне подтверждения установки. Я пробовал подписать Bootstrapper с помощью SignTool, но, похоже, это не имеет значения.

Псевдокод выглядит так:

  1. Создать манифест приложения (с помощью mage.exe)
  2. Подписать манифест приложения (с помощью mage.exe)
  3. Создание манифеста развертывания (с помощью задачи MSBuild GenerateDeploymentManifest)
  4. Подписать манифест развертывания (с помощью mage.exe)
  5. Создать загрузчик (с помощью задачи GenerateBootstrapper)
  6. Sign Boostrapper (с помощью SignTool.exe)

С удовольствием опубликую свой код, если нет очевидных проблем с моим рабочим процессом / инструментами.

Заранее спасибо!


person Jonah    schedule 24.01.2011    source источник


Ответы (1)


Вы пробовали подписать setup.exe с помощью SignTool?

Если это не сработает, добавьте цель «BeforePublish», отредактировав файл .csproj вашего приложения.

Проверьте здесь и вижу, что это помогает.

Не забудьте отметить как ответ, если поможет ... !!!

person csLijo    schedule 12.08.2013