创建和安装包
包是 Windows 10 IoT 核心版的构建块。 从设备驱动程序到系统文件,每个组件都必须打包安装在设备上。 包是设备上最小的可维护单位。
第 1 步:进行设置
安装工具
设置环境
- 启动
IoTCorePShell.cmd
(在提升的提示中启动) - 使用
new-ws C:\MyWorkspace <oemname> <arch>
创建一个新工作区
要创建你自己的映像(FFU),请按照 IoT 制造指南中的“创建基本映像”实验中概述的步骤进行操作。
第 2 步:创建一个新包
创建包定义 xml 文件(.wm.xml 文件),并指定要添加的文件和注册表项。 可在 Windows 通用版 OEM 包架构中了解详情。
生成包:
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 为给定的 appx 文件生成 .wm.xml 文件。 此工具要求 appx 依赖项位于包含 appx 文件的文件夹中名为“dependencies”的子目录中。
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
另请参阅
创建驱动程序包
驱动程序包中包含对驱动程序 Inf 文件的引用 (InfSource)。 可以手动编写驱动程序 .wm.xml 文件,可以使用 Add-IoTDriverPackage 根据输入的 inf 文件生成包 xml。
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 文件,并通过内部调用 buildpkg.cmd
直接生成 cab 文件。
注意
Windows IoT 核心版仅支持通用 Inf。
另请参阅
步骤 3:在设备上安装
- 连接到设备(使用 SSH 或使用 Powershell)
- 将
<filename>.cab
文件复制到设备的目录中,例如 C:\OemInstall - 使用
applyupdate -stage C:\OemInstall\<filename>.cab
启动包的暂存。 请注意,当你有多个要安装的包时,将对每个包重复此步骤。 - 使用
applyupdate -commit
提交包。
注意
还可以使用 Windows 设备门户中的“Windows 更新”>“CAB 安装”选项来安装 cab。 设备将重新启动到更新 OS(显示齿轮)以安装包,并将再次重新启动到主 OS。 此过程可能需要几分钟。