組み込みの Windows イメージを含む Microsoft Store アプリを削除または更新した後、Sysprep が失敗する
この記事では、Microsoft Store を使用してプロビジョニングされた Microsoft Store アプリを削除または更新し、コンピューターで sysprep を実行するときに発生する問題について説明します。
適用対象: Windows 10 - すべてのエディション、Windows 11
元の KB 番号: 2769827
概要
Sysprep は、重複、監査、顧客の配信のために Windows のインストールを準備する IT 管理者向けのツールです。 この記事のガイダンスは、サポート エージェントと IT プロフェッショナルによる使用を目的としています。 Microsoft Store アプリの使用中に問題が発生しているホーム ユーザーの場合は、「Microsoft Store のアプリに関する問題を解決する」を参照してください。
いくつかの Microsoft Store アプリは Windows イメージに組み込まれています。 これらのアプリには、メール、マップ、メッセージング、Bing、旅行、ニュースなどのアプリが含まれます。 これらのアプリは、 プロビジョニングされた アプリと呼ばれます。 プロビジョニングされたアプリはイメージでステージングされ、最初のログオン時に Windows イメージのすべてのユーザーに対してインストールされるようにスケジュールされます。 組み込みのアプリに加えて、Microsoft Store に公開しなくても、独自の基幹業務 Microsoft Store アプリを Windows イメージにサイドロードできます。 パッケージをサイドロード Appx
するには、DISM.exe または DISM PowerShell モジュールで使用できるオンラインまたはオフラインのサービス コマンドを使用します。
現象
次のようなシナリオを考えてみましょう。
シナリオ 1
- sysprep とキャプチャするカスタム Windows 10またはWindows 11参照コンピューターを作成しています。
- プロビジョニングされた Microsoft Store アプリ (
Appx
パッケージ) の一部をこの参照コンピューターから削除する必要があります。 - を実行
dism -online /Remove-ProvisionedAppxPackage /PackageName:<packagename>
してパッケージのプロビジョニングを解除しますAppx
。
このシナリオで sysprep 操作を実行すると、次のエラーで操作が失敗する可能性があります。
システム準備ツール 3.14
マシンを sysprep しようとしたときに致命的なエラーが発生しました
シナリオ 2
- 既存の Windows イメージがあり、いくつかの Microsoft Store アプリがイメージにサイドロードされています。
- サイドロード
Appx
されたパッケージの一部をイメージから削除し、さらにカスタマイズする必要があります。 - 参照コンピューターで起動し、次のいずれかの PowerShell コマンドを実行して、パッケージのプロビジョニングを
Appx
削除します。Remove-AppxProvisionedPackage -PackageName <packagename>
Remove-ProvisionedAppxPackage -PackageName <packagename>
このシナリオで sysprep 操作を実行すると、次のエラーで操作が失敗する可能性があります。
システム準備ツール 3.14
マシンを sysprep しようとしたときに致命的なエラーが発生しました
シナリオ 3
- Windows 10またはWindows 11参照イメージを作成しています。
- Microsoft Store に接続し、Microsoft Store を使用して組み込みの Microsoft Store アプリを更新します。
このシナリオで sysprep 操作を実行すると、次のエラーで操作が失敗する可能性があります。
システム準備ツール 3.14 マシンの準備中に致命的なエラーが発生しました
さらに、SetupErr.logでは、次のエラー エントリが表示される場合があります。
<日付><時刻>、エラー SYSPRP パッケージ <PackageFullName> がユーザーにインストールされましたが、すべてのユーザーに対してプロビジョニングされたわけではありません。 このパッケージは sysprep イメージで正しく機能しません。
<日付><時刻>、エラー SYSPRP 現在のユーザーのアプリを削除できませんでした: 0x80073cf2。
<日付><時刻>、エラー SYSPRP RemoveAllApps スレッドの終了コードが0x3cf2されました。
<日付><時刻>、エラー [0x0f0082] SYSPRP ActionPlatform::LaunchModule: C:\Windows\System32\AppxSysprep.dll から 'SysprepGeneralize' の実行中にエラーが発生しました。dwRet = 0x3cf2
<日付><時刻>、エラー SYSPRP ActionPlatform::ExecuteAction: アクションの実行中のエラー、dwRet = 0x3cf2
<日付><時刻>、エラー SYSPRP ActionPlatform::ExecuteActionList: 実行アクションのエラー、dwRet = 0x3cf2
<日付><時刻>、エラー SYSPRP SysprepSession::Execute: C:\Windows\System32\Sysprep\ActionFiles\Generalize.xml からのアクションの実行中にエラーが発生しました。dwRet = 0x3cf2
<日付><時刻>、エラー SYSPRP RunPlatformActions:SysprepSession アクションの実行中に失敗しました。dwRet = 0x3cf2
<日付><時刻>、エラー [0x0f0070] SYSPRP RunExternalDlls:レジストリ sysprep DLL の実行中にエラーが発生し、sysprep の実行が停止しました。 dwRet = 0x3cf2
<日付><時刻>、エラー [0x0f00a8] SYSPRP WinMain:Sysprep の処理中のヒット エラーは内部プロバイダーを一般化します。hr = 0x80073cf2
原因
Sysprep には、パッケージをクリーンAppx
し、イメージを一般化するために Windows に追加されたプロバイダーがあります。 プロバイダーは、パッケージが Appx
ユーザーごとのパッケージまたはすべてのユーザー プロビジョニング パッケージの場合にのみ機能します。
- ユーザーごとのパッケージ は、パッケージが特定の
Appx
ユーザー アカウント用にインストールされ、コンピューターの他のユーザーが使用できないことを意味します。 - すべてのユーザー パッケージ は、このイメージを
Appx
使用するすべてのユーザーがアプリにアクセスできるように、 がイメージにプロビジョニングされていることを意味します。
イメージにプロビジョニングされているすべてのユーザー パッケージがイメージから手動でプロビジョニング解除されたが、特定のユーザーに対して削除されなかった場合、プロバイダーは sysprep 中にこのパッケージをクリーンアップするときにエラーが発生します。 また、イメージにプロビジョニングされたすべてのユーザー パッケージがこの参照コンピューターのユーザーによって更新された場合、プロバイダーも失敗します。
解決方法
この問題を解決するには、sysprep を実行しているユーザーのパッケージを削除し、プロビジョニングも削除します。 それには、以下の手順を実行します。
注:
Microsoft Store がアプリを更新できないようにするには、イメージを作成する前に、インターネット接続を取り外すか、監査モードで自動Updatesを無効にします。
Windows PowerShell コマンドレットを実行します。
Import-Module Appx Import-Module Dism Get-AppxPackage -AllUsers | Where PublisherId -eq 8wekyb3d8bbwe | Format-List -Property PackageFullName,PackageUserInformation
注:
- この最後のコマンドレットの出力で、パッケージがインストール済みとして表示されているユーザーをチェックします。 参照コンピューターからこれらのユーザー アカウントを削除するか、これらのユーザー アカウントを使用してコンピューターにログオンします。 次に、手順 2 のコマンドレットを実行してパッケージを削除します
Appx
。 - このコマンドは、Microsoft によって発行され、その参照コンピューターの任意のユーザーによってインストールされたすべてのパッケージを一覧表示します。 コンピューターは sysprepped であるため、これらのユーザー プロファイルではパッケージが不要になると想定しています。
- 他の発行元に属するアプリを手動でプロビジョニングした場合は、次のコマンドを実行して一覧表示します。
Get-AppxPackage -AllUsers | Format-List -Property PackageFullName,PackageUserInformation
次のコマンドレットを実行してパッケージを削除
Appx
します。Remove-AppxPackage -Package <packagefullname>
次のコマンドレットを実行して、プロビジョニングを削除します。
Remove-AppxProvisionedPackage -Online -PackageName <packagefullname>
更新の問題から回復しようとすると、次の手順に従った後でアプリを再プロビジョニングできます。
注:
オフライン イメージをサービスしている場合、この問題は発生しません。 そのシナリオでは、プロビジョニングはすべてのユーザーに対して自動的にクリアされます。 これには、コマンドを実行するユーザーが含まれます。
詳細
アプリを追加および削除する方法の詳細については、次を参照してください。
データ収集
Microsoft サポートの支援が必要な場合は、「展開関連の問題について TSS を使用して情報を収集する」に記載している手順に従って情報を収集することをお勧めします。
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示