“导入桌面”向导具有一个选项,用于从基础虚拟机 (VM) 上的非多会话 Microsoft Windows 10 或 11 客户端类型操作系统中移除大多数 Windows 应用商店应用程序。如果选择该选项,映像创建过程将生成一个虚拟机,以避免导致映像发布过程失败的很多常见原因。尤其是,可以使用该选项降低在发布过程中出现 Sysprep 错误的风险。

注: 即使启用了该向导的 移除 Windows 应用商店应用程序选项开关,系统也会根据系统中实施的由系统定义的允许列表默认保留某些 AppX 软件包。在导入虚拟机过程结束时,该允许列表中的 AppX 软件包仍会安装在基础虚拟机中。有关 AppX 软件包的允许名单,请参阅本主题底部的部分。

要创建具有 Microsoft Windows 10 或 11 操作系统的虚拟机,自动映像创建过程将使用 Microsoft Azure 应用商店中提供的版本。正如 Microsoft 文档了解 Windows 10 中包含的不同应用程序中所述,Microsoft Windows 10 客户端类型的系统通常包括安装的 Windows 应用程序和置备的 Windows 应用程序(安装在 c:\Program Files\WindowsApps 目录中)。除了预先安装在该目录中的那些应用程序以外,在操作系统启动并运行后,它还会以静默方式自动从 Microsoft 应用商店中下载并安装各种 Microsoft 应用商店应用程序(Microsoft 称之为“建议的应用程序”)。几乎所有这些应用程序都可能会导致 Microsoft 系统准备 (Sysprep) 实用程序出现问题。发布工作流程取决于该实用程序。如果很多 Windows 应用程序保留在虚拟机的操作系统中,此时通常出现的 Sysprep 问题是业界已知的问题,如以下 Microsoft 资源中所述:

通过移除预先安装的大多数 Microsoft 应用商店应用程序并禁止虚拟机的操作系统以静默方式自动安装新的建议应用程序,可以降低在发布映像时出现此类 Sysprep 问题的风险。这些 Windows 应用程序作为 AppX 软件包位于操作系统中。如果选择了移除 Windows 应用商店应用程序的选项,映像创建过程将在虚拟机的操作系统中进行以下更改。

  • 配置以下注册表值以停用 Microsoft 应用商店自动下载和 Microsoft 用户体验。
    表 1. 移除 Windows 应用商店应用程序选项设置的注册表值
    注册表路径 属性名称 详细信息
    HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\WindowsStore AutoDownload 2 停用自动下载 Windows 应用商店应用程序
    HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CloudContent DisableWindowsConsumerFeatures 1 取消激活 Microsoft 用户体验
    HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\ContentDeliveryManager SilentInstalledAppsEnabled 0 停用自动安装建议的 Microsoft 应用商店应用程序,否则 Microsoft Windows 将以静默方式自动下载并安装这些应用程序
  • 停止并停用 Microsoft 应用商店安装服务(InstallService 服务)。
  • 移除已安装到虚拟机操作系统中但未列入系统定义的允许列表的 AppX 软件包(扩展名为 .appx 的文件)。映像创建脚本先使用类似下面的命令获取位于虚拟机操作系统中的 AppX 软件包的名称:
    Get-AppxPackage -AllUsers | Select-Object -Property Name, PackageFullName | Sort-Object -Property Name
    
    然后,对于不在系统允许列表中的每个 AppX 软件包,该脚本会使用类似下面的命令移除已排除的 AppX 软件包:
    Remove-AppxPackage  -Name appx-name
    
    接下来,该脚本还会使用类似下面的命令移除与每个已排除的 AppX 软件包关联的应用程序置备软件包:
    Get-AppxProvisionedPackage -Online | Where-Object {$_.DisplayName -like appx-name} | Remove-AppxProvisionedPackage -Online
    

系统定义的允许的 AppX 软件包

默认情况下,以下 AppX 软件包将列入系统的允许列表。在导入虚拟机过程结束时,这些软件包将保留在生成的基础虚拟机中,即使启用了移除 Windows 应用商店应用程序选项开关也是如此。

Microsoft.DesktopAppInstallers
Microsoft.Messaging
Microsoft.MSPaint
Microsoft.Windows.Photos
Microsoft.MicrosoftStickyNotes
Microsoft.WindowsCalculator
Microsoft.WindowsCommunicationsApps
Microsoft.WindowsSoundRecorder
Microsoft.WindowsStore
Microsoft.Xbox.TCUI
Microsoft.XboxApp
Microsoft.XboxGameCallableUI
Microsoft.XboxGameOverlay
Microsoft.XboxGamingOverlay
Microsoft.XboxIdentityProvider
Microsoft.XboxSpeechToTextOverlay
Windows.CBSPreview
windows.immersivecontrolpanel
Windows.PrintDialog