实验 1d:将网络和其他预配程序包设置添加到映像

使用预配程序包可对现有的 Windows IoT 核心版安装映像中应用自定义设置。 我们将说明需要执行哪些步骤来创建可应用于 Windows 10 IoT 核心版 FFU 映像的预配程序包。

注意

若要测试 WiFi,板需要支持 WiFi。 可以使用 WiFi 适配器/dongle 或者内置了 Wi-Fi 的板(例如 Raspberry Pi 3)。

对于本实验,我们将使用 ProductB,其中包含可显示网络状态的默认应用 (Bertha)。

先决条件

确保事先已根据将应用添加到映像中所述,创建了包含你的自定义应用的映像。

需要安装以下工具才能完成本部分:

  • Windows 评估和部署工具包 (Windows ADK)
  • Windows 配置设计器
  • IoT 核心版 PowerShell 环境
  • 一个文本编辑器,例如记事本或 VS Code

安装 Windows 配置设计器

我们将使用 Windows 配置设计器 (WCD) 为 IoT 核心版映像创建预配程序包。 在 Windows 配置设计器中可以创建预配程序包用于配置运行 Windows 10 IoT 核心版的设备。

Windows ADK 工具包随附了 Windows 配置设计器,应事先将它安装在技术人员电脑上。 如果没有,请运行 Windows ADK 工具包的安装,并确保在安装时选中“配置设计器”选项。

Windows ADK 中的配置设计器

为预配程序包创建 WCD 项目

若要为设备创建预配程序包,需要在 Windows 配置设计器中创建一个项目。 创建此项目后,可以指定要包含在 FFU 映像中的配置自定义项。

  1. 在 IoT 核心版映像电脑(技术人员电脑)上,运行“Windows 映像和配置设计器”。

  2. 单击“文件>新建项目”创建新项目。 对于本示例,我们创建了一个名为 TestProvPackage 的项目。

  3. 选择“预配程序包”,然后单击“下一步”。

  4. 在“选择要查看和配置的设置”页上,选择“Windows 10 IoT 核心版”。 单击“下一步”。

设计器中的“新建项目”

  1. 在“导入预配程序包(可选)”页上,将输入字段留空并单击“完成”。

  2. 添加示例设置:

a. 展开 运行时设置 > 连接配置文件 > WLAN > 设置 > SSID

b. 键入 Wi-Fi 网络名称(例如 ContosoWiFi),然后单击“添加”。

c. 展开 SSID > WLANXmlSettings > SecurityType 并选择“打开”等设置。

d. 展开 SSID > WLANXmlSettings > AutoConnect 并选择 TRUE 等设置

e. 可选:若要添加多个 WLAN 网络,请返回“WLANSetting”并重复上述过程。

  1. 可选:通过 UI 添加其他应用、驱动程序和设置。 有关详细信息,请参阅使用 Windows ICD 配置自定义项

  2. 导出预配程序包。 例如,单击“导出>预配包>”“下一步>” (取消选中“下一个>生成”) >“加密包”框。 (有关详细信息,请参阅导出预配程序包。)

重要

当你对预配程序包进行任何更改时,Windows 配置设计器会递增预配文件 (customizations.xml) 中的版本号。 从 Windows 10 版本 1709 开始,预配程序包的版本号与常规包版本一样,也是一个四位数的部件号。 在以前的版本(1709 之前的版本)中,版本号不是“<主要版本号>.<次要版本号>”格式,而是一个带小数点的编号。 例如,1.19 是低于 1.2 的版本。

注意

或者,可以使用任何所需更改(包括上述 wifi 设置)更新 C:\MyWorkspace\Source-<arch>\Products\ProductB\prov 中的 customizations.xml。 在这种情况下,不需要新包。 如果进行更改,请确保递增版本号。 有关详细信息,请参阅 Windows 预配应答文件

  1. 从工作区打开“IoTCorePShell.cmd”文件并执行以下 PowerShell 命令。
Add-IoTProvisioningPackage Prov.WiFiSettings "C:\IoT\Provisioning\WiFiSettings\WiFiSettings.ppkg"
(or) newprovpkg Prov.WiFiSettings "C:\IoT\Provisioning\WiFiSettings\WiFiSettings.ppkg"

这会在 C:\MyWorkspace\Common\Packages\Prov.WifiSettings 中创建一个新文件夹。

这还会将 FeatureID PROV_WIFISETTINGS 添加到 C:\MyWorkspace\Common\Packages\OEMCOMMONFM.xml 文件。

  1. 生成用于预配的 cab 文件。

    New-IoTCabPackage Prov.WifiSettings
    (or) buildpkg Prov.WifiSettings
    

更新项目的配置文件

  1. 使用 Add-IoTProductFeature 更新产品测试配置文件

    Add-IoTProductFeature ProductB Test PROV_WIFISETTINGS -OEM
    (or) addfid ProductB Test PROV_WIFISETTINGS -OEM
    

生成并测试映像

创建基本映像中所述再次生成 FFU 映像。 只需运行 New-IoTFFUImage 命令:

New-IoTFFUImage ProductX Test
(or)buildimage ProductX Test 

生成 FFU 文件并按照刷写 Windows IoT 核心版映像中所述将其刷入硬件设备后,在打开设备时应该会应用预配程序包自定义项。 在本示例中,默认应用是 IoT 核心版默认应用,在设备启动时,该应用会显示有关映像的基本信息。

测试是否已应用预配设置

  1. 从 IoT 设备上拔下任何网线。

  2. 选择默认值。 在“让我们连接吧”屏幕上,选择“跳过此步骤”。

  3. 如果你的无线网络在连接范围内,则此屏幕将显示已成功连接该网络,并显示该网络的 IP 地址。

测试网络连接并上传应用

可以连接到设备的门户页以排查网络连接问题、上传应用或查看有关设备的更多详细信息。

  1. 将技术人员电脑和设备连接到同一网络。

    例如,若要通过有线网络进行连接,请插入以太网网线。 若要通过无线网络进行连接,请确保技术人员计算机和 IoT 核心版设备连接到同一无线网络。

  2. 在技术人员电脑上打开 Internet Explorer,然后键入带有 http:// 前缀和 :8080 后缀的设备 IP 地址。

    http://10.123.45.67:8080
    
  3. 出现提示时,请输入设备的默认用户名和密码。 (默认为:Administrator \ p@ssw0rd)

    此时将打开 Windows 设备门户。 在此处,你可以上传应用包,查看安装的应用并在应用之间切换。

  4. 单击“ 网络>配置文件”。 应会看到创建的 Wi-Fi 配置文件。

    如果设备能够自动连接到 WiFi 网络,则在“可用网络”下,你应会在配置的网络旁边看到一个勾选标记。

    如果网络需要完成接受许可条款等步骤,则设备可能不会自动连接。

疑难解答

检查 Wi-Fi 广播频率(2.4GHz 或 5GHz)。 某些 Wi-Fi 适配器(例如 Raspberry 3 上的内置 Wi-Fi 适配器)仅支持 2.4GHz Wi-Fi 网络。 虽然这是最常用的 Wi-Fi 广播频率,但许多 Wi-Fi 网络以 5GHz 频率广播。 请更改广播频率或使用其他适配器。

确认预配程序包设置可在网络上正常工作。 使用笔记本电脑进行测试:

  1. 断开笔记本电脑与网络的连接:单击系统托盘中的网络图标,选择无线网络,然后单击“断开连接”。

  2. 确认不再连接该网络。

  3. 通过双击“ProductAProv.ppkg”安装预配程序包。 应会自动连接无线网络。

检查是否已将配置文件添加到设备

  1. 使用以太网连接连接到设备。

  2. 使用 PuTTY 等 SSH 客户端进行连接。

  3. 连接后,检查安装了哪些配置文件:

    netsh wlan show profiles
    

    该网络应出现在用户配置文件列表中。

对每个设备使用不同的设备名称。 这有助于防止网络冲突。 在为设备创建媒体时请设置此名称。

后续步骤

实验 1e:将驱动程序添加到映像