Создание и установка пакета

Пакеты являются стандартными блоками Windows 10 IoT Базовая. От драйверов устройств до системных файлов каждый компонент необходимо упаковать для установки на устройстве. Пакеты — это наименьшие единицы обслуживания на устройстве.

Шаг 1. Настройка

Установка инструментов

  1. Комплект средств оценки и развертывания Windows (Windows ADK)
  2. Надстройки ADK Для Интернета вещей Core

Настройка среды

  • Launch IoTCorePShell.cmd ( этот запуск запускается в командной строке с повышенными привилегиями )
  • Создание рабочей области с помощью new-ws C:\MyWorkspace <oemname> <arch>

Чтобы создать собственный образ (FFU), выполните действия, описанные в лаборатории "Создание базового образа" в руководстве по производству Интернета вещей.

Шаг 2. Создание пакета

  1. Создайте XML-файл определения пакета (wm.xml файл) и укажите файлы и ключи реестра, которые требуется добавить. Дополнительные сведения см. в разделе Схема пакета универсального изготовителя оборудования Windows.

  2. Выполните сборку пакета: buildpkg filename.wm.xml. Файл .cab будет создан в каталоге <workspace>\Build\<arch>\pkgsсборки .

Создание пакета с файлами и ключами реестра

Ниже приведен пример указания файлов и ключей реестра.

<?xml version="1.0" encoding="utf-8"?>
<identity xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    name="SUBNAME" namespace="COMPNAME" owner="Contoso" legacyName="Contoso.COMPNAME.SUBNAME" 
    xmlns="urn:Microsoft.CompPlat/ManifestSchema.v1.00">
    <onecorePackageInfo
        targetPartition="MainOS"
        releaseType="Production"
        ownerType="OEM" />
    <regKeys>
        <regKey
            keyName="$(hklm.software)\Contoso\Test">
            <regValue name="StringValue" type="REG_SZ" value="Test string" />
            <regValue name="DWordValue" type="REG_DWORD" value="0x12AB34CD" />
            <regValue name="BinaryValue" type="REG_BINARY" value="12ABCDEF" />
        </regKey>
        <regKey
            keyName="$(hklm.software)\Contoso\EmptyKey" />
    </regKeys>
    <files>
        <file
            destinationDir="$(runtime.system32)"
            source="filename.txt" />
        <file
            destinationDir="$(runtime.bootDrive)\OEMInstall"
            source="filename2.txt"
            name="filename2.txt" />
    </files>
</identity>

Создание пакета Appx

Используйте Add-IoTAppxPackage , чтобы создать wm.xml-файл для данного appx-файла. Это средство ожидает зависимости appx в подкаталоге с именем dependencies в папке, содержащей файл appx.

Add-IoTAppxPackage HelloWorld.appx fga Appx.HelloWorld
(or) newappxpkg HelloWorld.appx fga Appx.HelloWorld
New-IoTCabPackage Appx.HelloWorld
(or) buildpkg Appx.HelloWorld

fga Задает appx в качестве начального приложения переднего плана, bgt задает appx в качестве фоновой задачи и none пропускает настройку запуска. Сведения о более старой программе командной строки см. в разделе newappxpkg.cmd.

Пример см. в разделе Appx.IoTCoreDefaultApp .

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

newappxpkg AnotherApp.appx none Appx.AnotherApp skipcert

См. также раздел

Создание пакета драйверов

Пакет драйвера содержит ссылки (InfSource) на INF-файл драйвера. Вы можете создать wm.xml-файл драйвера вручную или использовать Add-IoTDriverPackage , который создает XML-файл пакета на основе входного INF-файла.

Add-IoTDriverPackage C:\Mydriver\GPIO.inf MyDriver.GPIO
(or) newdrvpkg C:\Mydriver\GPIO.inf MyDriver.GPIO
New-IoTCabPackage MyDriver.GPIO
(or) buildpkg MyDriver.GPIO

Для более старой программы командной строки используйте inf2cab.cmd , чтобы создать XML-файл пакета, а также выполнить сборку CAB-файла напрямую путем внутреннего вызова buildpkg.cmd .

Примечание

Windows IoT Базовая поддерживает только universal Inf.

См. также раздел

Шаг 3. Установка на устройстве


  • Подключение к устройству (с помощью SSH или PowerShell)
  • Скопируйте файл на <filename>.cab устройство в каталог C:\OemInstall.
  • Инициируйте промежуточное хранение пакета с помощью applyupdate -stage C:\OemInstall\<filename>.cab. Обратите внимание, что этот шаг повторяется для каждого пакета при наличии нескольких пакетов для установки.
  • Зафиксируйте пакеты с помощью applyupdate -commit.

Примечание

Вы также можете установить cab с помощью клиентский компонент Центра обновления Windows > параметр установки CAB на портале устройств Windows. Устройство перезагрузится в ОС обновления (с шестеренками) для установки пакетов и перезагрузится снова, чтобы main ОС. Это может занять несколько минут.