アプリのインストール中に「…リソースが利用できません」というエラーが発生する場合の解決方法

📅
🕑 1 分で読む

古いInstallShieldファイルの処理は、特に最新のソフトウェアアップデートや新規インストールをブロックしてしまうと、本当に面倒な作業です。よくある悩みの一つは、元のインストーラファイルが消えてしまった場合、再インストールやアップグレードの際にWindowsがそれらのファイルを探し続け、次のような厄介なエラーメッセージが表示されることです。

「使用しようとしている機能は、利用できないネットワーク リソース上にあります。」

ええ、もちろんWindowsは必要以上に難しくしていますから。ですから、必要なのはレジストリから残っている参照を消去することです。これは主に、C:\Windows\DownloadedInstallationsフォルダなどの元のインストーラファイルを削除したにもかかわらず、リソース不足に関するエラーが引き続き発生する場合に当てはまります。

今回のケースでは、EAC43C57-6D89-4415-AAFCF0DF4888のような、かなり昔のインストールに関連付けられた特定のレジストリキーをクリーンアップする必要があります。これらのエントリをすべて見つけて削除することで、状況は劇的に改善される可能性があります。インストールやアップデートを、あの煩わしいエラーで進行が妨げられることなく実行できるようになるのです。手順は以下のとおりです。

Windows レジストリから古い InstallShield 参照を削除する方法

インストールIDを参照するレジストリエントリを検索して削除します

  • Windowsレジストリエディターを開きます。スタートメニューまたは実行ダイアログ( )に「regedit」Win + Rと入力し、Enterキーを押します。レジストリの編集はリスクを伴うため、不安な場合は事前にバックアップを取ってください。
  • コンピュータノードに移動する、または編集 > 検索(またはCtrl + F ) を押してすべての場所を検索します。
  • 問題のあるインストールID(今回の場合はEAC43C57-6D89-4415-AAFCF0DF4888)をコピーし、「検索する文字列」ボックスに貼り付けます。「次を検索」をクリックします。
  • レジストリ検索は一致する参照にジャンプします。通常、それはそのIDを含むフォルダまたはキーです。見つかったら、フォルダを右クリックして「削除」を選択します。
  • F3キーを押して次の出現箇所に移動します。そのIDに一致する参照をすべて削除し続けます。同じIDが複数の場所に出現する場合もありますので、見逃さないようにしてください。
  • 一部のマシンでは、レジストリが巨大で一貫性がないため、このプロセスでいくつかの箇所が見落とされたり、再度の検索が必要になる場合があることに注意してください。何も表示されなくなるまで検索を続けてください。

このトリックが役に立つかもしれないとき

この方法は、以前InstallShield経由でインストールしたソフトウェアをインストールしようとした際に「リソースが利用できません」というエラーが繰り返し発生する場合に便利です。特に、インストーラーファイルを手動で削除したにもかかわらず、レジストリエントリをクリアし忘れた場合によく発生します。これらの参照を削除すると、インストール時に古いポインターが見つからなくなり、エラーが表示されなくなります。

清掃後の期待

レジストリ参照をすべてクリアしたら、インストーラーを再度実行するとスムーズに動作するはずです。通常はこれで一方向の修正となりますが、エラーが解決しない場合は、レジストリを再度検索して、残骸が残っていないことを確認することをお勧めします。

この修正は魔法ではありません。Windowsがレジストリをいじって、痕跡を残してしまうことがあるからです。しかし、あるセットアップでは1回目でうまくいきましたが、別のセットアップでは2回目のスキャンが必要でした。それでも、インストール失敗で頭を悩ませるよりはましです。

ああ、レジストリの編集は不完全な場合があるので、作業を始める前に必ずバックアップしてください。盲目的にキーを削除すると、何が起きるか分からないからです。

まとめ

  • regeditを開いて、問題IDを慎重に検索します。
  • 一致するエントリをすべて削除します。
  • インストーラーを再度実行すると、リソースエラーがなくなるはずです

まとめ

古いインストール参照が思った以上に長く残っている場合があり、手動で削除する以外に確実な解決策はありません。少し面倒ですが、大抵はこれで解決します。それでも解決しない場合は、他のレジストリエントリを探したり、他の場所に残骸が残っている可能性があります。とにかく検索を続け、慎重に作業を進めてください。ここでのちょっとしたミスが、大きな問題を引き起こす可能性があります。

これで誰かの時間短縮になれば嬉しいです。お役に立てれば幸いです。