Windows 2000(Professional / Server / Advanced Server)預設不支援 ASP.NET,必須依序安裝下列元件:
| 角色 | 必要元件 | 版本建議 |
|---|---|---|
| 用戶端 | SQL Server .NET Data Provider | MDAC 2.6+ |
| Windows Management Instrumentation (WMI) | 隨 OS 安裝 | |
| COM+ 服務 | Windows 2000 SP2+ | |
| .NET Framework + SDK | 1.1 版(含對應 SDK) | |
| 伺服器 | SQL Server .NET Data Provider | MDAC 2.7+ |
| Internet Information Services (IIS) | 5.0 |
.aspx、.asmx 等應用程式對應。警告:若先裝 Framework 再裝 IIS,ISAPI 對應不會自動註冊,需手動執行 aspnet_regiis.exe -i 修復。
工具位於 %windir%\Microsoft.NET\Framework\v1.1.xxxxx\aspnet_regiis.exe。
| 參數 | 用途 |
|---|---|
| -i | 安裝 ASP.NET ISAPI 對應(全機器) |
| -u | 解除安裝指定版本 ASP.NET ISAPI 對應 |
| -s <path> | 更新指定應用程式的腳本對應(如 W3SVC/1/ROOT/MyApp) |
| -sn <path> | 同上,但僅更新尚未對應的應用程式 |
| -lv | 列出所有已安裝 ASP.NET 版本狀態 |
| -c | 建立用戶端腳本目錄(aspnet_client) |
| -enable / -disable | 啟用/停用特定版本 |
REM 更新單一應用程式對應至目前版本
aspnet_regiis.exe -s W3SVC/1/ROOT/SampleApp1
REM 安裝 Framework 時禁止自動升級所有現有應用程式對應
dotnetfx.exe /c:"install /noaspupgrade"
aspnet_regiis.exe。-u 會將該版本對應的應用程式重新導向次新相容版本;若無相容版本則移除對應(導致原始碼直接以文字輸出,**資安風險**)。Example1.aspx,內容:<%= DateTime.Now %>(C#)或 <%= Now() %>(VB)。https://localhost/Example1.aspx,若顯示目前時間即代表環境就緒。| 現象 | 可能原因 | 解決方式 |
|---|---|---|
| 瀏覽器顯示原始碼 | ISAPI 對應遺失 | 執行 aspnet_regiis.exe -i 或針對應用程式 -s |
| HTTP 404 / 403 | IIS 未啟用 / 目錄權限不足 | 檢查 IIS 服務、NTFS 權限(IUSR_、ASPNET) |
| 事件檢視器出現 "Failed to load ASP.NET" | Framework 版本不匹配 | 確認應用程式集區 .NET 版本與 Framework 版本一致 |
Windows 2000 雖已停止支援,但許多舊系統仍在運行。掌握「IIS 先行、Framework 後續、aspnet_regiis 修復」三大原則,即能快速建置穩定的 ASP.NET 1.1 開發與部署環境。