将应用添加到工厂 OS 映像

Windows 系统工具包包含的脚本可帮助使向工厂 OS 映像添加通用 Windows 应用变得更加容易。 这些脚本会根据添加到工作区的应用自动创建或更新功能清单文件

若要将应用添加到已在运行的映像,请参阅使用设备门户进行连接

先决条件

  • WSK 工作区
  • 一个或多个正确打包的通用 Windows 应用

收集应用

  1. 在技术人员电脑上为应用支持的所有体系结构(x64、x86 和 arm)收集所有 .msix、.msixbundles、.appx 和 .appxbundle 文件(包括所有依赖项和许可证文件)。

  2. 将应用保存到工作区中的默认 Apps 文件夹,例如:C:\Workspace\Apps\。 如果应用各自在其自己的文件夹中,那么可以使用子文件夹。 脚本可以找到你的应用。

    还可以有多个应用包含相同的依赖项文件。 依赖项文件只会添加到最终映像中一次。

    我们的示例使用计算器应用,该应用作为 Microsoft 提供的通用 Windows 平台 (UWP) 应用与 WSK 捆绑在一起。 可以使用来自 UWP 应用示例的应用,或将它替换为自己的应用。

将应用添加到工作区中包含的应用 FM

工作区包含一个空的应用 FM,它已包含在 OEMInput.xml 文件中。 若要将应用添加到映像,请使用 WSK 中的脚本将应用添加到应用 FM。 如果不想使用此 FM,但想要了解如何创建新的应用 FM 并让其包含在 OEMInput.xml 文件中,请参阅创建新应用 FM

将应用添加到工作区的应用 FM:

  1. 以管理员身份启动 Windows 系统工具包生成环境(例如,在装载的 WSK ISO 中,右键单击 E:\SetImagGenEnv.cmd,然后单击“以管理员身份运行”)。

  2. 在 Windows 系统工具包生成环境中,导航到工作区文件夹:

    cd c:\Workspace
    
  3. 将工作区根变量设置为指向“将 WSKWorkspaceRoot 环境变量更新为指向你的工作区”。

    C:\Workspace\SetWSKWorkspaceRoot.cmd
    
  4. 将工作区中的应用添加到随附的应用 FM:使用 WSK 中的脚本更新应用 FM,以便它包含工作区中的应用。

    运行 UpdateWSKAppsFM 脚本,将工作区 Apps 文件夹 (%WSKWorkspaceRoot%\Apps) 中的所有应用添加到 OEMAppsFM.xml。 此 FM 中列出的所有应用都将包含在映像中。

    UpdateWSKAppsFM
    

    如果未指定任何选项,该脚本将更新 %WSKWorkspaceRoot%\FMFiles\OEMAppsFM.xml 文件,使之包含工作区的 Apps 文件夹中的所有应用。 有关脚本选项,请参阅下面的 UpdateWSKAppsFM 语法

    默认情况下,应用包含在所有映像设计中,但如果你使用一组集中的附件创建多个映像设计,则可以添加应用标识符并将应用标记为可选

    添加、删除或更新应用时,请重新运行 UpdateWSKAppsFM 以将更改添加到功能清单中。 如果对功能清单进行了其他编辑(例如,将应用设置为可选),那么没什么问题。 脚本不会影响这些更改。

创建新应用 FM

可以使用 Windows 系统工具包中的脚本来创建新应用 FM:

从 Windows 系统工具包环境中:

  1. 将要包含的应用放在文件夹中。

  2. 运行 CreateWSKAppsFM 脚本以包含应用文件夹中的所有应用。 指定新应用 FM 的名称和应用文件夹:

    CreateWSKAppsFM -fmfile %WSKWorkspaceRoot%\FMFiles\NewOEMAppsFM.xml -AppsFolder C:\NewApps
    

    有关脚本选项,请参阅下面的 CreateWSKAppsFM 语法

    例如,此脚本会创建一个新的功能清单文件,例如 %WSKWorkspaceRoot%\FMFiles\NewOEMAppsFM.xml,其中包含每个应用的位置。

    默认情况下,应用包含在所有映像设计中,但如果你使用一组集中的附件创建多个映像设计,则可以添加应用标识符并将应用标记为可选

  3. 将新应用 FM 添加到 OEMInput.xml 文件,方法是将其作为 <AdditionalFM> 添加:

    <AdditionalFM>%WSKWorkspaceRoot%\FMFiles\NewOEMAppsFM.xml</AdditionalFM>
    
  4. 如果添加、删除或更新应用,请运行 UpdateWSKAppsFM 以将应用添加到功能清单中。 如果对功能清单进行了其他编辑(例如,将应用设置为可选),那么没什么问题。 脚本不会影响这些更改:

    UpdateWSKAppsFM -fmfile %WSKWorkspaceRoot%\FMFiles\NewOEMAppsFM.xml -AppsFolder C:\NewApps
    

应用 FM 脚本语法

CreateWSKAppsFM 语法

CreateWSKAppsFM {-FMFile: [path]} {-AppsFolder [Path]} {-IncludeWow}
参数 说明
-FMFile [路径] 要创建的 FM 文件的路径。 默认情况下更新 %WSKWorkspaceRoot%\FMFiles\OEMAppsFM.xml
-AppsFolder [路径] 要在其中搜索应用的文件夹的路径。 默认情况下搜索 %WSKWorkspaceRoot%\Apps
-IncludeWow 在 amd64 映像上添加了对 x86 的支持,在 arm64 映像上添加了对 arm 的支持。

UpdateWSKAppsFM 语法

UpdateWSKAppsFM {-FMFile: [path]} {-AppsFolder [Path]} {-IncludeWow}
参数 说明
-FMFile [路径] 要更新的 FM 文件的路径。 默认情况下创建或替换 %WSKWorkspaceRoot%\FMFiles\OEMAppsFM.xml
-AppsFolder [路径] 要在其中搜索应用的文件夹的路径。 默认情况下搜索 %WSKWorkspaceRoot%\Apps
-IncludeWow 如果设置了此项,它会将 x86 添加到 amd64 映像,将 arm 添加到 arm64 映像。