Windows XP Professional/2000/Server 2003 內建 IIS (Internet Information Services),但 Home 版「新增/移除 Windows 元件」中找不到 IIS 選項。實際上 IIS 核心檔案已存在系統中,只是被 `sysoc.inf` 設定隱藏。本文提供修改註冊表釋出 IIS 安裝選項的完整步驟,經實測可行。
notepad C:\Windows\inf\sysoc.inf → 開啟檔案。iis=iis.dll,OcEntry,iis.inf,,7 (移除 `hide`,保留空欄位)。md C:\iis_tempcopy D:\I386\IIS.DL_ C:\iis_temp\copy D:\I386\IIS.IN_ C:\iis_temp\ (D: 為光碟機代號)cd /d C:\iis_tempexpand IIS.DL_ IIS.DLLexpand IIS.IN_ IIS.INFcopy IIS.INF C:\Windows\inf\copy IIS.DLL C:\Windows\System32\Setup\原因:預設啟用時,IIS 會自動管理 `IUSR_機器名` 帳號密碼並定期變更,若密碼同步失敗會導致匿名存取失敗 (HTTP 401.1)。手動指定密碼較穩定。
| 現象 | 原因與對策 |
|---|---|
| 元件清單仍無 IIS | sysoc.inf 修改未生效 (未儲存/路徑錯誤) 或 IIS.INF/DLL 未正確部署至系統目錄 |
| 安裝過程要求光碟但找不到檔案 | 指定路徑必須指向含 IIS.DL_/IIS.IN_ 的 I386 目錄,非光碟根目錄 |
| 安裝完成但無法啟動服務 | 檢查「服務」中 `IISADMIN`、`W3SVC` 是否啟動;事件檢視器查看 System/Application 日誌 |
| 瀏覽 https://localhost 顯示 403/401 | 執行步驟 4 取消「允許 IIS 控制密碼」;確認網站根目錄 NTFS 權限含 `IUSR` 讀取權限 |
若僅需本機測試靜態頁面、PHP、Python 開發,建議改用:
透過修改 `sysoc.inf` 釋出隱藏元件,XP Home 版也能完整安裝 IIS 5.1。但考慮 XP 已停止支援、IIS 5.1 無安全更新,建議僅用於隔離網路的舊系統維護測試,生產環境請遷移至支援中的作業系統與現代 Web 伺服器架構。