想定されるシナリオ
開発環境を構築している最中、例えば .NET 8 SDK や Android Studio の大容量なインストールを開始して10分ほど経ったところで、すべてが停止してしまうことがあります。ポップアップが表示されます:エラー 1618。これは、午後5時のデプロイ期限が迫っているような時に限って発生しがちです。
Error 1618. Another installation is already in progress. Complete that installation before proceeding with this one.
Windows Installer (msiexec.exe) は、一度に一つの .msi または .msp パッケージしか処理できない仕様になっています。バックグラウンドプロセスが既にこのサービスを使用している場合、現在のタスクはキューの中で待機状態になります。
なぜこのエラーが発生するのか?
Windows Installer サービスは「グローバルミューテックス(global mutex)」を使用します。これは物理的な「鍵」のようなものだと考えてください。システムレジストリやファイルシステムを変更するために、一度に一つのプロセスしかこの鍵を持つことができません。これにより、2つの異なるインストーラーが同時に同じレジストリハイブに書き込もうとしてシステムが破損するのを防いでいます。
このロックが発生する主な原因は以下の通りです:
- サイレント Windows Update: これが最も可能性の高い原因です。Windows がユーザーに通知することなく、バックグラウンドで 200MB 程度のセキュリティパッチをインストールしている場合があります。
- ゾンビプロセス: 以前のインストールがクラッシュしたものの、
msiexec.exeがバックグラウンドで生存し続け、ロックを解放していない状態です。 - 自動更新サービス: Google Chrome や Adobe Acrobat などのアプリが、30~60秒間ミューテックスを占有するミニインストーラーを起動することがあります。
クイックフィックス:スタックしたプロセスを強制終了する
目に見える形でインストールが進行していない場合は、実行中のインストーラーインスタンスを強制終了して手動でロックを解放できます。これには5秒ほどしかかからず、通常は再起動の手間を省くことができます。
管理者として PowerShell を開き、次のコマンドを実行してください:
taskkill /F /IM msiexec.exe
このコマンドはインストーラーエンジンを強制終了します。「プロセスが見つかりませんでした」というメッセージが表示された場合、ロックは標準のユーザープロセスではなく TrustedInstaller サービスによって保持されている可能性があります。
リセット方法:インストーラーサービスを再起動する
プロセスは終了しても、サービスの状態が「保留中」のままスタックすることがあります。その場合、Windows Installer サービス (msiserver) を再起動して状態をリフレッシュする必要があります。
Win + Rを押し、services.mscと入力して Enter を押します。- リストから Windows Installer を探します。
- 右クリックして「停止」を選択します。
- 停止後、再度右クリックして「開始」を選択します。
コマンドラインがお好みの場合は、管理者権限のプロンプトで次の2つのコマンドを実行してください:
net stop msiserver
net start msiserver
Windows Update の干渉を確認する
エラーがすぐに再発する場合、Windows Update がミューテックスを保持している可能性が高いです。Windows Update は TrustedInstaller サービスを使用しており、これは手動でのインストールよりも優先度が高く設定されています。
PowerShell でサービスの状態を確認します:
Get-Service -Name wuauserv
ステータスが Running の場合は、Windows Update の設定画面を開いてください。「インストール中 - 45%」のような進捗バーが表示されている場合は、完了を待つ必要があります。カーネルやドライバーの更新中に Windows Update を強制終了しないでください。ブルースクリーン (BSOD) や OS の破損を招く恐れがあります。
高度な方法:保留中のファイル操作をクリアする
稀なケースですが、以前のインストーラーが再起動後にのみファイルを置換または削除するようにマークすることがあります。これにより、システムが無期限に「ビジー」状態としてフラグ立てされます。今すぐ再起動できない場合は、レジストリエディターでこれらのフラグをクリアできます。
regedit.exeを開きます。- 次のパスに移動します:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager PendingFileRenameOperationsという値を探します。- キーをエクスポートしてバックアップを作成してから、その値の文字列内容を削除します。
注:これは最終手段としてのみ使用してください。この値には、完了が必要な重要なドライバーの更新が含まれていることがよくあります。
検証:修正の確認
2GB の SDK インストールなどを再開する前に、インストーラーエンジンが実際に解放されているか確認しましょう。次のコマンドを実行してください:
msiexec /query
バージョン情報が記載された小さなヘルプウィンドウが表示されれば、エンジンは準備完了です。次に、他の隠れたエラーを特定するために、ログを有効にしてインストーラーを実行します:
msiexec /i "your_installer.msi" /L*V "install_log.txt"
セットアップ UI が表示されれば、1618 ミューテックスロックの解除に成功しています。

