Пошаговое руководство. Вручную разверните приложение ClickOnce, которое не требует повторной подписи и сохраняет сведения о фирменной символии
При создании приложения ClickOnce и последующем его публикации и развертывании клиенту традиционно пришлось обновить манифест развертывания и повторно подписать его. Хотя этот метод по-прежнему является предпочтительным в большинстве случаев, платформа .NET Framework 3.5 позволяет создавать развертывания ClickOnce, которые могут быть развернуты клиентами, не создавая новый манифест развертывания. Дополнительные сведения см. в статье "Развертывание приложений ClickOnce для тестирования и рабочих серверов без отставки".
При создании приложения ClickOnce и его публикации и развертывании клиент может использовать фирменную символику клиента или сохранить фирменную символику. Например, если приложение является одним собственным приложением, может потребоваться сохранить фирменную символику. Если приложение настроено для каждого клиента, может потребоваться использовать фирменную символику клиента. Платформа .NET Framework 3.5 позволяет сохранять фирменную символику, информацию издателя и подпись безопасности при развертывании приложения организации. Дополнительные сведения см. в статье "Создание приложений ClickOnce" для других пользователей для развертывания.
Примечание.
В этом пошаговом руководстве вы создадите развертывания вручную с помощью средства командной строки Mage.exe или графического средства MageUI.exe. Дополнительные сведения о развертывании вручную см. в пошаговом руководстве. Развертывание приложения ClickOnce вручную.
Примечание.
В ClickOnce для .NET Core 3.1 и .NET 5 или более поздней версии используйте dotnet-mage.exe вместо Mage.exe. Дополнительные сведения см. в разделе ClickOnce для .NET.
Необходимые компоненты
Чтобы выполнить действия, описанные в этом пошаговом руководстве, вам потребуется следующее:
Приложение Windows Forms, готовое к развертыванию. Это приложение будет называться WindowsFormsApp1.
Visual Studio или пакет SDK для Windows.
Развертывание приложения ClickOnce с поддержкой нескольких развертываний и фирменной символики с помощью Mage.exe
Откройте командную строку Visual Studio или командную строку пакета SDK для Windows и перейдите в каталог, в котором будут храниться файлы ClickOnce.
Создайте каталог с именем после текущей версии развертывания. Если вы впервые развертываете приложение, скорее всего, выберите 1.0.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
. Так как это приложение будет использовать функцию нескольких развертываний, исключите аргумент mage.exe-providerUrl
. (В версиях платформа .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.0.
Примечание.
Версия развертывания может отличаться от версии файлов приложения.
Переместите каталог \bin в каталог, созданный на шаге 2.
Запустите графическое средство MageUI.exe.
MageUI.exe
Создайте манифест приложения, выбрав "Файл", "Создать", "Манифест приложения" в меню.
На вкладке "Имя по умолчанию " введите имя и номер версии этого развертывания. Кроме того, укажите значение издателя, которое будет использоваться в качестве имени папки для ярлыка приложения в меню при развертывании.
Перейдите на вкладку "Параметры приложения" и нажмите кнопку "Использовать манифест приложения для сведений о доверии". Это позволит стороннему фирменному символику для этого приложения ClickOnce.
Перейдите на вкладку "Файлы" и нажмите кнопку "Обзор " рядом с текстовым полем каталога приложений.
Выберите каталог, содержащий файлы приложения, созданные на шаге 2, и нажмите кнопку "ОК " в диалоговом окне выбора папки.
Нажмите кнопку "Заполнить", чтобы добавить все файлы приложения в список файлов. Если приложение содержит несколько исполняемых файлов, пометьте основной исполняемый файл для этого развертывания в качестве запуска приложения, выбрав точку входа в раскрывающемся списке "Тип файла". (Если приложение содержит только один исполняемый файл, 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-файл, сохраненный на диске.
Клиент развертывает приложение для своих пользователей.