Windows 11/10 で winget や Microsoft Store が突然動かなくなり、App Installer が 0KB 化して起動不能、エラー 0x80070780/0x80073CF9 が並ぶ――そんな “詰み” に見える状況でも、実は最短で復旧できる鉄板手順があります。本記事は、実際の復旧事例をもとに、破損パッケージの除去から再登録、切り分け、最終修復までを一気通貫で解説します。
「winget」/Microsoft Store が動作しない問題の全体像
症状(事例をもとに再掲)
winget upgrade --allが 0x80070780(ファイルにアクセスできません)で停止する。- Desktop App Installer(App Installer パッケージ)の実体が 0KB になっており起動不能。
- Microsoft Store での更新も 0x80073CF9(インストール/更新失敗)で連続失敗。
sfc /scannowとDISM /RestoreHealthを実施しても改善しない。- Insider Build へアップデートしても問題が継続。
結論(最短ルート)
0KB 化した App Installer はファイルシステムレベルで破損しているため、一般的な SFC/DISM では直りません。最短で効くのは 「破損フォルダーの手動削除 → パッケージ再登録(再インストール)」 です。さらに、アカウント単位かシステム全体かを切り分けると、リセットや移行の判断が速くなります。
背景理解:winget と App Installer、Store の関係
winget(Windows Package Manager)は、Microsoft.DesktopAppInstaller(通称 App Installer)に含まれる実行基盤を前提に動作します。App Installer は Microsoft Store から配信される MSIX/APPX パッケージで、実体は C:\Program Files\WindowsApps 以下の Microsoft.DesktopAppInstaller_*_8wekyb3d8bbwe に格納されます。ここが破損(0KB 化、ACL 破綻、ハードリンク切れ等)すると、Store 更新も winget も連鎖的に失敗しがちです。
作業前の準備(超重要)
- 必ず復元ポイントを作成(ローカル管理者で PowerShell)
Checkpoint-Computer -Description "Pre-AppInstaller-Fix" -RestorePointType "MODIFY_SETTINGS"
- 必要ならユーザーデータのバックアップを取得(プロファイル配下のドキュメント、ピクチャ、AppData の設定など)。
C:\Program Files\WindowsAppsは隠し/保護フォルダー。操作は自己責任、かつ最小限に。可能であれば対象サブフォルダーだけを削除してください。
解決策・手順(保存版)
手順 1:破損したパッケージを手動で除去
- 管理者権限のコマンド プロンプトを開き、所有権とアクセス権を取得。
takeown /f "C:\Program Files\WindowsApps" /r /d y
icacls "C:\Program Files\WindowsApps" /grant administrators:F /t
※この操作は広範囲です。原則として WindowsApps 全体をいじらず、目的のサブフォルダーだけ削除するのが安全です。所有権取得後は不要な変更を広げないこと。
- 以下のフォルダーを削除(存在するもののみ)。
C:\Program Files\WindowsApps\Microsoft.DesktopAppInstaller_*_8wekyb3d8bbwe%LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_*_8wekyb3d8bbwe
補足:削除に失敗する場合は、プロセスが掴んでいることがあります。いったんサインアウト/再起動して、起動直後に同作業を実施するか、セーフモードで実行してください。
(任意)権限を元に戻す
広範囲に所有権を変更した場合は、完了後に TrustedInstaller へ戻しておくと安心です(省略可)。
icacls "C:\Program Files\WindowsApps" /setowner "NT SERVICE\TrustedInstaller" /t /c
手順 2:PowerShell で再登録(再インストール)
- 管理者権限のPowerShellを起動。
- インストール済みパッケージ名を確認。
Get-AppxPackage -Name *DesktopAppInstaller*
- 表示された正確なパッケージ名でアンインストール(例)。
Remove-AppxPackage -Package "Microsoft.DesktopAppInstaller_1.27.210.0_x64__8wekyb3d8bbwe"
- Store キャッシュをリセット。
Wsreset.exe
- 公式のリリースから最新版の Microsoft.DesktopAppInstaller.msixbundle をダウンロード。
- 同ディレクトリで再インストール(PowerShell)。
Add-AppxPackage -Path ".\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle" `
-ForceApplicationShutdown -ForceUpdateFromAnyVersion
- PC を再起動。
補足:インストール画面が「Initialization」で止まっているように見えても、再起動後に反映され正常動作するケースがあります。
手順 3:ユーザープロファイルとシステム全体の切り分け
- 新しいローカル管理者アカウントを作成し、Sign in → Microsoft Store/winget の動作確認。
- 新規アカウントが正常:元アカウントのプロファイル破損の可能性が高い → 必要なデータを移行。
- 新規アカウントでも不具合:システム全体の破損の可能性 → 手順 4 へ。
手順 4:システム修復(全体破損の場合)
- 設定 → システム → 回復 → Reinstall now(Windows Update 型の修復インストール)。
- 改善しない場合:インプレース アップグレード(メディアからの上書き修復)を実施。
- それでもダメなら:この PC をリセット → 個人ファイルを保持 を選択して初期化。
※いずれも実行前のバックアップを推奨します。
復旧後の確認ポイント
winget --infoがエラーなく表示される。winget source reset --forceおよびwinget upgradeがエラーなく実行できる。- Microsoft Store で App Installer/他アプリの更新が完了する。
エラーコードの意味と着眼点
| エラーコード | 典型的な意味 | 主な原因候補 | 有効な対処 |
|---|---|---|---|
| 0x80070780 | ファイルにアクセスできない(破損/権限/ロック) | WindowsApps 内のパッケージ実体が 0KB 化/ACL 崩壊/使用中 | 該当フォルダーの削除 → 再登録、起動直後/セーフモードで再試行 |
| 0x80073CF9 | Store のインストール/更新失敗(配置エラー) | AppX/MSIX の検証失敗、必要フォルダー欠落、キャッシュ破損 | Wsreset、破損パッケージ除去、Add-AppxPackage での再展開 |
なぜ SFC/DISM では直らないのか
App Installer は Store 配信の MSIX パッケージです。SFC/DISM は OS コンポーネント ストア(WinSxS)とシステム ファイルの整合性を主に照合しますが、Store 配信アプリの実体破損(特に WindowsApps 配下のユーザーモード パッケージ)までは一律に修復しません。0KB 化や ACL 破綻が起きている場合は、物理ファイルを除去→パッケージ再登録が最短です。
安全に作業するためのコツ
- 最小権限・最小範囲:
WindowsApps直下全体の権限を変更するのは最後の手段。可能なら該当サブフォルダーのみに限定。 - 再起動のタイミング:所有権取得後や削除後に再起動 → 再登録 → 再起動、の 2 回サイクルが堅実。
- ストレージ健全性:
chkdsk /scanで論理エラー確認。SSD の S.M.A.R.T. も点検。 - 常駐の干渉:セキュリティ製品が
WindowsAppsを監視/隔離していると再展開に失敗することあり。一時的に保護を緩めて試行。
検証・ログ収集のヒント
- winget ログ:
%LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\(DiagOutputDirやWinGet配下) - イベントビューア:アプリケーションとサービス ログ → Microsoft → Windows → AppXDeployment-Server(操作系)
- Store キャッシュ:
Wsreset.exe実行後に再起動してから試す。
具体的コマンド集(コピペ用)
winget の基本確認
winget --info
winget source reset --force
winget upgrade
App Installer の検出と削除/再登録
# 検出
Get-AppxPackage -Name *DesktopAppInstaller* | Select Name, PackageFullName
# 削除(ユーザー単位)
Get-AppxPackage -Name *DesktopAppInstaller* | Remove-AppxPackage
# 再登録(msixbundle を配置したディレクトリで)
Add-AppxPackage -Path ".\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle" `
-ForceApplicationShutdown -ForceUpdateFromAnyVersion
ユーザープロファイル vs システム全体:切り分け早見表
| 観点 | ユーザープロファイル破損 | システム全体破損 |
|---|---|---|
| 新規ローカル管理者アカウント | 正常に動く | 同様に不具合 |
| Store サインイン状態 | サインアウト/サインインで改善することあり | 無関係なことが多い |
| 対処の優先 | データ移行+新規プロファイル利用へ | インプレース or リセットを検討 |
やってはいけない NG パターン
- WindowsApps を丸ごと削除:OS/Store 配信アプリが崩壊します。対象サブフォルダーに限定。
- 権限設定を放置:所有権を管理者に変えたままは、将来の更新失敗の温床。可能なら TrustedInstaller に戻す。
- Store の「修復」「リセット」だけを連打:App Installer 実体が 0KB の場合は効果薄。物理フォルダー除去が先。
再発防止のチェックリスト
- OS と Store アプリを定期更新(再起動を先送りしすぎない)。
- ディスクエラーや突然の電源断を避ける(ファーム更新、電源設定の適正化)。
- 信頼できない「クリーナー」や過激な権限変更ツールを使わない。
- 重要フォルダーのアクセス権を変更したらメモ/自動化スクリプトで復元手段を残す。
よくある質問(FAQ)
Q. Remove-AppxPackage がエラーで削除できません。
A. 実体ファイルが破損/ロックされている可能性。手順 1 のフォルダー削除を先に行い、再起動後に再試行してください。セーフモードでの削除も有効です。
Q. Add-AppxPackage 時に「権限がありません」と出ます。
A. 管理者権限で PowerShell を開いているか確認。WindowsApps の ACL が壊れている場合は、最小限の権限復旧(所有権取得 → 削除 → 再登録 → TrustedInstaller へ戻す)を行ってください。
Q. インストーラーが「Initialization」で止まったように見えます。
A. 実際にはバックグラウンドで配置が完了している場合があります。いったん再起動してから動作確認してください。
実例:本記事の質問ケースの最終結果
質問者は上記の手順 2 まで(PowerShell での正しいパッケージ名の取得 → Remove-AppxPackage → Add-AppxPackage → 再起動)を実施し、winget と Microsoft Store が正常復旧しました。特に「正確なパッケージ名で Remove する」ことと「再起動を挟む」ことが決定打になっています。
ポイントまとめ(おさらい)
- App Installer が 0KB 化している場合は、フォルダー削除 → パッケージ再登録が最速。
Get-AppxPackageで正確なパッケージ名を取得してからRemove-AppxPackageを実行。- インストール UI が止まって見えても、再起動で反映されることがある。
- 新規ユーザーで正常ならプロファイル破損、両方ダメならシステム破損。以後の対処の判断が速くなる。
付録:一括メンテナンス用スクリプト(慎重に)
以下は、対象フォルダーが存在する場合のみ除去して再登録する PowerShell の例です。実行前に復元ポイントとバックアップを必ず作成し、内容を理解した上で使用してください。
$ErrorActionPreference = "Stop"
Write-Host "=== Pre-check ==="
Checkpoint-Computer -Description "Pre-AppInstaller-Script" -RestorePointType "MODIFY_SETTINGS" | Out-Null
$pkgName = (Get-AppxPackage -Name *DesktopAppInstaller* | Select-Object -First 1 -ExpandProperty PackageFullName)
Write-Host "Found package:" $pkgName
Write-Host "=== Remove user package if present ==="
if ($pkgName) {
try { Remove-AppxPackage -Package $pkgName -ErrorAction Stop } catch { Write-Warning $_ }
}
Write-Host "=== Remove residual folders if present ==="
$targets = @(
"$env:ProgramFiles\WindowsApps\Microsoft.DesktopAppInstaller_**8wekyb3d8bbwe",
"$env:LOCALAPPDATA\Packages\Microsoft.DesktopAppInstaller***8wekyb3d8bbwe"
)
foreach ($t in $targets) {
Get-ChildItem $t -ErrorAction SilentlyContinue | ForEach-Object {
Write-Host "Removing $($*.FullName)"
try { Remove-Item -LiteralPath $*.FullName -Recurse -Force -ErrorAction Stop } catch { Write-Warning $* }
}
}
Write-Host "=== Reset Store cache ==="
Start-Process -FilePath "Wsreset.exe" -Wait
Write-Host "=== Reinstall App Installer ==="
# 事前に msixbundle をこのスクリプトと同じ場所へ保存しておく
$bundle = Get-ChildItem -Filter "Microsoft.DesktopAppInstaller*.msixbundle" -File | Select-Object -First 1
if (-not $bundle) { throw "msixbundle が見つかりません。同一フォルダーに配置してください。" }
Add-AppxPackage -Path $bundle.FullName -ForceApplicationShutdown -ForceUpdateFromAnyVersion
Write-Host "=== Done. Please reboot. ==="
付録:トラブル時の追加チェック
- サービス状態:Windows Update、Background Intelligent Transfer Service、Microsoft Store Install Service が停止していないか。
- ネットワーク:企業プロキシや TLS 検査が Store 通信を妨げていないか。
- 日時/地域:時刻ずれで証明書検証に失敗していないか。
この記事の使い方(現場向けショートガイド)
- 復元ポイントを作成 → バックアップ。
- 対象フォルダー(
DesktopAppInstaller_*_8wekyb3d8bbwe)を削除。 - PowerShell で
Remove-AppxPackage→Wsreset.exe→Add-AppxPackage。 - 再起動後、
winget source reset --force→winget upgradeで確認。 - 切り分け:新規ローカル管理者で動くか検証。必要に応じてシステム修復へ。
質問概要(原文要約)
- 症状
winget upgrade --allが 0x80070780 で停止。- Desktop App Installer の実体ファイルが 0KB で起動不能。
- Microsoft Store 更新が 0x80073CF9 で失敗。
sfc /scannowとDISM /RestoreHealthでも改善せず。- Insider Build へアップデート後も継続。
最終的な解決
手順 2(PowerShell による正しいパッケージ名の指定と再インストール)まで実施し、再起動したところ、winget と Microsoft Store が正常に復旧しました。
運用 TIPS:万一に備える小ワザ
- App Installer のバージョンとハッシュを台帳管理(いつでもロールバック可能に)。
- 復旧スクリプトは Intune/Configuration Manager に登録し、緊急配布できる形で保管。
- イベントログのカスタムビューを作っておく(AppXDeployment-Server のエラーだけ抽出)。
チェックリスト(印刷用)
| 項目 | 実施 | 備考 |
|---|---|---|
| 復元ポイント作成 | □ | Checkpoint-Computer |
| 対象フォルダー削除 | □ | WindowsApps / LocalState の該当のみ |
| Remove-AppxPackage | □ | 正確なパッケージ名で |
| Wsreset 実行 | □ | 再起動を伴うと確実 |
| Add-AppxPackage 再登録 | □ | 最新版 msixbundle |
| 再起動 | □ | Initialization 停止見えでも実施 |
| winget/Store 動作確認 | □ | source reset / upgrade |
| 切り分け(新規アカウント) | □ | プロファイル破損判定 |
| システム修復(必要時) | □ | Reinstall now → インプレース → リセット |
最後に
App Installer の 0KB 化は、見た目以上に深刻ですが、対処のセオリーは単純です。破損実体の除去 → 再登録 → 再起動を核に、プロファイル/システムの切り分けと段階的な修復を組み合わせれば、ほとんどのケースで短時間に復旧できます。本記事が現場での迅速な復旧に役立てば幸いです。

コメント