[デスクトップのインポート] ウィザードには、ベース仮想マシン上の非マルチセッション Microsoft Windows 10 または 11 クライアントタイプ オペレーティング システムからほとんどの Windows ストア アプリを削除するオプションがあります。このオプションを選択すると、イメージ作成プロセスによって、イメージ公開プロセスが失敗する典型的な原因の多くを回避できる仮想マシンが作成されます。このオプションは特に、公開プロセスで Sysprep エラーが発生するリスクを低減するために使用されます。
Microsoft Windows 10 または 11 オペレーティング システムで仮想マシンを作成する場合、自動イメージ作成プロセスでは、Microsoft Azure Marketplace で利用可能なバージョンが使用されます。Microsoft ドキュメントのWindows 10 に含まれるさまざまなアプリについてで説明されているように、Microsoft Windows 10 クライアントタイプ システムでは通常、インストールされている Windows アプリおよびプロビジョニングされている Windows アプリ(c:\Program Files\WindowsApps
ディレクトリにインストール済み)が含まれています。そのディレクトリにあらかじめインストールされているアプリケーションに加えて、オペレーティング システムの起動後、自動的に Microsoft ストアから Microsoft がおすすめアプリケーションと呼ぶさまざまな Microsoft ストア アプリケーションをダウンロードしてインストールします。これらのアプリのほとんどが Microsoft System Preparation (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