Пошаговое руководство. Развертывание вручную приложения ClickOnce, которое не нуждается в повторном подписывании и которое сохраняет фирменную символику
При создании приложения ClickOnce и передаче его клиенту для публикации и развертывания клиент традиционно должен был обновить манифест развертывания и подписать его заново. Хотя в большинстве случаев этот метод по-прежнему остается предпочтительным, платформа .NET Framework 3.5 позволяет создавать развертывания ClickOnce, которые могут развертываться клиентами без повторного создания нового манифеста развертывания. Дополнительные сведения см. в разделе Развертывание приложений ClickOnce для тестовых и рабочих серверов без повторного подписывания.
При создании приложения ClickOnce и последующей передачи его клиенту для публикации и развертывания приложение может использовать торговую марку клиента или сохранять торговую марку создателя приложения. Например, если приложение является одиночным фирменным приложением, у создателя может возникнуть желание сохранить свою торговую марку. Если в приложении выполняется большой объем настроек для каждого клиента, возможно, потребуется использовать торговую марку клиента. Платформа .NET Framework 3.5 позволяет сохранять стиль компании, сведения об издателе и подпись безопасности при передаче приложения в организацию для развертывания. Дополнительные сведения см. в разделе Создание приложений ClickOnce для развертывания другими.
Примечание
В этом разборе примера создаются развертывания вручную с помощью средства командной строки, Mage.exe, или графического средства, MageUI.exe.Дополнительные сведения о развертывания вручную см. в разделе Разбор примера: развертывание вручную приложения ClickOnce.
Обязательные компоненты
Для выполнения шагов в этом разборе примера необходимо следующее:
Приложение Windows Forms, которое готово для развертывания. Это приложение будет упоминаться как WindowsFormsApp1.
Visual Studio или SDK для Windows.
Чтобы развернуть приложение ClickOnce с поддержкой нескольких развертываний и фирменного стиля, используя Mage.exe
Откройте окно командной строки Visual Studio или командной строки SDK для Windows и измените каталог, в котором будут храниться файлы ClickOnce.
Создайте каталог, называемый по текущей версии развертывания. Если приложение развертывается в первый раз, скорее всего будет выбрана версия 1.0.0.0.
Примечание
Версия развертывания может отличаться от версии файлов приложения.
Создайте подкаталог, именуемый как bin, и скопируйте в него все файлы приложения, включая исполняемые файлы, сборки, ресурсы и файлы данных.
Создайте манифест приложения, вызвав программное средство Mage.exe.
mage -New Application -ToFile 1.0.0.0\WindowsFormsApp1.exe.manifest -Name "Windows Forms App 1" -Version 1.0.0.0 -FromDirectory 1.0.0.0\bin -UseManifestForTrust true -Publisher "A. Datum Corporation"
Подпишите манифест приложения своей цифровой подписью.
mage -Sign WindowsFormsApp1.exe.manifest -CertFile mycert.pfx
Создайте манифест развертывания, вызвав программное средство Mage.exe. По умолчанию программное средство Mage.exe пометит развертывание ClickOnce как установленное приложение, чтобы оно могло выполняться как в интерактивном, так и в автономном режиме. Чтобы сделать приложение доступным только тогда, когда пользователь находится в интерактивном режиме, используйте аргумент -i со значением f. Поскольку это приложение будет использовать преимущества поддержки нескольких развертываний, исключите аргумент -providerUrl для программного средства Mage.exe. (В версиях .NET Framework, предшествующих версии 3.5, исключение аргумента -providerUrl для автономного приложения приводит к ошибке.)
mage -New Deployment -ToFile WindowsFormsApp1.application -Name "Windows Forms App 1" -Version 1.0.0.0 -AppManifest 1.0.0.0\WindowsFormsApp1.manifest
Не подписывайте манифест развертывания.
Предоставьте все файлы клиенту, развертывающему приложение в своей сети.
На этом этапе клиент должен подписать манифест развертывания своим собственным самообразующимся сертификатом. Например, если клиент работает на компанию "Adventure Works", он может создать собственный сертификат, используя средство MakeCert.exe. Далее используйте средство Pvk2pfx.exe, чтобы объединить файлы, созданные средством MakeCert.exe, в PFX-файл, который может быть передан в программное средство Mage.exe.
makecert -r -pe -n "CN=Adventure Works" -sv MyCert.pvk MyCert.cer pvk2pfx.exe -pvk MyCert.pvk -spc MyCert.cer -pfx MyCert.pfx
Затем клиент использует этот сертификат для подписания манифеста развертывания.
mage -Sign WindowsFormsApp1.application -CertFile MyCert.pfx
Клиент развертывает приложение для своих пользователей.
Чтобы развернуть приложение ClickOnce с поддержкой нескольких развертываний и фирменного стиля, используя MageUI.exe
Откройте окно командной строки Visual Studio или командной строки SDK для Windows и перейдите в каталог, в котором будут храниться файлы ClickOnce.
Создайте подкаталог, именуемый как bin, и скопируйте в него все файлы приложения, включая исполняемые файлы, сборки, ресурсы и файлы данных.
Создайте подкаталог, называемый по текущей версии развертывания. Если приложение развертывается в первый раз, скорее всего будет выбрана версия 1.0.0.0.
Примечание
Версия развертывания может отличаться от версии файлов приложения.
Переместите каталог \bin в каталог, созданный на шаге 2.
Запустите графическое средство MageUI.exe.
MageUI.exe
Создайте новый манифест приложения, выбрав в меню Файл команды Создать, Манифест приложения.
На открытой по умолчанию вкладке Имя введите имя и номер версии данного развертывания. Кроме того, присвойте значение параметру Издатель, которое будет использоваться как имя папки для ссылки на ярлык приложения в меню "Пуск" при развертывании приложения.
Перейдите на вкладку Параметры приложения и щелкните Использовать манифест приложения для сведений о доверии. Эти действия включат фирменный стиль сторонней организации для данного приложения ClickOnce.
Перейдите на вкладку Файлы и нажмите кнопку Обзор рядом с текстовым полем "Каталог приложения".
Выберите каталог, содержащий файлы приложения, которые были созданы на шаге 2, и нажмите кнопку OK в диалоговом окне выбора папки.
Нажмите кнопку Заполнить, чтобы добавить все файлы приложения в список файлов. Если приложение содержит более одного исполняемого файла, пометьте главный исполняемый файл для этого приложения как приложение, активизируемое при запуске, выбрав пункт Точка входа в раскрывающемся списке Тип файла. (Если приложение содержит только один исполняемый файл, средство MageUI.exe пометит его автоматически.)
Перейдите на вкладку Требуемые разрешения и выберите уровень доверия, который требуется обеспечить приложению. По умолчанию установлено Полное доверие, которое подходит для большинства приложений.
Выберите в меню Файл команду Сохранить и сохраните манифест приложения. При сохранении манифеста приложения выводится запрос на подписание манифеста приложения.
При наличии сертификата, хранящегося в виде файла в файловой системе, выберите вариант Подписывать с файлом сертификата и выберите сертификат в файловой системе, нажав кнопку с многоточием (...).
- или -
Если сертификат хранится в хранилище сертификатов, доступ к которому можно получить с компьютера, установите режим Подписать хранимым сертификатом и выберите сертификат из предлагаемого списка.
Последовательно выберите в меню Файл пункты Создать, Манифест развертывания, чтобы создать манифест развертывания, а затем на вкладке Имя укажите имя и номер версии (1.0.0.0 в этом примере).
Перейдите на вкладку Обновление и укажите, как часто требуется обновлять это приложение. Если приложение использует API развертывания ClickOnce для самостоятельной проверки обновлений, снимите флажок Это приложение должно проверять наличие обновлений.
Перейдите на вкладку Ссылка приложения. Можно предварительно заполнить все значения на этой вкладке, нажав кнопку Выбрать манифест и выбрав манифест приложения, созданный на предыдущих шагах.
Выберите Сохранить и сохраните манифест развертывания на диск. При сохранении манифеста приложения будет выведен запрос на его подписание. Нажмите кнопку Отменить, чтобы сохранить манифест без его подписания.
Предоставьте клиенту все файлы приложения.
На этом этапе клиент должен подписать манифест развертывания своим собственным самообразующимся сертификатом. Например, если клиент работает на компанию "Adventure Works", он может создать собственный сертификат, используя средство MakeCert.exe. Далее используйте средство Pvk2pfx.exe, чтобы объединить файлы, созданные программой MakeCert.exe, в PFX-файл, который может быть передан в MageUI.exe.
makecert -r -pe -n "CN=Adventure Works" -sv MyCert.pvk MyCert.cer pvk2pfx.exe -pvk MyCert.pvk -spc MyCert.cer -pfx MyCert.pfx
Имея созданный сертификат, клиент теперь подписывает манифест развертывания, открывая манифест развертывания в MageUI.exe и затем сохраняя его. Когда открывается диалоговое окно подписания, клиент выбирает режим Подписать как файл сертификата и выбирает PFX-файл, сохраненный на диске.
Клиент развертывает приложение для своих пользователей.
См. также
Ссылки
Mage.exe (средство создания и редактирования манифеста)
MageUI.exe (средство создания и редактирования манифестов, графический клиент)