Поделиться через


Подключение приложений из Visual Studio

В этой статье объясняется, как создать готовые пакеты app Attach с помощью Visual Studio 2022 и опубликовать его в виртуальном рабочем столе Azure.

Что такое подключение приложений?

Подключение приложений MSIX — это способ доставки приложений MSIX как на физические, так и на виртуальные машины. Тем не менее, технология MSIX App Attach отличается от обычного MSIX, поскольку он предназначен специально для поддерживаемых продуктов, таких как Azure Virtual Desktop.

Почему App Attach?

Предприятия предпочитают технологию App Attach для следующих целей:

  1. Упрощение управления образами Windows
  2. Улучшена управляемость приложений, включая более низкие затраты на обслуживание и более высокую безопасность

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

Подключение локальных приложений позволяет запускать приложения MSIX, не устанавливая их на устройстве. API, обеспечивающие работу функции Local App Attach, полностью поддерживаются в Windows 11 Enterprise и Windows 10 Enterprise, встроенные в ОС для монтирования и размонтирования приложений. Для автоматизации процесса можно также использовать командлеты Или скрипты PowerShell.

Предварительные действия

  • Скачайте и установите Visual Studio 2022.
  • Настройка Visual Studio для C#.
  • Настройте рабочую нагрузку "Разработка Azure" в Visual Studio следующим образом:
    • Открытие установщика Visual Studio
    • Щелкните "Изменить"
    • Убедитесь, что выбрана разработка Azure
    • Нажмите кнопку "Изменить " внизу, чтобы инициировать обновление.

Расширение Visual Studio

Снимок экрана: 2023-10-11 180059

  • Убедитесь, что система подключена к Интернету.

Замечание

Это расширение совместимо только с Visual Studio 2022.

Использование расширения

После установки расширения в Visual Studio 2022

  1. Запустите Visual Studio в режиме с повышенными привилегиями, щелкнув правой кнопкой мыши и выбрав команду "Запуск от имени администратора".
  2. Создайте настольное приложение WinUI 3 C# или C++ с помощью шаблона проекта Visual Studio "Blank App, Packaged (WinUI 3 в настольном режиме)", который поставляется с пакетом SDK для приложений Windows.

Снимок экрана: 2023-05-30 165600

Замечание

Процесс создания образа MSIX поддерживается только для приложений WinUI3 на этом этапе.

  1. В обозревателе решений щелкните проект правой кнопкой мыши и выберите "Пакет" и "Опубликовать ->Создать пакеты подключения приложений"

Снимок экрана: 2023-05-30 165836

  1. Теперь вы можете настроить пакет, выбрав выходное расположение для пакета MSIX и VHDX-файла, а также выбрав платформу.
  2. Чтобы пакет MSIX был установлен на компьютере конечного пользователя, он должен быть подписан сертификатом, доверенным на компьютере. Вы можете выбрать сертификат из локального хранилища сертификатов, выбрать файл сертификата или создать новый сертификат. Узнайте, как подписать пакет приложения здесь.

Снимок экрана: 2023-10-11 181102

Функции расширения

Расширение позволит разработчикам создавать готовые пакеты для приложений, тестировать подключение приложения локально или публиковать в пуле узлов AVD непосредственно из Visual Studio.

Вы должны выбрать соответствующий вариант и продолжить.

образ пользователя

Создание только образа диска

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

Присоединение локального приложения

Будет создан пакет, готовый для подключения приложения, который будет опубликован локально для тестирования и устранения неполадок.

Это позволит сэкономить усилия на присоединении к узлу AVD для тестирования. Пользователи могут установить приложение и извлечь диск после тестирования.

Присоединение приложения Azure (AVD)

Это создаст готовый пакет App Attach и опубликует его в пуле хостов AVD.

  1. Чтобы опубликовать пакет App Attach в виртуальном рабочем столе Azure, выберите вариант Azure.

Замечание

Это расширение позволяет публиковать только на существующие ресурсы Azure.

  1. Выберите следующие значения:
  • ПодпискаИдентификатор – Выберите подписку Azure, которую вы хотите использовать для развертывания.
  • Группа ресурсов — с помощью раскрывающегося списка выберите существующее имя группы ресурсов.
  • Учетная запись хранения — выберите имя учетной записи хранения, которая содержит развернутый общий файловый ресурс.
  • Общая папка — выберите общую папку в развертывании виртуального рабочего стола Azure, в которой будет храниться пакет.
  • Группа приложений — выберите группу приложений, в которую нужно опубликовать приложения.
  • Рабочая область — выберите имя рабочей области, которой нужно назначить группу приложений.
  • Пул узлов — выберите имя пула узлов для группы приложений.

Снимок экрана: 2023-10-11 182632

  1. Щелкните "Опубликовать", чтобы опубликовать пакет в приведенном выше развертывании виртуального рабочего стола Azure.

Часто задаваемые вопросы (FAQ)

Вопрос 1: Почему произошел сбой на этапе промежуточного тестирования в подключении локального приложения, при котором возникли ошибки?
A1. Основная причина промежуточного сбоя заключается в отсутствии зависимостей, необходимых для MSIX на компьютере. Для этого внимательно изучите логи подключения приложений, которые предоставляют подробные сведения о конкретных зависимостях, необходимых для дальнейшей работы.

Вопрос 2. Виртуальный рабочий стол Azure: успешная проверка подключения приложений, но приложение не запустится
A2. Основная проблема заключается в отсутствии зависимостей MSIX в виртуальной машине Azure. Чтобы устранить эту проблему, определите необходимые зависимости из журналов подключения приложений и убедитесь, что они установлены в указанных виртуальных машинах.

Вопрос 3. Ошибка: виртуальный диск не найден в <расположении> общей папки?
A3. Эта ошибка обычно возникает при разъединении файловой папки от всех виртуальных машин (VM). Чтобы устранить эту проблему, войдите на выделенную виртуальную машину и убедитесь, что соответствующий файловый ресурс подключен к виртуальной машине. После этого вы сможете успешно подключить и отключить VHDX-файлы.

Вопрос 4. Я вошел в Visual Studio под несколькими учетными записями. Какую из них следует выбрать для функции AVD App Attach?
A4. Для подключения приложений AVD убедитесь, что только пользователь администрирования AVD вошел в Visual Studio. Удалите все другие учетные записи перед запуском меню расширения. Кроме того, повторно войдите в Visual Studio, если срок действия учетных данных истек.

Вопрос 5. Изменяет ли расширение мое решение?
A5: Да, расширение создает папку AppAttachPackages и appattach.config файл на корневом уровне решения. Папка AppAttachPackages содержит артефакты MSIX и VHDx, а файл appattach.config содержит метаданные приложения, которые жизненно важны для процесса присоединения приложений. Вы можете безопасно игнорировать эти элементы.

Вопрос 6. Можно ли использовать расширение для повторной публикации артефакта приложения в AVD?
A6. Нет, эта функция в настоящее время не поддерживается. Однако можно увеличить версию и попытаться повторно опубликовать. Помните, что это приведет к двум отдельным приложениям в приложении удаленного рабочего стола. Кроме того, вы можете пометить предыдущую версию как неактивную в разделе "Пул узлов —> пакеты MSIX" на портале Azure.

Вопрос 7. Как удалить локально подключенное приложение?
A7: щелкните правой кнопкой мыши приложение в строке поиска и выберите удаление. Кроме того, извлеките новый диск, добавленный на ваш компьютер. Для комплексного удаления запустите PowerShell в режиме администрирования и выполните следующую команду:

$msixPackageFullName = <msixPackageFullName> 
Remove-AppxPackage $msixPackageFullName -PreserveRoamableApplicationData 

Вопрос 8. Мой процесс превышает лимит времени во время выполнения?
A8. Найдите appattach.config<тег ProcessTimeOut> и увеличьте значение времени ожидания. Значение по умолчанию — 600 секунд (10 минут), и его можно настроить на основе ваших требований.

См. также