組み込みの Windows イメージを含む Microsoft Store アプリを削除または更新した後で sysprep が失敗する

適用対象: Windows 8Windows 8 EnterpriseWindows 8 Pro 詳細

概要


この資料では、Microsoft Store を使用して、プロビジョニングされた Microsoft Store アプリを削除または更新してから、sysprep をコンピューターで実行した場合に発生する問題について説明します。

sysprep は、複製用、監査用、およびお客様への配信用に Windows のインストールを準備する IT 管理者向けのツールです。 この記事の説明は、この記事は、サポート エージェントおよび IT プロフェッショナルが使用することを前提としています。 ホーム ユーザーで、Microsoft Store アプリを使用中に問題が発生する場合は、次の Windows Web サイトを参照してください。

はじめに


複数の Microsoft Store アプリには、組み込みの Windows 10 および Windows 8 のイメージが含まれています。 このようなイメージには、メール、地図、メッセージ、Bing、トラベル、ニュース アプリなどがあります。 これは、プロビジョニングされたアプリと呼ばれています。 プロビジョニングされたアプリはイメージでステージングされ、Windows イメージのすべてのユーザーが最初にログオンするたびに、インストールするようスケジュールされています。 組み込みのアプリに加え、自分のビジネス基幹の Microsoft Store アプリを、Microsoft Store に発行することなく Windows イメージにサイドローディングが可能です。 Appx パッケージは、 DISM.exe で利用できるオンラインまたはオフライン サービス コマンドまたは DISM PowerShell を使用してサイドローディングできます。

現象


次のような状況で発生する問題について説明します。
 
シナリオ 1
  • sysprep およびキャプチャーをするカスタム Windows 10 または Windows 8 の参照コンピューターを作成しています。
  • プロビジョニングされた 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
  • Microsoft Windows 10 または Windows 8 の参照イメージを作成している
  • Windows 10 または Windows 8 Store に接続してから、Microsoft Store を使用して、組み込みの Microsoft Store を更新します。
このシナリオで sysprep 操作を実行すると、次のエラーによって操作が失敗することがあります。
 
システム準備ツール 3.14
コンピューターの sysprep を実行中に致命的なエラーが発生しました。


さらに、SetupErr.log に次のエラーが表示されていることがあります。
 
<Date> <Time>, Error SYSPRP Package <PackageFullName> was installed for a user, but not provisioned for all users. (<Date> <Time>, Error SYSPRP Package <PackageFullName> は、ユーザーにインストールされましたが、すべてのユーザーにプロビジョニングされていません。) This package will not function properly in the sysprep image. (このパッケージは、sysrep イメージでは正常に動作しません。)
<Date> <Time>, Error SYSPRP Failed to remove apps for the current user: (<Date> <Time>, Error SYSPRP は、現在のユーザーのアプリを削除できませんでした。) 0x80073cf2.
<Date> <Time>, Error SYSPRP Exit code of RemoveAllApps thread was 0x3cf2. (<Date> <Time>, RemoveAllApps スレッドの Error SYSPRP Exit コードは 0x3cf2 でした。)
<Date> <Time>, Error [0x0f0082] SYSPRP ActionPlatform::LaunchModule: Failure occurred while executing 'SysprepGeneralize' from C:\Windows\System32\AppxSysprep.dll; dwRet = 0x3cf2 (C:\Windows\System32\AppxSysprep.dll; dwRet = 0x3cf2 から 'SysprepGeneralize’の実行中、エラーが発生しました。)
<Date> <Time>, Error SYSPRP ActionPlatform::ExecuteAction: Error in executing action; dwRet = 0x3cf2 (dwRet = 0x3cf2 の操作を実行中にエラーが発生しました。)
<Date> <Time>, Error SYSPRP ActionPlatform::ExecuteActionList: Error in execute actions; dwRet = 0x3cf2 (dwRet = 0x3cf2 の操作を実行中にエラーが発生しました。)
<Date> <Time>, Error SYSPRP SysprepSession::Execute: Error in executing actions from C:\Windows\System32\Sysprep\ActionFiles\Generalize.xml; dwRet = 0x3cf2 (C:\Windows\System32\Sysprep\ActionFiles\Generalize.xml; dwRet = 0x3cf2 で操作を実行中にエラーが発生しました。)
<Date> <Time>, Error SYSPRP RunPlatformActions:Failed while executing SysprepSession actions; dwRet = 0x3cf2 (<Date> <Time>, SysprepSession actions; dwRet = 0x3cf2 の実行中に Error SYSPRP RunPlatformActions:Failed が発生しました。)
<Date> <Time>, Error [0x0f0070] SYSPRP RunExternalDlls:An error occurred while running registry sysprep DLLs, halting sysprep execution. dwRet = 0x3cf2 (<Date> <Time>, Error [0x0f0070] SYSPRP RunExternalDlls: レジストリ sysprep DLLs の実行中にエラーが発生し、sysprep の実行が停止しました。dwRet = 0x3cf2)
<Date> <Time>, Error [0x0f00a8] SYSPRP WinMain:Hit failure while processing sysprep generalize internal providers; hr = 0x80073cf2 (<Date> <Time>, Error [0x0f00a8] SYSPRP WinMain: sysprep で、汎用化する内部プロバイダー hr = 0x80073cf2 の処理中にエラーが発生しました。)

原因


sysprep には、Appx パッケージを削除してイメージを汎用化する Windows 10 および Windows 8 に追加されたプロバイダーが含まれています、 このプロバイダーは、Appx パッケージが、ユーザー単位のパッケージか、すべてのユーザーがプロビジョニングされたパッケージの場合にのみ動作します。
  • Per-user package (ユーザー単位のパッケージ)とは、Appx パッケージが特定のユーザー アカウントにインストールされていて、このコンピューターの他のユーザーは利用できないパッケージです。
  • All-user package (すべてのユーザー向けパッケージ) は、Appx がイメージにプロビジョニングされているため、このイメージを使用するすべてのユーザーがこのアプリにアクセスできます。

イメージにプロビジョニングされたすべてのユーザー向けパッケージがイメージから手動でプロビジョニング解除され、特定のユーザーから削除されない場合、sysrep でこのパッケージをクリーニングする際に、プロバイダーでエラーが発生します。 また、イメージにプロビジョニングされた all-user パッケージが、この参照コンピューターのいずれかのユーザーによって更新された場合、プロバイダーでエラーが発生します。

解決方法


この問題を解決するには、sysrep を実行しているユーザーのパッケージを削除してから、プロビジョニングも削除します。 これを行うには、次の手順を実行します。

注: Microsoft Store でアプリが更新されないようにするには、イメージを作成する前に、インターネット接続を切断するか、監査モードで自動更新を無効にします。
  1. PowerShell コマンドレットで Import-Module Appx を実行します。
  2. Import-Module Dism を実行します。
  3. Get-AppxPackage -AllUser | Where PublisherId -eq 8wekyb3d8bbwe | Format-List -Property PackageFullName,PackageUserInformation を実行します。

    注意事項
    • 最後のコマンドレットの出力で、パッケージに Installed と表示されているユーザーを確認します。 参照コンピューターからユーザー アカウントを削除するか、このユーザー アカウントを使用してコンピューターにログオンします。 次に、方法 4 に示したコマンドレットを実行して、Appx パッケージを削除します。
    • このコマンドは、Microsoft が発行したすべてのパッケージ、および参照コンピューターのいずれのユーザーによってインストールされたすべてのパッケージを一覧で表示します。 コンピューターは sysprep されているため、このようなユーザー プロファイルはパッケージを必要としないと見なされます。
    • 他の発行元に所属する、主デオウでプロビジョニングされたアプリがある場合、次のコマンドを実行して一覧で表示します。

      Get-AppxPackage -AllUser | Format-List -Property PackageFullName,PackageUserInformation
  4. Remove-AppxPackage -Package <packagefullname> を実行します。
  5. 次のコマンドレットを実行して、プロビジョニングを削除します。

    Remove-AppxProvisionedPackage -Online -PackageName <packagefullname>
更新の問題からリカバリしている場合は、この手順を実行してから、アプリを再度プロビジョニングできます。

注: オフライン イメージのサービスを提供している場合、この問題は発生しません。 このシナリオでは、プロビジョニングはすべてのユーザーに対し自動的にクリアされます。 これには、コマンドを実行するユーザーが含まれます。

詳細情報


アプリを追加および削除する方法の詳細については、次の TechNet リソースを参照してください。