Локальный общий доступ к пакету приложения (приложения для Магазина Windows)

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

Создание пакета приложения

Перед установкой приложения необходимо сначала создать пакет приложения. Дополнительные сведения о создании пакета см. в разделе Creating an app package.

Пакет приложения будет создан в выходной папке, указанной для расположения пакета, и будет называться PackageName_Test. Папка содержит APPX-файл, сертификат безопасности, скрипт Windows PowerShell и другие файлы.

Установка пакета приложения для тестирования

  1. В выходном каталоге Visual Studio найдите скрипт PowerShell Add-AppDevPackage рядом с APPX-файлом.

  2. В контекстном меню файла Add-AppDevPackage.ps1 выберите Выполнить с помощью PowerShell.

    Важно!

    Если вы являетесь членом группы безопасности "Администраторы" на локальном компьютере, но у вас нет разрешения на доступ к сетевой папке с файлом Add-AppDevPackage.ps1, может появиться сообщение об ошибке, указывающее, что файл скрипта не существует. Для решения проблемы доступа, скопируйте содержимое выходной папки на локальный компьютер перед запуском скрипта.

    Скрипт выполняет следующие действия.

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

      Примечание

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

      Необходимо подтвердить, что нужно изменить политику выполнения, нажав клавишу Y. При нажатии N эта операция будет пропущена, и вы перейдете к следующей операции. При нажатии клавиши S текущий конвейер будет приостановлен и вы вернетесь в командную строку. При вводе слова exit конвейер возобновится.

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

      Чтобы получить лицензию разработчика, необходимо иметь учетную запись Майкрософт. Дополнительные сведения см. в разделе Получение лицензии разработчика (приложения для Магазина Windows)

    3. Проверяет, присутствуют ли пакет приложения и требуемые сертификаты. Если элементы отсутствуют, появляется сообщение, предлагающее установить их перед установкой пакета разработчика. Например, если на локальном компьютере отсутствует сертификат разработчика, будет предложено установить его. Также появится предупреждение о том, что установка цифрового сертификата в хранилище сертификатов "Доверенные лица" компьютера связано с угрозами безопасности, и что делать это следует только в том случае, если вы доверяете источнику этого цифрового сертификата. После завершения использования приложения необходимо вручную удалить соответствующий цифровой сертификат из хранилища сертификатов "Доверенные лица" компьютера. Сведения об удалении сертификатов см. в разделе Использование консоли сертификатов. Необходимо подтвердить, нужно ли продолжать работу.

      Сертификаты подписи должны содержать следующие значения:

      • Расширенное использование ключа: Подписывание кода (обязательно)

      • Основные ограничения: Тип субъекта=Конечный субъект (обязательно)

      • Бессрочная подписка (EKU) (необязательно)

      Все остальные расширенные использования ключа делают сертификат недействительным. Если скрипт не обнаружит требуемые значения, появится ошибка.

    4. Проверяет наличие всех обязательных пакетов зависимостей.

    5. Устанавливает все пакеты зависимостей и пакет приложения.

      Когда пакет приложения будет установлен, появится сообщение "Ваш пакет разработчика успешно установлен".

  3. На начальном экране выберите плитку с именем приложения.

    Запустится приложение.

Примечание о безопасностиПримечание по безопасности

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

При запуске скрипта PowerShell Add-AppDevPackage.ps1 Visual Studio с помощью функции Get-AuthenticodeSignature определяет, нужно ли устанавливать сертификат подписывания тестов TEST Visual Studio Certification Authority. Если сертификат подписывания тестов уже установлен в узле Сертификаты – текущий пользователь > Доверенные корневые центры сертификации > Certificates, функция возвращает значение, указывающее, что подпись действительна. Однако развернуть пакет все равно не удастся, поскольку этот сертификат не является доверенным для Windows. Чтобы сертификат стал доверенным для Windows, он должен размещаться в узле Сертификаты (локальный компьютер) > Доверенные корневые центры сертификации > Сертификаты или в узле Сертификаты (локальный компьютер) > Доверенные лица > Сертификаты. Только сертификаты в этих двух расположениях позволяют проверять доверие сертификата в контексте локального компьютера. В противном случае появляется сообщение об ошибке примерно следующего вида: "Add-AppxPackage: Сбой развертывания с HRESULT: 0x800B0109. Цепочка сертификатов обработана, но обработка прервана на корневом сертификате, у которого отсутствует отношение доверия с поставщиком доверия. (Исключение из HRESULT: 0x800B0109) ошибка 0x800B0109: Корневой сертификат подписи в пакете приложения должен быть доверенным". При появлении такой ошибки переместите сертификат подписывания тестов в один из вышеуказанных узлов Сертификаты (локальный компьютер). Сведения о перемещении сертификатов см. в разделе Использование консоли сертификатов.

См. также

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

Подписывание пакета приложения (приложения для Магазина Windows)

Построение пакета приложения из командной строки (приложения для Магазина Windows)