Пошаговое руководство. Развертывание приложения ClickOnce вручную

Обновлен: Ноябрь 2007

В этом разборе примера описываются шаги, которые необходимо выполнить для создания полного развертывания ClickOnce с помощью окна командной строки или графической версии средства создания и редактирования манифеста (Mage).

Если вы пользуетесь Visual Studio нерегулярно, нуждаетесь в автоматизации процесса развертывания или нуждаетесь в использовании расширенных функций развертывания, например технологии развертывания доверенных приложений, следует использовать средство командной строки Mage.exe, чтобы создать манифесты ClickOnce. В следующем разборе примера рассматриваются все шаги, которые необходимо выполнить для создания полного развертывания ClickOnce с помощью одной из версий средства создания и редактирования манифеста: версии командной строки (Mage.exe) или версии Windows Forms (MageUI.exe).

Обязательные компоненты

Этот разбор примера написан в предположении, что имеется приложение Windows Forms, готовое к развертыванию. Это приложение упоминается как WindowsFormsApp1. Необходимо также установить SDK (пакет средств разработки программного обеспечения) для Windows.

Существует ряд вопросов, которые необходим решить до создания развертывания. Первое и самое главное заключается в том, как будет распространяться развертывание: через Интернет, из общего файлового ресурса или путем установки с компакт-диска. Дополнительные сведения см. в разделе Обзор развертывания ClickOnce.

Далее необходимо определить, будет ли приложение запускаться с повышенным уровнем доверия. Как обсуждалось в разделе Общие сведения о развертывании доверенных приложений, по умолчанию приложения ClickOnce выполняются в зоне с частичным доверием, причем их точные разрешения определяются тем, размещены они в интрасети или из Интернета. Если приложению требуется доступ к данным на клиентском компьютере, взаимодействие с локальными устройствами, вызовы функций API Windows или выполнение других потенциально опасных операций, оно должно доказать более высокий уровень доверия. Если приложению требуется полное доверие — например полный доступ к пользовательской системе — можно легко установить этот уровень разрешения, используя Mage.exe. Если для приложения требуется определить настраиваемый набор разрешений, можно скопировать раздел разрешений Интернета или интрасети из другого манифеста, изменить их согласно конкретным требованиям и добавить этот раздел в манифест приложения, используя текстовый редактор или MageUI.exe.

Два метода доказательства более высокого уровня доверия в манифесте ClickOnce — повышение уровня разрешений и развертывание доверенных приложений. В обоих случаях развертывание должно быть подписано с помощью сертификата Authenticode, созданного с помощью средства MakeCert.exe либо полученного из центра сертификации. Если для использования выбрана технология развертывания доверенных приложений, необходимо также выполнить одноразовую установку сертификата на все клиентские компьютеры. Дополнительные сведения см. в разделе Общие сведения о развертывании доверенных приложений.

Чтобы развернуть приложение с помощью средства командной строки Mage.exe

  1. Откройте окно командной строки SDK для Windows и измените каталог, в котором будут храниться файлы ClickOnce.

  2. Создайте каталог, называемый по текущей версии развертывания. Если приложение развертывается в первый раз, скорее всего будет выбрана версия 1.0.0.0.

    xc3tc5xx.alert_note(ru-ru,VS.90).gifПримечание.

    Версия развертывания может отличаться от версии файлов приложения.

  3. Создайте подкаталог в этой папке с именем bin и поместите в него все файлы приложения, включая исполняемые файлы, сборки, ресурсы и файлы данных

  4. Создайте манифест приложения посредством вызова 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
    
  5. Подпишите манифест приложения своим цифровым сертификатом:

    mage -Sign WindowsFormsApp1.exe.manifest -CertFile mycert.pfx
    
  6. Создайте манифест развертывания, вызвав программное средство Mage.exe. Mage.exe по умолчанию пометит развертывание ClickOnce как установленное приложение, чтобы оно могло выполняться как в интерактивном, так и в автономном режиме. Чтобы сделать приложение доступным только тогда, когда пользователь находится в интерактивном режиме, используйте флажок -i со значением f. Если используется значение по умолчанию, и пользователи установят приложение с веб-узла или общего файлового ресурса, убедитесь, что значение флажка "-providerUrl" указывает на местоположение манифеста приложения на веб-сервере или общем ресурсе.

    mage -New Deployment -ToFile WindowsFormsApp1.application -Name "Windows Forms App 1" -Version 1.0.0.0 -AppManifest 1.0.0.0\WindowsFormsApp1.manifest -providerUrl http://www.adatum.com/WindowsFormsApp1/WindowsFormsApp1.application
    
  7. Подпишите манифест развертывания своим сертификатом:

    mage -Sign WindowsFormsApp1.application -CertFile mycert.pfx
    
  8. Скопируйте все файлы в текущем каталоге — включая папку версии и папку "\bin" — по адресу развертывания. Это может быть папка на веб-узле или FTP-узле, общий файловый ресурс или компакт-диск.

  9. Предоставьте своим пользователям URL-адрес, UNC-имя или физический носитель, необходимые для установки приложения. Если указывается URL-адрес или UNC-имя, необходимо предоставить пользователям полный путь к манифесту развертывания. Например, если WindowsFormsApp1 развертывается на веб-узле http://webserver01/ в каталог WindowsFormsApp1, полный URL-путь был бы http://webserver01/WindowsFormsApp1/WindowsFormsApp1.deploy.

Развертывание приложения с помощью графического средства MageUI.exe

  1. Откройте окно командной строки SDK для Windows и перейдите в каталог, в котором будут храниться файлы ClickOnce.

  2. Создайте подкаталог с именем bin и поместите в него все файлы приложения, включая исполняемые файлы, сборки, ресурсы и файлы данных.

  3. Создайте подкаталог, называемый по текущей версии развертывания. Если приложение развертывается в первый раз, скорее всего будет выбрана версия 1.0.0.0.

    xc3tc5xx.alert_note(ru-ru,VS.90).gifПримечание.

    Версия развертывания может отличаться от версии файлов приложения.

  4. Переместите каталог \bin в папку, созданную на шаге 2, а затем запустите графическое средство:

    MageUI.exe
    
  5. Создайте новый манифест приложения, последовательно выбрав в меню Файл команды Создать и Манифест приложения.

  6. На вкладке Имя по умолчанию введите имя и номер версии для данного развертывания.

  7. Перейдите на вкладку Файлы и нажмите кнопку Обзор... рядом с текстовым полем "Каталог приложения".

  8. Выберите каталог, содержащий файлы приложения, которые были созданы на шаге 2, и нажмите кнопку OK в диалоговом окне выбора папки.

  9. Нажмите кнопку Заполнить, чтобы добавить все файлы приложения в список файлов. Если приложение содержит более одного исполняемого файла, пометьте главный исполняемый файл для этого приложения как приложение, активизируемое при запуске, выбрав пункт Точка входа в раскрывающемся списке Тип файла. (Если приложение содержит только один исполняемый файл, средство MageUI.exe пометит его автоматически.)

  10. Перейдите на вкладку Требуемые разрешения и выберите уровень доверия, который должно доказать приложение. Значение по умолчанию — Полное доверие, которое подойдет для большинства приложений.

  11. В меню Файл выберите команду Сохранить и сохраните манифест приложения. При сохранении манифеста приложения выводится запрос на подписание манифеста приложения.

  12. Если имеется сертификат, хранящийся как файл в файловой системе, используйте параметр Подписать как файл сертификата и выберите сертификат в файловой системе, нажав кнопку ....

    -или-

    Если сертификат хранится в хранилище сертификатов, доступном с компьютера, установите режим Подписывать хранящимся сертификатом и выберите сертификат из предоставляемого списка.

  13. Последовательно выберите в меню Файл пункты Создать, Манифест развертывания, чтобы создать манифест развертывания, а затем на вкладке Имя укажите имя и номер версии (1.0.0.0 в этом примере).

  14. Перейдите на вкладку Издатель и предоставьте значения параметров Издатель и Продукт. (Продукт — имя, присвоенное приложению в меню Пуск при локальной установке приложения.)

  15. Переключитесь на вкладку Обновление и укажите, как часто хотели бы, чтобы приложение обновлялось. Если приложение использует API развертывания ClickOnce для самостоятельной проверки обновлений, снимите флажок Это приложение должно проверять наличие обновлений.

  16. Перейдите на вкладку Ссылка приложения. Можно предварительно заполнить все значения на этой вкладке, нажав кнопку Выбрать манифест и выбрав манифест приложения, созданный на предыдущих шагах.

  17. Выберите Сохранить и сохраните манифест развертывания на диск. При сохранении манифеста приложения выводится запрос на подписание манифеста приложения.

  18. Если имеется сертификат, хранящийся как файл в файловой системе, используйте параметр Подписать как файл сертификата и выберите сертификат в файловой системе, нажав кнопку ....

    -или-

    Если сертификат содержится в хранилище сертификатов, доступном с компьютера, установите режим Подписать хранимым сертификатом и выберите сертификат из предоставляемого списка.

  19. Скопируйте все файлы в текущем каталоге — включая папку версии и папку "\bin" — по адресу развертывания. Это может быть папка на веб-узле или FTP-узле, общий файловый ресурс или компакт-диск.

  20. Предоставьте своим пользователям URL-адрес, UNC-имя или физический носитель, необходимые для установки приложения. Если указывается URL-адрес или UNC-имя, необходимо предоставить пользователям полный путь к манифесту развертывания. Например, если WindowsFormsApp1 развертывается на веб-узле http://webserver01/ в каталог WindowsFormsApp1, полный URL-путь был бы http://webserver01/WindowsFormsApp1/WindowsFormsApp1.deploy.

Следующие действия

Когда требуется развернуть новую версию приложения, необходимо создать новый каталог, называемый по новой версии — например 1.1.0.0 — и переместить файлы нового приложения в папку \bin в этом новом каталоге. Следует создать новый манифест приложения и сохранить его в новом каталоге, а издатель должен подписать новый манифест. После получения обратно подписанного манифеста можно использовать Mage.exe для обновления манифеста развертывания и нацеливания его на новый манифест приложения:

mage -Update WindowsFormsApp1.application -Version 1.1.0.0 -AppManifest 1.1.0.0\WindowsFormsApp1.exe.manifest

Пользователи MageUI.exe могут выполнить ту же операцию, открыв свой манифест развертывания, выбрав вкладку Ссылка приложения и еще раз нажав кнопку Выбрать манифест.

После обновления ссылки на манифест приложения необходимо заново подписать манифест развертывания, так как любое изменение манифеста делает недействительной цифровую подпись.

См. также

Основные понятия

Обзор развертывания ClickOnce

Ссылки

Средство создания и редактирования манифеста (Mage.exe)

Средство создания и редактирования манифестов, графический клиент (MageUI.exe)

Манифест развертывания ClickOnce

Манифест приложения ClickOnce