实验 5:配置 Shell 启动程序或分配的访问权限

许多 IoT 设备方案需要自定义用户体验,方法是在 Windows 启动时自动启动应用程序或自定义 shell 体验。 使用自定义 shell 体验可使 OEM 能够创建受控的用户体验,其中 Windows UI 会隐藏,而 OEM 应用程序是焦点。 Windows 10 IoT 企业版有两种自定义 shell 功能可实现此自定义用户体验。

  • Shell 启动程序使 OEM 可以将经典的非 UWP 应用设置为系统 shell。 使用 Shell 启动程序的优点是能够基于 OEM 应用程序的退出代码提供自定义操作。 例如,如果 OEM 应用程序使用特定退出代码退出,则系统可以配置为自动重新启动应用程序、重新启动或关闭设备等。

  • 分配的访问权限使 OEM 可以将 UWP 应用程序设置为系统 shell。 与 Shell 启动程序类似,分配的访问权限可以在应用程序关闭时自动重新启动应用程序,从而使设备保持预期的用户体验。

若要以全自动化的方法启用这些功能,请考虑使用 Windows 10 IoT 企业版部署框架

先决条件

完成实验 4:应具有已进行 sysprep 且已准备好进行捕获的基本映像。

在 IoT 设备上完成 OOBE 过程

在实验室 4 中,我们使用 Sysprep 使系统准备好进行捕获和部署。 以下步骤假定你使用来自实验 4 的映像。 这些步骤适用于尚未 Sysprepped 但 OOBE 体验已完成的系统。

在参考系统上完成 OOBE 过程

  1. 打开参考 IoT 设备并启动到 OS 分区。 OS 处于 Sysprep 状态,OOBE 应开始。

  2. 完成 OOBE 体验。 选择与设备要求匹配的设置。

注意

可以使用答案文件以及 Sysprep 提前回答 OOBE 问题,以便完全自动执行 OOBE 体验。 有关详细信息,请参阅 Windows 10 IoT 企业版 部署框架中的应答文件示例。

启用和配置 Shell 启动程序

启用 Shell 启动程序

设备启动到桌面后,便启用 Shell 启动程序。 在管理命令提示符中输入以下命令:

DISM /online /Enable-Feature /FeatureName:Client-EmbeddedShellLauncher 

配置 Shell 启动程序以运行 OEM 应用程序

启用 Shell 启动程序后,可以将应用程序设置为 Windows Shell。 在以下步骤中,我们将介绍如何使用 notepad.exe 作为当前用户的 shell。 在设备中,使用其他应用程序代替Notepad.exe来配置系统以使用 OEM 应用程序作为 shell,但步骤相同。 请参阅 Shell 启动程序以了解详细信息。

若要将 Notepad.exe 设置为自定义 shell,请执行以下操作:

  1. 从 PowerShell 中运行:

    $ShellLauncherClass = [wmiclass]"\\localhost\root\standardcimv2\embedded:WESL_UserSetting"
    
    $ShellLauncherClass.SetDefaultShell("notepad.exe",1)
    
    $ShellLauncherClass.SetEnabled($TRUE)
    
  2. 重新启动参考 IoT 设备。

  3. 系统重新启动,记事本作为默认系统 shell 启动。

启用和配置分配的访问权限

以下实验室步骤提供了有关如何安装适用于分配访问权限的 UWP 应用程序以及将系统配置为在启动时自动启动应用程序的链接。 UWP 应用程序必须能够在锁屏界面上方运行,才能正确使用分配的访问权限。

注意

请在创建用于分配的访问权限的展台应用处,查看有关针对分配的访问权限的 UWP 应用程序要求的详细信息。

旁加载 UWP 应用程序并配置分配的访问权限以运行它

在本实验室中,通过将 UWP 应用旁加载到系统,将 UWP 应用添加到映像中。 对于生产方案,请遵循有关部署已签名 UWP 应用程序的指南。

  1. 编译 UWP 应用程序,然后按照打包 UWP 应用中的步骤生成 APPX 包。

  2. 按照旁加载应用包中的步骤旁加载 UWP 应用程序

  3. 按照使用 Windows PowerShell 设置展台中的步骤完成该过程。

注意

对于需要多个应用的方案,请按照设置多应用展台中的步骤操作