...

Clickonce что это за программа

Использование ClickOnce и прокси-сервера

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

Бывает так, что для управления доступом пользователей к Интернету и ресурсам внешней сети используется прокси-сервер (с аутентификацией или без). ClickOnce предоставляет поддержку встроенной проверки подлинности прокси-сервера в Windows, начиная с версии .NET Framework 3.5, но не поддерживает другие протоколы проверки подлинности, такие как «Обычная проверка подлинности» или «Краткая проверка подлинности».

Если не используется проверка подлинности, мы можем настроить прокси с помощью элемента defaultProxy:

Но если компьютер настроен на использование прокси-сервера, требующего проверки подлинности, при попытке обновления мы получим следующую ошибку, даже если укажем свои Credentials:

Удаленный сервер возвратил ошибку: (407) требуется проверка подлинности прокси.

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

Решаем эту проблему следующим образом:

Создаем свой класс прокси: CustomUserProxy

 public class CustomUserProxy : IWebProxy < private WebProxy _webProxy; public CustomUserProxy(Uri uri) < _webProxy = new WebProxy(uri); >public ICredentials Credentials < get < return _webProxy.Credentials; >set < >> public Uri GetProxy(Uri destination) < return _webProxy.GetProxy(destination); >public bool IsBypassed(Uri host) < return _webProxy.IsBypassed(host); >/// /// Альтернативный метод, который устанавливает Credentials /// /// Учетные данные для аутентификации public void SetCredentials(ICredentials credentials) < _webProxy.Credentials = credentials; >> 

Используем свой прокси:

Uri uriProxy = new Uri("http://myproxy.ent:808"); CustomUserProxy customProxy = new CustomUserProxy(uriProxy); customProxy.SetCredentials(new NetworkCredential("Login", "Password")); WebRequest.DefaultWebProxy = customProxy; 

Развертывание классического приложения Windows .NET с помощью ClickOnce

Область применения:yesVisual Studio Visual Studio noдля Mac noVisual Studio Code

Начиная с Visual Studio 2019 версии 16.8, можно использовать средство публикации для публикации .NET Core 3.1, .NET 5 или более поздней версии, классических приложений Windows с помощью ClickOnce из Visual Studio.

Если вам нужно опубликовать классическое приложение Windows .NET Framework, см. статью о развертывании классического приложения с помощью ClickOnce (C# или Visual Basic).

Публикация с помощью ClickOnce

  1. В обозревателе решений щелкните проект правой кнопкой мыши и выберите пункт Опубликовать (или воспользуйтесь командой меню Сборка>Опубликовать). The Publish command on the project context menu in Solution Explorer
  2. Если ранее вы настроили какие-либо профили публикации, появится панель Публикация. Выберите Создать.
  3. В мастере публикации выберите Папка. Choose folder as a publish target
  4. На странице Указанный целевой объект выберите ClickOnce. Select ClickOnce as the specific target
  5. Введите путь или выберите Обзор, чтобы выбрать расположение публикации. Specify the path for the publish location
  6. На странице Расположение установки выберите место, куда пользователи будут устанавливать приложение. Specify the path to the folder
  7. На странице Параметры можно указать параметры, необходимые для ClickOnce.
  8. Если выбрана установка из UNC-пути или с веб-сайта, на этой странице можно указать, будет ли приложение доступно в автономном режиме. Если этот параметр выбран, приложение будет указано в меню «Пуск» пользователей и будет автоматически обновляться при публикации новой версии. По умолчанию обновления доступны в папке установки. Другое расположение для обновлений можно указать с помощью ссылки «Параметры обновления». Если вы не хотите, чтобы приложение было доступно в автономном режиме, оно будет запускаться из папки установки. Specify the publish settings
  9. Если выбрана установка с компакт-диска, DVD-диска или USB-накопителя, на этой странице также можно указать, поддерживает ли приложение автоматические обновления. Если выбрана поддержка обновлений, требуется указать расположение обновления, которое должно быть допустимым UNC-путем или веб-сайтом. Choose the publish settingsС помощью ссылок в верхней части страницы можно указать, какие файлы приложений следует включить в программу установки, какие пакеты необходимых компонентов нужно установить, а также выбрать другие параметры. Кроме того, на этой странице можно задать версию публикации и будет ли она автоматически увеличиваться при каждой публикации.

Заметка Номер версии публикации уникален для каждого профиля ClickOnce. Если вы планируете иметь несколько профилей, необходимо помнить об этом.

  • На странице Подпись манифестов можно указать, следует ли подписывать манифесты и какой сертификат нужно использовать. Sign the ClickOnce Manifests
  • На странице Конфигурация можно выбрать нужную конфигурацию проекта. Specify the publish configurationДополнительные сведения о выборе параметров см. в следующих статьях:
    • Развертывание, зависящее от платформы, и автономное развертывание
    • Идентификаторы целевой среды выполнения (переносной RID и т. п.)
    • Конфигурации отладки и выпуска
  • Щелкните Готово, чтобы сохранить новый профиль публикации ClickOnce.
  • На странице Сводка выберите Опубликовать, и Visual Studio создаст проект и опубликует его в указанную папку публикации. На этой странице также показана сводка профиля. Publish property pane showing a profile summary
  • Для повторной публикации выберите Публиковать.
  • Далее

    Для приложений .NET:

    • ClickOnce для .NET в Windows
    • Общие сведения о публикации приложений .NET
    • Справочные сведения ClickOnce

    Развертывание с помощью технологии ClickOnce для приложений Visual C++

    Visual Studio предоставляет две различных технологии развертывания приложений Windows: ClickOnce и установщик Windows.

    Развертывание с помощью технологии ClickOnce в C++

    Среда разработки Visual C++ напрямую не поддерживает развертывание проектов Visual Studio C++ с помощью ClickOnce, но доступны инструменты для ее использования.

    Visual Studio поддерживает ClickOnce в средах развертывания Visual C# и Visual Basic. Если проект Visual Studio C++ является зависимостью от проекта Visual C#, вы можете опубликовать приложение (включая его зависимости) с помощью развертывания ClickOnce из среды разработки Visual C#.

    Для развертывания приложения Visual C++ с помощью ClickOnce сначала нужно создать Манифест приложения ClickOnce и Манифест развертывания ClickOnce с помощью Mage.exe (Инструмент создания и изменения манифестов) или его версий для графического пользовательского интерфейса (сведения см. в разделе MageUI.exe (средство создания и редактирования манифестов, графический клиент)).

    Используя Mage.exe, создайте манифест приложения; полученный файл будет иметь расширение MANIFEST. Затем с помощью Mage.exe создайте манифест развертывания; полученный файл будет иметь расширение APPLICATION. Теперь необходимо подписать манифесты.

    В манифесте приложения должен быть указан целевой процессор (x86, x64 или ARM). Сведения об этих вариантах см. в разделе Предварительные условия для развертывания 64-разрядных приложений.

    Кроме этого, имена манифестов приложения и развертывания не должны совпадать с именем приложения С++. Это позволит избежать конфликта между манифестом приложения, созданным с помощью Mage.exe, и внешним манифестом, являющимся частью приложения C++.

    При развертывании должны быть установлены все библиотеки Visual C++, от которых зависит работа приложения. Чтобы определить зависимости для конкретного приложения, можно воспользоваться файлом depends.exe или служебной программой DUMPBIN, запустив ее с параметром /DEPENDENTS. Дополнительные сведения о зависимостях см. в разделе Основные сведения о зависимостях приложения Visual C++. Может возникнуть потребность в выполнении VCRedist.exe; эта служебная программа устанавливает библиотеки Visual C++ на конечный компьютер.

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

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

    При подготовке материала использовались источники:
    https://habr.com/ru/articles/279879/
    https://learn.microsoft.com/ru-ru/visualstudio/deployment/quickstart-deploy-using-clickonce-folder?view=vs-2022
    https://learn.microsoft.com/ru-ru/cpp/windows/clickonce-deployment-for-visual-cpp-applications?view=msvc-170

    Оцените статью