ASP.NET IIS 註冊工具 (Aspnet_regiis.exe)

當多個 .NET Framework 版本在單一電腦上並存執行時,對應到 ASP.NET 應用程式的 ASP.NET ISAPI 版本,決定應用程式所要使用的 Common Language Runtime (CLR) 版本。ASP.NET IIS 註冊工具 (Aspnet_regiis.exe) 能讓系統管理員或安裝程式輕易地更新 ASP.NET 應用程式的指令碼對應,以指向與工具相關聯的 ASP.NET ISAPI 版本。這個工具也可以用來顯示 ASP.NET 所有已安裝版本的狀態,以及註冊與工具同時使用的 ASP.NET 版本、建立用戶端指令碼目錄和執行其他組態作業。

Note注意事項

.NET Framework 隨附了兩個 IIS 註冊工具,一個用於標準系統,另一個用於 64 位元系統。用於 64 位元系統的工具位於 Windows 資料夾內 Microsoft.NET 目錄的 Framework64 目錄中,例如,C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727 會包含 IIS 註冊工具。

aspnet_regiis [options]

選項

選項 描述

-c

將 ASP.NET 的用戶端指令碼 (例如用戶端驗證指令碼),安裝到每個網際網路資訊服務 (IIS) 站台目錄的 aspnet_client 子目錄中。

只會安裝與 Aspnet_regiis.exe 相關聯之 ASP.NET 版本的用戶端指令碼。

-disable

在 IIS 安全性主控台中停用 ASP.NET。

這個選項只能搭配 -i-ir-r 選項使用。IIS 6.0 之前的 IIS 版本不提供此選項。

-e

從每個 IIS 網站目錄的 aspnet_client 子目錄移除 ASP.NET 的用戶端程式碼。

只會移除與 Aspnet_regiis.exe 相關聯之 ASP.NET 版本的用戶端指令碼。

-ea

從每個 IIS 站台目錄的 aspnet_client 子目錄中,移除所有 ASP.NET 版本的用戶端指令碼。

-enable

在 IIS 安全性主控台啟用 ASP.NET。

這個選項只能搭配 -i-ir-r 選項使用。IIS 6.0 之前的 IIS 版本和 ASP.NET 2.0 版之前的 ASP.NET 版本,都不提供此選項。

-ga user

授與指定的使用者或群組存取權限,以便存取 ASP.NET 所使用的 IIS Metabase 以及其他目錄。

ASP.NET 2.0 之前的 ASP.NET 版本不提供這個選項。

-i

安裝與 Aspnet_regiis.exe 相關聯的 ASP.NET 版本,並更新 IIS Metabase 根目錄及以下目錄的指令碼對應。

只會更新使用 ASP.NET 之前版本的應用程式之指令碼對應。使用較晚版本的應用程式不會受影響。

-ir

安裝與 Aspnet_regiis.exe 相關聯的 ASP.NET 版本,並且只在 IIS 中註冊 ASP.NET。

這個選項不會更新指令碼對應。若要安裝 ASP.NET 及更新指令碼對應,請使用 -i 選項。

-k path

從指定應用程式根路徑及其子目錄上的所有 ASP.NET 應用程式中,移除 ASP.NET 所有版本的指令碼對應。

-kn path

只從指定應用程式根路徑的 ASP.NET 應用程式中,移除 ASP.NET 所有版本的指令碼對應。

這個選項不會影響指定的 path 之子目錄中的應用程式。

-lk

列出 ASP.NET 對應的所有 IIS Metabase 索引鍵的路徑和版本。

從父索引鍵繼承 ASP.NET 指令碼對應的索引鍵不會顯示。

-lv

列出電腦上安裝的所有 ASP.NET 版本之狀態和安裝路徑。

-norestart

安裝或更新 ASP.NET 指令碼對應之後,會造成重新啟動 IIS 背景工作處理序。

將手動重新啟動 IIS 背景工作處理序時,請使用這個選項搭配 -i-r 選項。

-r

更新 IIS Metabase 及以下目錄的所有指令碼對應,以指向與 Aspnet_regiis.exe 相關聯的 ASP.NET ISAPI 版本。

無論目前的版本為何,所有現存的指令碼對應都必須進行更新,以指向與 ASP.NET IIS 註冊工具相關聯的 ASP.NET ISAPI 版本。

-s path

將指向與 Aspnet_regiis.exe 相關聯之 ASP.NET ISAPI 版本的指令碼對應,安裝到指定的應用程式根路徑及其子目錄中的所有 ASP.NET 應用程式。指定路徑及其下中所有使用 ASP.NET ISAPI 較早版本的現有指令碼對應都會更新。

-sn path

將指向與工具相關聯之 ASP.NET ISAPI 版本的指令碼對應,安裝到指定的應用程式根路徑中的 ASP.NET 應用程式。指定路徑中所有使用 ASP.NET ISAPI 較早版本的現有指令碼對應都會更新。

這個選項不會影響 path 之子目錄中的應用程式。

-u

從電腦上解除安裝與 ASP.NET IIS 註冊工具相關聯的 ASP.NET 版本。這個 ASP.NET ISAPI 版本的現有指令碼對應,會自動重新對應到其他已安裝的最新 ASP.NET ISAPI 版本。

-ua

從電腦中移除所有 ASP.NET 版本。

-?

顯示 ASP.NET IIS 註冊工具的命令語法和選項。

組態選項

選項 描述

-config+

啟用從遠端存取電腦上 ASP.NET 組態的功能。

-config-

停用從遠端存取電腦上 ASP.NET 組態的功能。

-pa container account

授與存取權限給指定的使用者或群組 account,以存取指定的金鑰 container。此引數可以接受下列選擇性修飾詞:

  • -pku 以使用者定義的容器取代預設的機器容器。

  • -csp provider 指定要使用的容器 (Container) 提供者。

  • -full 指定加入完整權限,而非預設的唯讀存取權。

-pc container

在指定的容器中建立 RSA public/private 金鑰組。此引數可以接受下列選擇性修飾詞:

  • -size keySize 指定金鑰的大小。預設值為 1024 位元組。

  • -pku 以使用者定義的容器替代電腦上預設的金鑰容器。

  • -exp 指定必須能夠匯出私密金鑰。

  • -csp provider 指定要使用的容器提供者。

-pd section

解密組態區段。此引數使用下列選擇性參數:

  • -app virtualPath 指定只在包含的路徑層級上進行解密。

  • -location subPath 指定要解密的子目錄。

  • -pkm 指定要解密 Machine.config 檔而非 Web.config 檔。

-pdf section webApplicationDirectory

解密指定的實體 (非虛擬) 目錄之 Web.config 檔的指定組態區段。

-pe section

加密指定的組態區段。此引數可以接受下列選擇性修飾詞:

  • -prov provider 指定要使用的加密 (Encryption) 提供者。

  • -app virtualPath 指定只在包含的路徑層級上進行加密。

  • -location subPath 指定要加密的子目錄。

  • -pkm 指定要加密 Machine.config 檔而非 Web.config 檔。

-pef section webApplicationDirectory

加密指定的實體 (非虛擬) 目錄之 Web.config 檔的指定組態區段。

-pi container file

將 RSA public/private 金鑰組從指定的 XML file 匯入指定的 container。此引數可以接受下列選擇性修飾詞:

  • -pku 以使用者定義的容器取代預設的機器容器。

  • -exp 指定私密金鑰可以匯出。

  • -csp provider 指定要使用的容器提供者。

-pr container account

移除所指定使用者或群組的使用權限 account,使其無法存取指定的金鑰 container。此引數可以接受下列選擇性修飾詞:

  • -pku 以使用者定義的容器取代預設的機器容器。

  • -csp provider 指定要使用的容器提供者。

-px container file

將 RSA public/private 金鑰組從指定的容器匯出至指定的 XML 檔案。此引數可以接受下列選擇性修飾詞:

  • -pku 以使用者定義的容器取代預設的機器容器。

  • -csp provider 指定要使用的容器提供者。

-pz container

刪除指定的金鑰容器。此引數使用下列選擇性修飾詞 (modifier):

  • -pku 以使用者定義的容器取代預設的機器容器。

備註

當一部電腦上安裝多個 ASP.NET 版本時,ASP.NET 就會並存執行。在這種設定下,網際網路資訊服務 (IIS) 需要知道哪個 ASP.NET ISAPI (aspnet_isapi.dll) 版本應該處理 ASP.NET 應用程式中的網頁。與 ASP.NET 應用程式相關聯的 ASP.NET ISAPI 版本,決定應用程式所要使用的 CLR 版本。ASP.NET 應用程式使用 IIS 中的指令碼對應與 ASP.NET ISAPI 版本產生關聯。為簡化 ASP.NET 應用程式的組態程序,每個 ASP.NET 版本都搭配了連結的 Aspnet_regiis.exe 版本。

Note注意事項

.NET Framework 的每個版本中都包括一個唯一的 Aspnet_regiis.exe 版本。由於每個版本的工具都只適用於關聯的 .NET Framework 版本,因此請務必使用適當的工具版本來設定 ASP.NET 應用程式。

ASP.NET IIS 註冊工具通常配合 -s-sn 選項使用,將 ASP.NET 應用程式重新對應到它所關聯的 .NET Framework 版本。請使用 -s 選項更新指定根路徑及其所有子目錄中的應用程式。如果您不想更新子目錄中的應用程式,請使用 -sn 選項。若想一次更新電腦上所有現存 ASP.NET 應用程式的指令碼對應,請使用 -r 選項。

Note注意事項

path 參數會參考應用程式的根路徑,而非實體路徑。例如 W3SVC/1/ROOT/SampleApp1

反過來說,您也可以利用 ASP.NET IIS 註冊工具,使用 -k-kn 選項並指定應用程式的根路徑,從應用程式移除所有 ASP.NET 版本的指令碼對應。如果指定之根路徑的指令碼對應繼承自上層根路徑,則 -k-kn 選項無效。

ASP.NET IIS 註冊工具也可以用來安裝和解除安裝 ASP.NET 的連結版本。使用 -i 選項可以安裝 ASP.NET,並更新所有現存 ASP.NET 應用程式的指令碼對應。使用 -ir 選項可以安裝 ASP.NET,而不更新指令碼對應。若要解除安裝與工具關聯的 ASP.NET 版本,請使用 -u 選項。如果您想從電腦解除安裝 ASP.NET 的所有版本,請使用 -ua 選項。

您也可以使用 ASP.NET IIS 註冊工具來檢視 ASP.NET 的相關資訊。若要列出電腦上安裝的所有 ASP.NET 版本之狀態和安裝路徑,請使用 -lv 選項。如果您想查看 ASP.NET 對應的所有 IIS Metabase 索引鍵路徑,請使用 -lk 選項。

用戶端指令碼 (例如用戶端驗證) 可以使用 Aspnet_regiis.exe 進行安裝和移除。若要將與工具相關聯之 ASP.NET 版本的用戶端指令碼,安裝到每個 IIS 站台目錄的 Aspnet_client 子目錄中,請使用 -c 選項。若只要移除與工具相關聯之 ASP.NET 版本的用戶端指令碼,請使用 -e 選項。若要移除所有已安裝之 ASP.NET 版本的用戶端指令碼,請使用 -ea 選項。

如需 ASP.NET 並存執行的詳細資訊,請參閱 ASP.NET 中的並存支援。如需指令碼對應和應用程式根路徑的詳細資訊,請參閱下列網站的 IIS 文件:https://www.microsoft.com/taiwan/windowsserver2003/evaluation/overview/technologies/iis.mspx

範例

下列命令會將指向與工具相關聯之 ASP.NET 版本的指令碼對應,安裝到 SampleApp1 應用程式及其所有子應用程式。

aspnet_regiis -s W3SVC/1/ROOT/SampleApp1

下列命令只會更新 SampleApp1 應用程式的指令碼對應,而不影響子目錄中的應用程式。

aspnet_regiis -sn W3SVC/1/ROOT/SampleApp1

下列命令會安裝與 ASP.NET IIS 註冊工具相關聯的 ASP.NET 版本,以及更新所有現存 ASP.NET 應用程式的指令碼對應。請注意,只有目前對應到 ASP.NET 較早版本的應用程式會受影響。

aspnet_regiis -i

下列命令會安裝與工具相關聯的 ASP.NET 版本,但不會更新現有 ASP.NET 應用程式的指令碼對應。

aspnet_regiis -ir

下列命令會顯示電腦上安裝之所有 ASP.NET 版本的狀態和安裝路徑。

aspnet_regiis -lv

請參閱

參考

.NET Framework 工具

其他資源

ASP.NET 中的並存支援
並存執行