windowsインストーラサービスにアクセスできませんでした…というメッセージでプログラムの追加と削除がうまくいかない場合の対応

この記事は約8分で読めます。

windowsインストーラサービスにアクセスできませんでした「windowsインストーラサービスにアクセスできませんでした」というメッセージには何度も何度も悩まされる。プログラムの追加と削除でまたこのメッセージがでた。当ブログで「インストールエラー発生の原因と対処、windowsインストーラサービスにアクセスできませんでした…とは?」と紹介している方法では今度はうまくいかなかった。次の「Windowsインストーラのエラーがでたらどう対応するか? 」の方法を試す前にマイクロソフトが紹介している方法を実施したところ解決した。その方法とは…

マイクロソフトのサポート オンラインに「プログラムを追加または削除すると “Windows インストーラ サービスにアクセスできませんでした” エラー メッセージが表示される」と紹介している記事がある。

プログラムを追加または削除するときに、「Windows インストーラ サービスにアクセスできませんでした。セーフ モードで Windows を実行している場合、または Windows インストーラが正しくインストールされていない場合に発生する可能性があります。サポート担当者に問い合わせてください。」というメッセージがでる現象の解決方法なので、今回の事例にぴったりである。

この現象は、以下の条件に該当する場合に発生することがあります。

  • ハード ディスク上の Windows インストーラ ファイルが破損しているか存在しません。
  • Windows インストーラの Microsoft ソフトウェア インストール (MSI) パッケージ ファイル (.msi) を使用しているプログラムをインストールまたは削除しています。たとえば、コンピュータに Microsoft Officeをインストールする場合に発生することがあります。

え、「Microsoftオフィス」をインストールすると起きるの…。(^^;
律儀にマイクロソフト製品を使っているとこの現象が起きるかもしれないということのようです…なんと。

気を取り直して解決方法を探る。ここでは2つの方法が紹介されているが、リスクが少なそうな「方法1」を試したところうまく解決した。

方法 1 : Windows インストーラを再登録する

Windows インストーラを再登録するには、ハード ディスク上と Windows レジストリ内の Msiexec.exe ファイルの場所を確認した後、Windows インストーラを再登録します。これを行うには、次の手順を実行します。

警告 : レジストリ エディタまたは別の方法を使用してレジストリを誤って変更すると、深刻な問題が発生することがあります。最悪の場合、オペレーティングシステムの再インストールが必要になることがあります。マイクロソフトは、レジストリの変更により発生した問題に関しては、一切責任を負わないものとします。レジストリの変更は、自己の責任において行ってください。

: Microsoft Windows には複数のバージョンが存在するため、使用中のコンピュータによっては以下の手順が異なる場合があります。この場合、製品のマニュアルを参照のうえ、手順を実行するようにしてください。

  1. 次の手順を実行して、ハード ディスク上の Msiexec.exe ファイルの場所を確認します。
    Msiexecexe[スタート] ボタンをクリックし、[検索] をクリックします。
    1. [ファイルとフォルダすべて] をクリックします。
    2. [ファイル名のすべてまたは一部] ボックスに msiexec.exe と入力し、[検索] をクリックします。
    3. 検索結果に表示された、Msiexec.exe ファイルの場所をメモしておきます。

      Msiexec.exe ファイルの場所の例を次に示します。Drive は Windows がインストールされているドライブ、%Windir%は Windows がインストールされているフォルダです。

      Drive:\%Windir%\System32

      たとえば、C:\Windows\System32 などです。

      : Microsoft Windows 98 ベースのコンピュータでは、Msiexec.exe ファイルは Drive:\%Windir%\System フォルダにあります。

    4. [ファイル] メニューの [閉じる] をクリックします。
  2. 次の手順を実行して、Windows レジストリ内の Msiexec.exe ファイルの場所を確認します。
    Regedit[スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックします。
    1. [名前] ボックスに regedit と入力し、[OK] をクリックします。
    2. 以下のレジストリ キーを見つけてクリックします。

      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSIServer

    3. 右側のウィンドウで [ImagePath] をダブルクリックします。
    4. [文字列の編集] ダイアログ ボックスで、手順 1. で特定したハード ディスク上の Msiexec.exe ファイルの正しいパスが、[値のデータ] ボックスに入力されていることを確認します。

      たとえば、Msiexec.exe ファイルがハード ディスク上の Drive:\Windows\System32 フォルダに存在する場合、[値のデータ] ボックスの Msiexec.exe ファイルの正しいパスは次のようになります。Driveは、Windows がインストールされているドライブです。

      Drive:\Windows\System32\Msiexec.exe /V

      注 : Windows 98 を使用している場合、Msiexec.exe ファイルの正しいパスは Drive:\Windows\System\Msiexec.exe /V です。

      [値のデータ] ボックスに正しいパスが表示されていない場合は、適切な変更を行ってパスを修正し、[OK] をクリックします。

    5. レジストリ エディタを終了します。
  3. 次の手順を実行して、コンピュータをセーフ モードで起動し、Msiexec.exe ファイルを登録します。
    1. コンピュータをシャットダウンして、再起動します。
    2. 以下のメッセージが表示されたら、F8 キーを押します。
      オペレーティング システムの選択
    3. Windows 拡張オプション メニューで、方向キーを使用して [セーフ モード] を選択し、Enter キーを押します。
    4. デュアル ブート コンピュータまたはマルチ ブート コンピュータを使用している場合は、表示されている一覧から適切なオペレーティング システムを選択し、Enter キーを押します。
    5. コンピュータにログオンします。
    6. [スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックします。次のコマンドを入力し、[OK] をクリックします。
      msiexec /regserver
      Msiexecexe_regserver
      : 64 ビット オペレーティング システムの場合は、64 ビット MSI インストーラの再登録も必要です。
      これを行うには、[スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックし、次のコマンドを入力し [OK] をクリックします。

      Drive:\windows\syswow64 msiexec /regserver

  4. コンピュータをシャットダウンし、標準モードで再起動します。

問題が解決せず、「現象」に記載されているエラーメッセージが引き続き表示される場合は、「方法 2」の手順を実行します。

ただし、まずはリスクが少なくて手順も楽な…
1.インストールエラー発生の原因と対処、windowsインストーラサービスにアクセスできませんでした…とは?
2.Windowsインストーラのエラーがでたらどう対応するか?
を実施してはどうかと思います。
ここまで実施したことすべてうまくいかない場合は、以下の「方法 2」の手順へ

エラーメッセージ

方法 2: Windows インストーラーを再インストールする

Windows インストーラーを再度インストールするには、破損した Windows インストーラー ファイルの名前を変更してから Windows インストーラーを再インストールします。これを行うには、次の手順を実行します。

  1. [ス タート] ボタンをクリックし、[ファイル名を指定して実行] をクリックします。[名前] ボックスに「cmd」と入力し、[OK] をクリックします。
  2. cd %windir%\system32」と入力し、Enter キーを押します。
  3. attrib -r -s -h dllcache」と入力し、Enter キーを押します。
  4. ren msi.dll msi.old」と入力し、Enter キーを押します。
  5. ren msiexec.exe msiexec.old」と入力し、Enter キーを押します。
  6. ren msihnd.dll msihnd.old」 と入力し、Enter キーを押します。
  7. exit」と入力し、 Enter キーを押します。
  8. コマンド プロンプトで「exit」と 入力し、Enter キーを押します。
  9. [スタート] ボタンをクリックし、[コンピューターの電源を切る] または [シャットダウン] をクリックします。
  10. [再起動] オプションをクリックして、[OK] をクリックするか、[再起動] をクリックします。
  11. コンピューターにログオンします。
  12. 最新版の Windows インストーラーをダウンロードしてインストールします。 Windows インストーラーの入手方法の関連情報を参照するには、以下のサポート技術情報番号をクリックしてください。
    893803 Windows インストーラ 3.1 v2 (3.1.4000.2435) について

※なお、繰り返しになりますが、この方法1と方法2は、マイクロソフトのサポートオンラインの「プログラムを追加または削除すると “Windows インストーラ サービスにアクセスできませんでした” エラー メッセージが表示される」と紹介している記事からの引用です。最新の参照元を確認してから作業することをおすすめします。

▼関連ありそうな当ブログ内の記事(試したらよいと遠田が思う順)

1.インストールエラー発生の原因と対処、windowsインストーラサービスにアクセスできませんでした…とは?
2.Windowsインストーラのエラーがでたらどう対応するか?
3.アプリケーションエラーが頻発!「メモリを参照しました。メモリが”witten”になることはできませんでした」