Задание 1c. Добавление файлов и параметров реестра в образ
Мы создадим некоторые тестовые файлы и разделы реестра для образа Windows IoT Базовая и упаковаем их, чтобы их можно было обслуживать после их распространения среди ваших клиентов. Так как файлы и разделы реестра, добавляемые в образ, часто не относятся к архитектуре, рекомендуется создать общий пакет, который можно использовать во всех архитектурах устройств.
Целей
- Создание пакета, содержащего параметры реестра и файла для устройства
- Упаковка пакета параметров реестра или файла, чтобы его можно было включить в образ FFU
- Изменение файлов конфигурации проекта комплекта надстроек Интернета вещей для включения пакета параметров реестра или файла
- Создание и развертывание образа FFU, содержащего пакет параметров реестра или файла
Мы создадим некоторые тестовые файлы и разделы реестра для образа и снова упаковаем их, чтобы их можно было обслуживать после того, как они обращаются к вашим клиентам.
Мы добавим их в манифест общих функций (OEMCommonFM.xml), который используется в сборках x86, x64 и Arm.
В этом задании мы запустим новый продукт ProductB, чтобы позже мы могли использовать пример приложения Интернета вещей, чтобы получить IP-адрес устройства и убедиться, что файлы и ключи регистрации сделали его.
Необходимые условия
Убедитесь, что вы создали базовый образ из раздела Создание базового образа ранее.
Для выполнения этого действия вам потребуется установить следующие средства:
- Оценка и развертывание Windows KiT (Windows ADK)
- Среда PowerShell IoT Core
- Пакеты Windows 10 IoT Базовая
- IoT Core ADK Add-Ons
- Текстовый редактор, например Блокнот или VS Code.
Создание тестовых файлов
Создайте несколько примеров текстовых файлов с помощью Блокнота и добавьте случайный текст, чтобы эти файлы не были пустыми. В нашем примере мы создали два файла с названиями TestFile1.txt и TestFile2.txt.
Создание пакета для тестовых файлов
Откройте среду PowerShell IoT Core: запустите от
C:\MyWorkspace\IoTCorePShell.cmd
имени администратора и создайте пакет файлов с помощью Add-IoTFilePackage:# Array of files with destinationDir, Source and destinationFilename $myfiles = @( ("`$(runtime.system32)","C:\Temp\TestFile1.txt", ""), ("`$(runtime.bootDrive)\OEMInstall","C:\Temp\TestFile2.txt", "TestFile2.txt") ) Add-IoTFilePackage Files.Configs $myfiles
При этом создается новая папка по адресу
C:\MyWorkspace\Common\Packages\Files.Configs
.При этом в файл также добавляется
C:\MyWorkspace\Common\Packages\OEMCOMMONFM.xml
FILES_CONFIGS FeatureID.Такие переменные, как
$(runtime.system32)
, определяются вC:\Program Files (x86)\Windows Kits\10\Tools\bin\i386\pkggen.cfg.xml
.Создайте пакет реестра с помощью Add-IoTRegistryPackage:
# Array of files with destinationDir, Source and destinationFilename $myregkeys = @( ("`$(hklm.software)\`$(OEMNAME)\Test","StringValue", "REG_SZ", "Test string"), ("`$(hklm.software)\`$(OEMNAME)\Test","DWordValue", "REG_DWORD", "0x12AB34CD") ) Add-IoTRegistryPackage Registry.Settings $myregkeys
При этом создается новая папка по адресу
C:\MyWorkspace\Common\Packages\Registry.Settings
.Кроме того, в файл добавляется
C:\MyWorkspace\Common\Packages\OEMCOMMONFM.xml
REGISTRY_SETTINGS FeatureID.Выполните сборку пакетов с помощью New-IoTCabPackage:
New-IoTCabPackage Files.Configs (or) buildpkg Files.Configs New-IoTCabPackage Registry.Settings (or) buildpkg Registry.Settings
Пакет создан и доступен по адресу
C:\MyWorkspace\Build\<arch>\pkgs
.
Создание нового продукта
Создайте папку продукта.
Add-IoTProduct ProductB RPi2 (or) newproduct ProductB RPi2
Вам будет предложено ввести значения SMBIOS .
Обновление файлов конфигурации проекта
Обновите конфигурацию тестирования продукта, чтобы включить функции с помощью Add-IoTProductFeature:
Add-IoTProductFeature ProductX Test FILES_CONFIGS -OEM
(or) addfid ProductX Test FILES_CONFIGS -OEM
Add-IoTProductFeature ProductX Test REGISTRY_SETTINGS -OEM
(or) addfid ProductX Test REGISTRY_SETTINGS -OEM
Создание и тестирование образа
Создайте образ FFU еще раз, как указано в разделе Создание базового образа. Необходимо выполнить только команду New-IoTFFUImage :
New-IoTFFUImage ProductX Test
(or)buildimage ProductX Test
После сборки файла FFu его можно запустить на аппаратное устройство, как указано в разделе Flashing a Windows IoT Core image ( Flashing a Windows IoT Core image).
Проверка добавления файлов и разделов реестра
Чтобы убедиться, что файлы были добавлены на устройство, выполните следующие действия.
Подключите компьютер технического специалиста и устройство к одной сети Ethernet.
Например, чтобы подключиться по проводной сети, подключите кабель Ethernet. Чтобы подключиться непосредственно к устройству, подключите сетевой кабель непосредственно от компьютера технического специалиста к устройству.
В тестовом приложении запишите IP-адрес устройства. Например, 10.100.0.100.
На компьютере технического специалиста откройте проводник и введите IP-адрес устройства с префиксом \ и суффиксом \c$:
\\10.100.0.100\c$
Используйте имя устройства, учетную запись администратора по умолчанию и пароль для входа. (Значение по умолчанию: minwinpc\Administrator / p@ssw0rd)
Проверьте, существуют ли файлы на устройстве. В нашем примере найдите:
\\10.100.0.100\c$\Windows\system32\TestFile1.txt
\\10.100.0.100\c$\OEMInstall\TestFile2.txt
Проверка разделов реестра
На компьютере технического специалиста подключите устройство с помощью клиента SSH, например PuTTY. Например, используйте IP-адрес и порт 22 для подключения к устройству. Затем войдите в систему, используя учетную запись администратора и пароль. (Дополнительные сведения см. в разделе SSH.
В командной строке клиента SSH запросите в системе раздел реестра. В нашем примере эта команда была выполнена для проверка существования раздела реестра:
reg query HKLM\Software\Fabrikam\Test
Клиент SSH должен отобразить тестовые значения.
Кроме того, для выполнения
reg query
команды можно использовать команду Выполнить на портале устройств Windows на удаленном устройстве.
В окне вывода должны отображаться тестовые значения.