ASP.NET IIS 登録ツール (Aspnet_regiis.exe)

更新 : 2007 年 11 月

1 台のコンピュータで複数バージョンの .NET Framework が side-by-side 実行されている場合、ASP.NET アプリケーションに割り当てられた ASP.NET ISAPI バージョンが、アプリケーションに使用される共通言語ランタイム (CLR: Common Language Runtime) のバージョンを決定します。ASP.NET IIS 登録ツール (Aspnet_regiis.exe) によって、管理者またはインストール プログラムは、このツールに関連付けられた ASP.NET ISAPI バージョンをポイントするように ASP.NET アプリケーションのスクリプト マップを簡単に更新できます。また、このツールを使って、インストールされているすべてのバージョンの ASP.NET のステータスを表示し、ツールに関連付けられた ASP.NET バージョンを登録し、クライアント スクリプト ディレクトリを作成し、その他の構成操作を実行することもできます。

k6h9cz8h.alert_note(ja-jp,VS.90).gifメモ :

.NET Framework には、標準システム用の IIS 登録ツールと 64 ビット システム用の IIS 登録ツールが用意されています。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 メタベースなどのディレクトリへのアクセス許可を与えます。

このオプションは、ASP.NET 2.0 より前のバージョンの ASP.NET では使用できません。

-i

Aspnet_regiis.exe に関連付けれられた ASP.NET のバージョンをインストールし、IIS メタベース ルート以下にあるスクリプト マップを更新します。

ASP.NET の以前のバージョンを使用するアプリケーション用のスクリプト マップだけが更新されます。新しいバージョンを使用するアプリケーションは影響を受けません。

-ir

Aspnet_regiis.exe に関連付けられた ASP.NET のバージョンをインストールして、ASP.NET だけを IIS に登録します。

このオプションはスクリプト マップを更新しません。ASP.NET をインストールして、スクリプト マップを更新するには、-i オプションを使用してください。

-k path

指定したアプリケーション ルート パスとそのサブディレクトリ内のすべての ASP.NET アプリケーションから、ASP.NET のすべてのバージョンに対するスクリプト マップを削除します。

-kn path

指定したアプリケーション ルート パスにある ASP.NET アプリケーションだけから、ASP.NET のすべてのバージョンに対するスクリプト マップを削除します。

このオプションは、指定した path のサブディレクトリ内のアプリケーションには影響を与えません。

-lk

ASP.NET が割り当てられている、すべての IIS メタベース キーのパスとバージョンを一覧表示します。

親キーから ASP.NET スクリプト マップを継承するキーは表示されません。

-lv

コンピュータにインストールされている ASP.NET のすべてのバージョンのステータスとインストール パスを一覧表示します。

-norestart

ASP.NET スクリプト マップをインストールまたは更新した後に、World Wide Web 発行サービスを再起動しないようにします。このオプションを使用しない場合は、すべてのアプリケーション プールが再利用されます。

IIS ワーカー プロセスを手動で再起動する場合は、このオプションを -i オプションまたは -r オプションと共に使用します。

-r

Aspnet_regiis.exe に関連付けられた ASP.NET ISAPI バージョンをポイントするように、IIS メタベース以下にあるすべてのスクリプト マップを更新します。

既存の各スクリプト マップは、現在のバージョンに関係なく、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   使用するコンテナ プロバイダを指定します。

  • -full   既定の読み取り専用アクセスではなく、フル アクセスを追加するように指定します。

-pc container

RSA の公開キーと秘密キーのペアを、指定したコンテナに作成します。この引数には、以下の修飾子をオプションで指定できます。

  • -size keySize   キーのサイズを指定します。既定値は 1024 バイトです。

  • -pku   コンピュータの既定のキー コンテナを、ユーザー指定のコンテナに置き換えます。

  • -exp   秘密キーはエクスポートできる必要があることを指定します。

  • -csp provider   使用するコンテナ プロバイダを指定します。

-pd section

構成セクションの暗号化を解除します。この引数には、以下のパラメータをオプションで指定できます。

  • -app virtualPath   指定したパスのレベルで暗号化の解除を行う必要があることを指定します。

  • -location subPath   暗号化解除対象のサブディレクトリを指定します。

  • -pkm   Web.config ファイルではなく Machine.config ファイルの暗号化を解除する必要があることを指定します。

-pdf section webApplicationDirectory

仮想ディレクトリではなく、指定した物理ディレクトリにある Web.config ファイル内の、指定した構成セクションを暗号化解除します。

-pe section

指定した構成セクションを暗号化します。この引数には、以下の修飾子をオプションで指定できます。

  • -prov provider   使用する暗号化プロバイダを指定します。

  • -app virtualPath   指定したパスのレベルで暗号化を行う必要があることを指定します。

  • -location subPath   暗号化対象のサブディレクトリを指定します。

  • -pkm   Web.config ではなく Machine.config ファイルの暗号化を行う必要があることを指定します。

-pef section webApplicationDirectory

仮想ディレクトリではなく、指定した物理ディレクトリにある Web.config ファイル内の、指定した構成セクションを暗号化します。

-pi container file

指定の XML file から、指定の container に、RSA 公開キーと秘密キーのペアをインポートします。この引数には、以下の修飾子をオプションで指定できます。

  • -pku   コンピュータの既定のコンテナを、ユーザー指定のコンテナに置き換えます。

  • -exp   秘密キーをエクスポートできることを指定します。

  • -csp provider   使用するコンテナ プロバイダを指定します。

-pr container account

指定したキー container にアクセスするための、指定したユーザーまたはグループ account のアクセス許可を削除します。この引数には、以下の修飾子をオプションで指定できます。

  • -pku   コンピュータの既定のコンテナを、ユーザー指定のコンテナに置き換えます。

  • -csp provider   使用するコンテナ プロバイダを指定します。

-px container file

RSA 公開キーと秘密キーのペアを、指定のコンテナから指定の XML ファイルにエクスポートします。この引数には、以下の修飾子をオプションで指定できます。

  • -pku   コンピュータの既定のコンテナを、ユーザー指定のコンテナに置き換えます。

  • -csp provider   使用するコンテナ プロバイダを指定します。

-pz container

指定したキー コンテナを削除します。この引数には、次の修飾子をオプションで指定できます。

  • -pku   コンピュータの既定のコンテナを、ユーザー指定のコンテナに置き換えます。

解説

1 台のコンピュータに複数バージョンの ASP.NET がインストールされている場合、ASP.NET は side-by-side 実行されていると言います。このセットアップでは、インターネット インフォメーション サービス (IIS: Internet Information Services) は、ASP.NET アプリケーションでどのバージョンの ASP.NET ISAPI (aspnet_isapi.dll) がページを処理するかを認識している必要があります。ASP.NET アプリケーションに関連付けられている ASP.NET ISAPI のバージョンに応じて、アプリケーションで使用する CLR のバージョンが決定されます。ASP.NET アプリケーションは、IIS 内のスクリプト マップを使用して、1 つのバージョンの ASP.NET ISAPI に関連付けられます。ASP.NET アプリケーションの構成プロセスを簡略化するため、ASP.NET の各バージョンにはリンク バージョンの Aspnet_regiis.exe が付属しています。

k6h9cz8h.alert_note(ja-jp,VS.90).gifメモ :

.NET Framework の各バージョンには、一意なバージョンの Aspnet_regiis.exe が付属しています。ツールの各バージョンは、関連付けられているバージョンの .NET Framework だけに適用されるため、ASP.NET アプリケーションを構成する場合は、適切なバージョンのツールを使用するようにしてください。

ツールに関連付けられている .NET Framework バージョンに ASP.NET アプリケーションをマップし直すために、通常は -s オプションまたは -sn オプションを付けて ASP.NET IIS 登録ツールを使用します。指定したルート パスおよびそのすべてのサブディレクトリ内のアプリケーションを更新するには、-s オプションを使用します。サブディレクトリ内のアプリケーションを更新しない場合は、-sn オプションを使用します。コンピュータにあるすべての既存の ASP.NET アプリケーションのスクリプト マップを一度に更新するには、-r オプションを使用します。

k6h9cz8h.alert_note(ja-jp,VS.90).gifメモ :

path パラメータは、物理パスではなく、アプリケーションのルート パスを指します。たとえば、W3SVC/1/ROOT/SampleApp1 です。

一方、ASP.NET IIS 登録ツールでは、-k オプションや -kn オプションを使用し、アプリケーションのルート パスを指定することによって、ASP.NET の任意のバージョンに対するスクリプト マップをアプリケーションから削除できます。指定したルート パスが親ルート パスからスクリプト マップを継承している場合、-k オプションおよび -kn オプションは無効です。

-norestart オプションを使用して、ASP.NET スクリプト マップをインストールまたは更新した後に、World Wide Web 発行サービスを再起動しないようにします。いずれのアプリケーション プールも再利用しない場合は、このオプションを使用する必要があります。IIS でさまざまなアプリケーション プールの複数の Web サイトを実行し、いずれのサイトも再起動しない場合に、このオプションを使用する必要があります。

インターネット インフォメーション サービス コンソール アプリケーションの [ASP.NET] タブを使用して変更を行った場合も、すべてのアプリケーション プールが再利用されます。いずれのアプリケーション プールも再利用せずにアプリケーションで使用する ASP.NET のバージョンを変更する場合は、次の 2 つのコマンドを実行してバージョンを変更します。

aspnet_regiis -s w3svc/<instance>/root -norestart
iisapp /a <app pool> /r

ASP.NET IIS 登録ツールを使用して、ASP.NET のリンク バージョンをインストールおよびアンインストールすることもできます。ASP.NET をインストールして、すべての既存の ASP.NET アプリケーションのスクリプト マップを更新するには、-i オプションを使用します。スクリプト マップを更新せずに ASP.NET をインストールするには、-ir オプションを使用します。このツールに関連付けられた ASP.NET バージョンをアンインストールするには、-u オプションを使用します。コンピュータから ASP.NET のすべてのバージョンをアンインストールする場合は、-ua オプションを使用します。

ASP.NET IIS 登録ツールを使用して、ASP.NET に関する情報を参照することもできます。コンピュータにインストールされている ASP.NET のすべてのバージョンのステータスとインストール パスを一覧表示するには、-lv オプションを使用します。ASP.NET が割り当てられている、すべての IIS メタベース キーのパスを参照するには、-lk オプションを使用します。

クライアント側の検証スクリプトなどのクライアント側スクリプトは、Aspnet_regiis.exe を使用してインストールおよび削除できます。このツールに関連付けられている ASP.NET のバージョン用のクライアント側スクリプトを、各 IIS サイト ディレクトリの Aspnet_client サブディレクトリにインストールするには、-c オプションを使用します。ツールに関連付けられた ASP.NET バージョン用だけのクライアント側スクリプトを削除するには、-e オプションを使用します。インストールされている ASP.NET のすべてのバージョン用のクライアント側スクリプトを削除するには、-ea オプションを使用します。

偽装を使用するときに偽装アカウントが IIS メタベースに対する読み取りアクセス権を持っていない場合、DirectoryEntry にアクセスしようとすると、"アクセスが拒否されました。" というメッセージの COMException 例外がスローされます。これは、アプリケーションのルート ディレクトリにアプリケーションの Code サブディレクトリが存在する場合に発生することがあります。また、アプリケーションが UNC 共有に割り当てられ、UNC アカウントがメタベースに対する読み取りアクセス権を持っていない場合にも、このエラーが発生することがあります。このいずれかに該当する場合、偽装アカウントまたは UNC アカウントに対して **-ga **user オプションを指定して ASP.NET IIS 登録ツールを実行すると、この問題が修正されます。

ASP.NET の side-by-side 実行の詳細については、「ASP.NET での side-by-side 実行のサポート」を参照してください。スクリプト マップとアプリケーションのルート パスの詳細については、Microsoft の Web サイトで IIS のドキュメントを参照してください。

このツールに関連付けられた 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 ツール

その他の技術情報

side-by-side 実行