Предварительная установка приложений с помощью DISM

Примечание

Вас интересует предустановка приложений Microsoft Store, но вы не изготовитель оборудования? Сведения о загрузке неопубликованных приложений для организаций см. в статье Загрузка неопубликованных приложений с помощью DISM.

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

Совет

Приложения поддержки оборудования (HSA) — это приложения Microsoft Store, и действуют следующие инструкции.

Работа с пакетами приложений

Используйте DISM для автономной подготовки приложения в образе. Вы можете использовать DISM из командной строки или командлеты DISM в Windows PowerShell.

В предыдущих версиях Windows 10 предустановленные универсальные приложения и приложения Microsoft Store должны были быть закреплены в меню "Пуск". Windows удаляет приложения, которые были предустановлены, но не закреплены в меню "Пуск".

Начиная с Windows 10 версии 1803, приложения можно предварительно установить без закрепления в меню "Пуск" при использовании DISM /add-provisionedappxpackage с параметром /region . При предварительной установке приложения вы можете оставить приложение вне LayoutModification.xml и приложение будет успешно установлено, не отображаясь в виде плитки меню "Пуск". Если список регионов НЕ указан, приложение будет подготовлено только в том случае, если оно закреплено в макете запуска.

Извлечение файлов пакета

  1. Перейдите в папку, в которой вы сохранили пакеты приложений, скачанные с панели мониторинга партнеров.

  2. Щелкните правой кнопкой мыши каждую .zip папку, содержащую файлы пакета приложения. Щелкните Извлечь все и выберите расположение для сохранения папок файлов пакета.

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

Важно!

Не изменяйте папку после извлечения файлов пакета. При изменении, добавлении или удалении файлов в папке приложение завершится ошибкой во время установки или запуска. Даже при просмотре папки могут возникнуть проблемы.

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

Для автономной подготовки приложения в образе можно использовать средство Dism.exe или командлеты DISM в Windows PowerShell, чтобы добавить приложение из папки распакованых файлов.

Предварительная установка приложения, подписанного в Microsoft Store, с помощью DISM

  1. Откройте командную строку от имени администратора.

  2. Подключите образ Windows, который требуется обслуживать:

    Dism /Mount-Image /ImageFile:c:\images\myimage.wim /Index:1 /mountdir:c:\test\offline
    
  3. Добавьте приложение в подключенный образ. /PackagePath Используйте параметры и /DependencyPackagePath .

    • Packagepath — это путь к appx-пакету или файлу пакета.
    • DependencyPackagePath — это путь для указания каждого пакета зависимостей. Для каждой команды может быть несколько зависимостей.
    • Новые возможности в Windows 10 версии 1803: используйте параметр при добавлении Region приложений. Region позволяет добавлять приложение без необходимости закреплять его в меню "Пуск".
    Dism /Image:c:\test\offline /Add-ProvisionedAppxPackage /PackagePath:c:\downloads\package.appxbundle /DependencyPackagePath:c:\downloads\dependency1.appx /DependencyPackagePath:c:\downloads\dependency2.appx /LicensePath=c:\downloads\package_License1.xml /region=all"
    

    Сведения о работе с пакетами приложений, включая новый параметр /region, см. в разделе Параметры командной строки для обслуживания пакетов приложений DISM .

  4. Закрепите приложение в меню "Пуск".

    • Если вы не указали /region при предварительной установке приложения, закрепите приложение в меню "Пуск" с помощьюLayoutModification.xml.

      или диспетчер конфигурации служб

    • Если вы указали /region время предварительной установки приложения и хотите закрепить приложение в меню "Пуск" для определенных регионов, используйте RequiredStartGroups Region="region1|region2" элемент в LayoutModification.xml , чтобы указать регионы, в которых будет отображаться приложение.

  5. Сохраните изменения и отключите образ. В командной строке введите:

    Dism /Unmount-Image /mountdir:c:\test\offline /commit
    

Примечание

Приложения Microsoft Store не выполняются в режиме аудита. Чтобы протестировать развертывание, запустите Windows и создайте новый профиль пользователя. Дополнительные сведения о режиме аудита см. в статье Обзор режима аудита.

Важно Если вы предустановите приложение для мобильных широкополосных устройств, перед запуском этапа Sysprep необходимо вставить карта SIM-карты на компьютер. Дополнительные сведения о предварительной установки приложения для мобильных широкополосных устройств см. в разделе Предварительная установка необходимых компонентов для приложения мобильной широкополосной связи.

Обновление или удаление пакетов

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

Удаление предустановленного приложения с помощью DISM

  1. Откройте командную строку средств развертывания, установленную вместе с Windows ADK, с правами администратора. На начальном экране введите Среда средств развертывания и создания образов, щелкните правой кнопкой мыши значок и выберите Запуск от имени администратора.

  2. Подключите автономный образ для обслуживания. В командной строке введите:

    Dism /Mount-Image /ImageFile:c:\images\myimage.wim /Index:1 /mountdir:c:\test\offline
    
  3. Найдите полное имя пакета приложения, которое требуется удалить. В командной строке введите:

    Dism /Image:C:\test\offline /Get-ProvisionedAppxPackages
    
  4. Удалите приложение из подключенного образа. Например, в командной строке введите:

    Dism /Image:c:\test\offline /Remove-ProvisionedAppxPackage /PackageName:microsoft.devx.appx.app1_1.0.0.0_neutral_en-us_ac4zc6fex2zjp
    
  5. Если вы хотите обновить приложение, можно предварительно установить обновленную версию приложения, подписанного в Microsoft Store. В окне командной строки введите:

    Dism /Image:c:\test\offline /Add-ProvisionedAppxPackage/FolderPath:c:\downloads\appxpackage
    
  6. Сохраните изменения и отключите образ. В командной строке введите:

    Dism /Unmount-Image /mountdir:c:\test\offline /commit
    

Использование пользовательских файлов данных

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

Добавление пользовательского файла данных в образ Windows

Необходимо указать пользовательский файл данных при предварительной установке приложения с помощью средства DISM и Windows PowerShell с помощью командлета Add-AppxProvisionedPackage. Следующая команда показывает, как это сделать с помощью средства DISM:

Dism /Image:C:\test\offline /Add-ProvisionedAppxPackage / FolderPath:f:\Apps\Fabrikam_KnowMyPC /CustomDataPath:f:\Contoso_Promotion.xml

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

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

Тестирование пользовательских данных для предустановленных приложений

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

Файл Custom.data отображается в расположении установленного приложения. Имя Custom.data жестко задано и не может быть изменено. Ваше приложение может проверка наличие этого файла, чтобы определить, было ли приложение предустановлено на компьютере. Ниже приведен пример доступа к файлу Custom.data.

var outputDiv = document.getElementById("CustomData");
Windows.ApplicationModel.Package.current.installedLocation.getFileAsync
     ("microsoft.system.package.metadata\\Custom.data").then(function (file) {
         // Read the file
         Windows.Storage.FileIO.readTextAsync(file).done(function (fileContent) {
            outputDiv.innerHTML = 
                 "App is preinstalled. CustomData contains:<br /><br />"
                 + fileContent;
         },
         function (error) {
             outputDiv.innerText = "Error reading CustomData " + error;
         });
     },
     function (error) {
         outputDiv.innerText = "CustomData was not available. App not preinstalled";
     });

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

Тестирование пользовательских данных

При сборке и отладке приложения в Microsoft Visual Studio невозможно получить доступ к файлу Custom.data из установленного расположения приложения, так как приложение еще не предустановлено. Вы можете имитировать файл Custom.data, поместив тестовый файл Custom.data в само приложение, а затем загрузив и проверив локальный файл приложения. Для этого измените пример кода из:

("microsoft.system.package.metadata\\Custom.data").then(function (file) {

на:

("Custom.data").then(function (file) {

После проверки формата и содержимого файла можно изменить расположение файла Custom.data на конечное расположение, как показано в исходном примере выше.

Тестирование файла Custom.data

  1. Откройте командную строку средств развертывания, установленную вместе с Windows ADK, с правами администратора. На начальном экране введите Среда средств развертывания и создания образов, щелкните правой кнопкой мыши значок и выберите Запуск от имени администратора.

  2. Добавьте приложение с пользовательским файлом данных:

    dism /online /Add-ProvisionedAppxPackage /PackagePath:.\CustomData_1.0.0.1_AnyCPU_Debug.appx /CustomDataPath:.\Test.txt /SkipLicense
    

    Где /PackagePath:.\CustomData_1.0.0.1_AnyCPU_Debug.appx указывает на локальный тестовый пакет приложения, а где /CustomDataPath:.\Test.txt — на файл Custom.data. Имейте в виду, что указанное здесь имя файла не используется после установки данных в приложении.

    Теперь приложение имеет плитку на начальном экране компьютера, используемого для тестирования приложения. Приложение должно иметь доступ к файлу Custom.data. Если требуется дополнительная отладка, подключите отладчик после запуска приложения с начального экрана.

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

  3. После завершения тестирования приложения необходимо удалить предустановленный пакет, чтобы продолжить работу со средой разработки. Чтобы удалить предустановленный пакет с помощью Windows PowerShell, можно использовать командлет Get-AppxPackage, чтобы предоставить полное имя пакета приложения через конвейер командлету Remove-ProvisionedAppxPackage:

    Get-AppxPackage *CustomData* | Remove-ProvisionedAppxPackage

    Где *CustomData* — известная часть имени приложения

Предварительная установка приложения для устройств Microsoft Store или мобильного широкополосного приложения

Вы можете предварительно установить необходимые компоненты для приложения устройства Microsoft Store или мобильного широкополосного приложения с помощью платформы DISM.

Примечание Эта статья предназначена для изготовителей оборудования, которые будут поддерживать приложение для устройств Microsoft Store или мобильное широкополосное приложение на своих устройствах.

Для каждого типа приложения необходимо предварительно установить две вещи, чтобы предоставить правильное приложение для устройств Microsoft Store или мобильное широкополосное приложение:

  • Приложение устройства Microsoft Store, предварительная установка:
    1. Пакет метаданных устройства
    2. Приложение
  • Мобильное широкополосное приложение Microsoft Store, предварительная установка:
    1. Пакет метаданных службы
    2. Приложение

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

Предварительная установка пакета метаданных устройства или службы

Предварительная установка пакета метаданных устройства или службы

  1. Если вы предварительно устанавливаете приложение microsoft Store для устройств, то должны были получить пакет метаданных устройства. Если вы предустановили мобильное широкополосное приложение, вам необходимо приобрести пакет метаданных службы.

    Примечание Пакеты метаданных устройства и пакеты метаданных службы используют одно и то же расширение имени файла (.devicemetadata-ms).

  2. Скопируйте пакет метаданных устройства или службы (файл devicemetadata-ms) в образ системы в папке %ProgramData%\Microsoft\Windows\DeviceMetadataStore . Это можно сделать одним из следующих способов:

    • Подключение перед запуском Sysprep

    • Вне сети после запуска Sysprep с помощью DISM. Для этого выполните следующие действия.

      1. Подключите автономный образ для обслуживания.

        Dism /Mount-Image /ImageFile:C:\test\images\myimage.wim /index:1 /MountDir:C:\test\offline
        
      2. Скопируйте файлы пакета метаданных в хранилище метаданных устройства подключенного образа. Например, чтобы скопировать файл пакета метаданных 0ECF2029-2C6A-41AE-9E0A-63FFC9EAD877.devicemetadata-ms в хранилище метаданных устройства, ProgramData\Microsoft\Windows\DeviceMetadataStore:

        copy 0ECF2029-2C6A-41AE-9E0A-63FFC9EAD877.devicemetadata-ms C:\test\offline\ProgramData\Microsoft\Windows\DeviceMetadataStore
        
      3. Сохраните изменения и отключите образ.

        dism /Unmount-Image /mountdir: c:\test\offline /commit
        

      Дополнительные сведения об автономном обслуживании образов см. в статье Обзор DISM.

Дополнительные сведения о метаданных службы см. в разделе Метаданные службы.

Предварительная установка приложения для устройств Microsoft Store или мобильного широкополосного приложения

Предварительная установка приложения для устройств Microsoft Store или мобильного широкополосного приложения

  1. Подключите автономный образ для обслуживания.

    Dism /Mount-Image /ImageFile:C:\test\images\myimage.wim /index:1 /MountDir:C:\test\offline
    
  2. Добавьте в образ приложение для устройств Microsoft Store или мобильное широкополосное приложение.

    dism /Image:<mounted folder> /Add-ProvisionedAppxPackage /FolderPath:<appxpackage path>
    
  3. Сохраните изменения и отключите образ.

    dism /Unmount-Image /mountdir: c:\test\offline /commit