「AppxPackage: リモート プロシージャ コールが失敗しました」というエラーは、PowerShell 経由でアプリを削除または管理しようとしているときに表示されることが多いです。通常、これはリモート プロシージャ コール (RPC)サービスの問題に関連しています。このサービスは基本的に、多くの Windows 操作のバックボーン プロセスです。このサービスが実行されていないか、誤って構成されている場合、事態はすぐに混乱します。また、Windows レジストリの問題(エントリの欠落や破損など) によって、AppxPackageなどのコマンドが失敗することもあります。場合によっては、Windows のバージョンが古い、更新が不完全、またはWindows ストアやAppX 展開サービスの不具合によってもこのエラーが発生します。ユーザー プロファイルが破損している場合はどうでしょうか。その場合、アプリの削除やインストールができない可能性があります。基本的に、これは非常に一般的ですが、特にアプリの削除やトラブルシューティングに深く関わっている場合には、扱いにくいエラーです。
1.リモート プロシージャ コール (RPC) サービスを確認して再起動する
- Win + Rを押してと入力し、 Enter キー
Services.msc
を押します。サービスリストが開き、RPC サービスが正常に動作しているかどうかを確認できます。 - スクロールして「リモート プロシージャ コール (RPC)」を見つけます。はい、これは必須です。「状態」が「実行中」で、「スタートアップの種類」が「自動」になっていることを確認してください。設定されていない場合でも、心配はいりません。右クリックして「開始」または「再起動」を選択してください。
- もし停止またはオフになっているなら、おそらくappcmdsが失敗する原因でしょう。Windowsは当然ながら、これを必要以上に複雑にする必要があるからです。設定を調整して実行し、自動に設定して「OK」をクリックしてください。
- サービスウィンドウを閉じて、PCを再起動するか、RPCサービスを直接再起動してください(右クリック > 再起動)。場合によっては、そのサービスを再起動しただけで問題が解決することがあります。
2. PowerShellを管理者として実行する – 権限があることを確認する
これは、権限の問題でコマンドが実行できない場合に役立ちます。管理者権限でPowerShellを実行すると、アプリの管理、レジストリの修正など、あらゆる操作を完全に制御できます。
- Win + Xを押して、Windows PowerShell(管理者)またはコマンドプロンプト(管理者)を選択します。そう、PowerShellです。ただのコマンドプロンプトではありません。信じてください、PowerShellは必須です。
- UACポップアップが表示された場合は、「はい」をクリックしてください。その後、コマンドをもう一度試してください(または
Remove-AppxPackage
、以前使用していた他のコマンド)。
ほとんどの場合、これで権限は十分に上がります。しかし、そうでない場合は次のステップに進んでください。
3.セーフモードを使用してAppxパッケージを削除する
サードパーティ製のソフトウェアや競合するサービスが原因でアプリの削除ができない場合があります。セーフモードで起動すると、必要なものだけが読み込まれるため、クリーンアップが簡単になります。理由は定かではありませんが、一部の環境では、頑固なアプリの残骸をこじ開けたり、削除中にRPCエラーを修正したりするには、セーフモードが唯一の方法となる場合があります。
- Win + Rを押して入力し、Enter キー
msconfig
を押します。システム構成ウィンドウで、「ブート」タブに移動します。 - 「セーフブート」のチェックボックスをオンにし、「最小」を選択します。 「OK」をクリックして再起動します。
- セーフモードでPowerShellコマンドを再度実行してみてください。これを行うだけで、特定のアプリパッケージのロックが解除される場合もあります。
- 通常モードに戻るには、msconfigを再度開き、「セーフブート」のチェックを外して再起動します。簡単です。
4.可能であればアプリをリセットまたは再インストールする
アプリがインストールされているのにエラーが発生する場合は、まず「設定」>「アプリ」>「アプリと機能」からリセットしてみてください。アプリを見つけて「詳細オプション」をクリックし、「リセット」を押してください。これで問題が解決する場合もあります。それでも解決しない場合は、アンインストールしてから再インストールしてください。キーボードに頭をぶつけるよりも早く解決できるかもしれません。
5. SFCとDISMを実行してシステムファイルの不具合を修正する
Windowsファイルが破損している場合(システムを長時間起動していた場合やアップデートに失敗した場合などによく見られます)、RPCの不具合の原因となっている可能性があります。SFC (システムファイルチェッカー)とDISMツールを実行すると、破損したファイルを修復し、システムの整合性を回復することで、エラーを修正できる可能性があります。
SFC を実行します:
- 管理者権限で PowerShell またはコマンド プロンプトを開きます (Win + X を押して、それに応じて選択します)。
- 入力し
sfc /scannow
てEnterキーを押します。完了するまでお待ちください。時間がかかる場合があります。 - 問題が見つかった場合は、自動的に修復を試みます。完了したら、PCを再起動してエラーが解消されるかどうかを確認してください。
DISM を実行します:
- SFC がうまくいかなかった場合は、管理者として再度 PowerShell または CMD を開きます。
- 入力し
DISM /Online /Cleanup-Image /RestoreHealth
てEnterキーを押します。時間がかかる場合がありますので、コーヒーでも飲みながらお待ちください。 - 完了したら、再起動して RPC エラーがまだ表示されるかどうかを確認します。
6.新しいユーザープロファイルでテストする
エラーが現在のアカウントでのみ発生する場合は、ユーザープロファイルの破損が原因である可能性があります。新しいローカルアカウントまたはMicrosoftユーザーアカウントを作成し、テストとして管理者権限を付与して、エラーがそこでも発生するかどうかを確認してください。エラーが発生しない場合は、メインのプロファイルが壊れている可能性があります。その場合は、データのバックアップと新しいアカウントへの移行を検討してください。
- [設定] > [アカウント] > [他のユーザー]を開きます。
- 「他のユーザーをこの PC に追加」をクリックし、指示に従って新しいアカウントを設定します。
- 適切なアクセスのために、新しいアカウントの種類を管理者に変更します。
- 現在のプロファイルからサインアウトし、新しいプロファイルにログインして、アプリの削除またはコマンドを再度テストします。
7.地域設定とアプリバンドルを確認する
Windowsの言語設定が英語以外、または地域設定がオフになっている場合、一部のアプリパッケージの動作が不安定になることがあります。PowerShellで-PackageTypeFilter
以下のパラメータを指定して実行してください。
Get-AppxPackage -AllUsers -Name "*appname*" | Remove-AppxPackage -AllUsers -PackageTypeFilter All
これにより、バンドルを含むすべてのアプリコンポーネントが対象となります。appnameを実際に操作するアプリに置き換えてください。
8.パワーユーザー向け: SetACLを使用してレジストリのアクセス許可を修正する
これは少し高度な方法ですが、レジストリの権限関連の問題の場合は必要な場合があります。RPCまたはAppXに関連するレジストリエントリの一部がロックされているか、設定が誤っている可能性があります。SetACLツールを使えば、権限を直接変更できます。
- SetACLをサイトからダウンロードして解凍してください。OS(32ビットまたは64ビット)に適したバージョンを入手してください。
- どこからでも実行できるように、SetACL.exe をC:\Windows\System32フォルダーにコピーします。
- 管理者権限でコマンドプロンプトを開きます(Win + S、入力
cmd
、右クリック、管理者として実行を選択) - 次のようなコマンドを実行します。
SetACL -on "HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage\winstore_cw5n1h2txyewy" -ot reg -actn ace -ace "n:S-1-15-2-2608634532-1453884237-1118350049-1925931850-670756941-1603938316-3764965493;p:full;i:so, sc;m:grant;w:dacl"
- 最後に再起動して、エラーが解消されるかどうかを確認してください。レジストリの権限を変更するのは危険な場合があるので、事前にバックアップするか、復元ポイントを作成してください。
そうですね、このエラーの修正はちょっと大変です。サービスの問題だったり、権限の問題だったり、ファイルが破損していたりすることもあります。重要なのは、一つずつ丁寧に進め、すべてを確認し、すぐに諦めないことです。頑張ってください!
まとめ
- RPC サービスを再起動し、自動的に実行されていることを確認します。
- PowerShell を管理者として実行し、コマンドを再試行します。
- 必要に応じてセーフモードを試してください。
- 問題のあるアプリをリセットまたは再インストールします。
- SFC と DISM を実行してシステム ファイルを修復します。
- 新しいユーザー プロファイルでテストします。
- 地域設定とアプリバンドルを確認します。
- 高度なレジストリ権限の修正には SetACL を使用します。
まとめ
アプリ管理中に発生するRPCエラーへの対処は大変ですが、ほとんどの場合、サービスが稼働していること、権限が正しいこと、システムファイルが破損していないことを確認するだけで解決できます。必ずしも簡単ではありませんが、これらのアプローチは一般的な原因をカバーできる傾向があります。場合によっては、忍耐強く、体系的なトラブルシューティングを行うだけで解決できることもあります。この記事が、他の誰かが何時間も頭を悩ませる必要がなくなることを願っています。