Windows 7 執行 `.msi` 安裝包或安裝軟體 (如 QQ、Office、驅動程式) 彈出「無法存取 Windows Installer 服務」,原因通常是 `msi.dll` 註冊遺失或 `Windows Installer` 服務被停用/損壞。本文提供命令列註冊與服務管理雙重修復標準流程。
修復步驟 (按順序執行,重開機驗證)
- 註冊 MSI 核心元件:
- `Win+R` → `cmd` → Ctrl+Shift+Enter (管理員權限) → 輸入:
`regsvr32 msi.dll` → `Enter` → 提示「DllRegisterServer 在 msi.dll 成功」即完成。
- 啟用 Windows Installer 服務:
- `Win+R` → `services.msc` → `Enter` → 找到「Windows Installer」 → 雙擊 →「啟動類型」改為「手動」/「自動」 →「啟動」 →「確定」。
進階修復 (上述無效時執行)
- 重新註冊 Windows Installer 核心檔案 (管理員 CMD 依序執行):
`regsvr32 msihnd.dll`
`regsvr32 msiexec.exe`
`sfc /scannow` (修復系統檔案,需 Win7 安裝媒體/映像來源)
- 檢查服務依賴:`Windows Installer` 依賴 `Remote Procedure Call (RPC)`、`DCOM Server Process Launcher`,確認兩者均為「執行中」。
- 登錄權限修復:`HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\msiserver` → 權限 → `SYSTEM`/`Administrators` 完全控制、`TrustedInstaller` 完全控制。
- 清理安裝殘留:`%temp%` 清空、`C:\Windows\Installer` 確認權限、`msizap.exe` (Windows Installer CleanUp Utility, 微軟已停止分發,謹慎使用)。
常見誘因與預防
| 誘因 | 機制 | 預防 |
| 優化/清理軟體誤操作 | 停用服務/刪除註冊鍵值/清理 Installer 快取 | 360/電腦管家/CCleaner 等工具「服務優化」/「註冊表清理」謹慎勾選 Windows Installer 相關項 |
| 惡意軟體破壞 | 修改服務啟動類型/註冊核心 DLL/植入 Hook | 定期全盤掃毒、啟用即時防護、不執行不明來源安裝包 |
| 手動停用服務 | 誤以為節省資源而停用 | Windows Installer 為手動啟動模式 (預設),僅安裝時啟動,平時不佔用資源,**勿停用** |
| 系統更新失敗/回滾 | 更新過程中斷導致 MSI 元件版本不一致 | 確保 Windows Update 正常、定期建立系統還原點 |
驗證方法
修復後雙擊任意 `.msi` 檔案 (如官方下載的驅動安裝包) → 應正常啟動安裝嚮導。或執行 `msiexec /?` 顯示說明資訊即服務正常。
現實建議
Windows 7 已停止支援,新軟體安裝包越來越多採用 `.exe` 獨立安裝器/ClickOnce/MSIX/AppX/容器化部署,`msi` 相關問題將逐漸減少。長期使用建議遷移至 Windows 10/11 獲得原生 MSIX/AppX 支援、更強沙盒隔離、自動更新機制。