在 Windows Server 2003 上安裝 Visual Studio 2008 (含 .NET Framework 3.5) 時,頻繁遇到:1603、0x80070643、Installation failed、安裝程式靜默退出。排除路徑權限、磁碟空間、防毒軟體攔截後,根因多為舊版 .NET 組件 (1.0/1.1/2.0/3.0) 殘留登錄、組件快取 (GAC)、WinSxS 目錄損毀,導致新版安裝器偵測衝突而拒絕繼續。
dotnetfx_cleanup_tool 即可從 Microsoft Download Center / GitHub / 主流技術社區取得。dotnetfx_cleanup_tool.exe /q /all/q 安靜模式,/all 清理所有偵測到的 .NET 版本 (含 1.0, 1.1, 2.0, 3.0, 3.5, 4.0 Client/Full)。HKLM\SOFTWARE\Microsoft\.NETFramework, HKLM\SOFTWARE\Microsoft\NET Framework Setup, HKLM\SOFTWARE\Microsoft\Updates\.NETFramework 等。%Windir%\Assembly\GAC_*, %Windir%\Assembly\GAC_MSIL 中的 .NET 組件。%Windir%\Microsoft.NET\Framework\ 版本子目錄 (v1.0.3705, v1.1.4322, v2.0.50727, v3.0, v3.5)。dotnetfx35.exe 而非 Web Bootstrapper)| 坑點 | 正確做法 |
|---|---|
| 直接執行 .NET 3.5 Web 安裝程式 (bootstrapper) | 離線下載完整包 dotnetfx35.exe (約 200MB),避免網路中斷/來源損毀 |
清理工具未加 /all 參數 | 預設僅清理 3.5,殘留 2.0/3.0 仍會衝突,務必 /all |
| 清理後未重開機直接裝 3.5 | 註冊表/檔案鎖定需重開機釋放,必須重開機 |
| 安裝順序錯誤 (裝 3.5 再裝 2.0) | 嚴格遵循 2.0 → 3.0 → 3.5 依賴順序,或直接裝 3.5 SP1 完整包 (內含全部) |
| 防毒軟體即時掃描安裝目錄 | 安裝期間暫停即時掃描,或將 %Windir%\Microsoft.NET\、%Temp%\ 加入排除清單 |
文章作者吐槽:「VS2008 什麼時候能出整合 SP1 的 DVD?裝個 VS2008+SP1 比裝 Win2003 還久。」 截至目前,微軟未釋出 VS2008 SP1 整合 ISO,建議採用 管理安裝點 (Administrative Install Point) 手動整合:
vs_setup.exe /layout C:\VS2008_AIP → 將 SP1 修補程式 VS2008SP1.exe 解壓覆蓋至 AIP 目錄 → 建立自動化安裝腳本 (配置 .ini 回答檔) → 部署至多台伺服器。
結語: Windows Server 2003 上 .NET Framework 3.5 安裝失敗 90% 以上源於舊版組件殘留衝突。官方清理工具 dotnetfx_cleanup_tool.exe /q /all + 重開機 + 依序安裝 2.0/3.0/3.5 SP1 完整包 是經過無數實戰驗證的標準解法。切記:清理要徹底、順序要正確、離線包要完整、防毒要暫停。
Windows Server 2003 Web 管理介面全解析:列印、終端機、串流媒體與遠端維護四大服務的瀏覽器化運維
Windows Server 2003 卷影副本服務實戰:讓網絡共享文件擁有「時光機」
Windows Server 2008 R2 Web 伺服器環境完整建置筆記 (上):系統安裝與基礎配置
讓 Windows Server 2003 32 位元版突破 4GB 記憶體限制:PAE 與 AWE 實作指南
Windows Server 2003 工作站模式 20 大加速秘技
Windows Server 2003 IE 瀏覽器加速優化 (精簡版)