問題現象
在 Windows 7 專業版(含 32/64 位)上安裝 Visual C++ 2005 Redistributable (vcredist_x86/vcredist_x64) 時,安裝程式悄悄結束、報錯「安裝失敗」或系統事件記錄出現 MsiInstaller 錯誤,而 VC++ 2008/2010/2012 卻能正常安裝。
核心原因分析
- 系統缺少 KB2533623 等關鍵補丁:Win7 RTM/SP1 早期版本對 VC++ 2005 的側對應組件(SxS)支援不完整。
- 殘留註冊表/檔案衝突:曾安裝過 Beta 版、盜版精簡系統或第三方運行庫包,導致 WinSxS 目錄內組件版本衝突。
- 安裝順序錯誤:必須先安裝 VC++ 2005 SP1 (vcredist_sp1.exe),再安裝 ATL 安全更新 (KB973923),最後才是標準 Redistributable。
- 權限/信任問題:UAC 攔截、系統目錄寫入受限、數位簽章驗證失敗(需根憑證更新)。
標準解決流程
- 補丁先行:透過 Windows Update 安裝所有「重要」與「選用」更新,特別確認
KB2533623、KB2467173 已安裝。
- 清理殘留:下載 Microsoft 官方 Visual C++ 紅色清理工具 或使用
msizap(謹慎)移除所有 VC++ 2005 相關項目。
- 按序安裝:
- vcredist_x86_SP1.exe / vcredist_x64_SP1.exe
- VC80SP1-KB973923-x86.exe / x64.exe (ATL 更新)
- vcredist_x86.exe / vcredist_x64.exe (正式版)
- 修復系統檔案:管理員 CMD 執行
sfc /scannow 修復損壞的系統組件。
- 臨時關閉殺毒/防火牆,以管理員身分執行安裝程式。
替代方案
- 安裝 Visual C++ 2005-2022 合集包(如「Visual C++ Redistributable AIO」),一次解決所有版本相依。
- 若僅為運行某舊軟體,嘗試將該軟體所需的
msvcr80.dll、msvcp80.dll、msvcm80.dll 放入程式目錄(非系統目錄)測試。
避雷提醒
網路上流傳的「綠色版/精簡版」運行庫常刪減關鍵組件,導致更多不可預期錯誤。請優先使用微軟官方完整安裝包。