ASP.NET の複数バージョンの管理
.NET Framework では、ランタイムの複数のバージョンを同じコンピュータにインストールできます。これによって、ASP.NET アプリケーションは他のアプリケーションに影響を与えずに、実行に必要なバージョンを使用できます。ASP.NET の複数のバージョンを同じコンピュータにインストール、アンインストール、および再配布する方法を以下のセクションで説明します。
ASP.NET の複数バージョンのインストール
ASP.NET のバージョンをコンピュータに追加するには、インストールするバージョン用の .NET Framework 再頒布可能パッケージ セットアップ プログラム (Dotnetfx.exe) を実行します。既定では、次の条件に一致すると、既存のすべての ASP.NET アプリケーションが、インストールしているバージョンのランタイムを使用するようにインストール中に自動的に再構成されます。
インストールしている .NET Framework バージョンが、現在アプリケーションに割り当てられているバージョンよりも後のバージョンのとき。
インストールしている .NET Framework バージョンが、アプリケーションに割り当てられているバージョンと互換性があるとき。一般的に、バージョン番号によって互換性が決められます。マイナ リビジョンとビルド番号の違いには通常は互換性があり、メジャー リビジョン番号の違いには互換性はありません。
注意 上記の条件に一致すると、ASP.NET アプリケーションはインストールしている ASP.NET のバージョンを使用するように自動的に更新されますが、現在の Machine.config ファイルにあるカスタム構成設定は、インストールされる Machine.config ファイルには転送されません。アプリケーションがカスタム構成設定を使用する場合は、新しい Machine.config ファイルを手動で更新するか、または ASP.NET IIS 登録ツール (Aspnet_regiis.exe) を使用して、アプリケーションを ASP.NET の前のバージョンに再割り当てする必要があります。アプリケーションの再割り当ての詳細については、「ASP.NET バージョン用の ASP.NET アプリケーションの構成」を参照してください。
既存のすべてのアプリケーションが、.NET Framework のインストール中のバージョンへ自動的に再割り当てされるのを防ぐには、Dotnetfx.exe セットアップ プログラムで /noaspupgrade コマンドライン オプションを使用します。コマンドライン全体を次に示します。
Dotnetfx.exe /c:"install /noaspupgrade"
.NET Framework 再頒布可能パッケージの詳細については、「.NET Framework の再頒布」を参照してください。
IIS 6.0 のセキュリティ ロックダウン コンソール
Internet Information Services 6.0 を使用しているとき、ASP.NET のインストール後、インターネット インフォメーション サービス管理コンソールで ASP.NET を有効にすることが必要な場合があります。IIS 6.0 には新しいセキュリティ ロックダウン コンソールが導入され、管理者はこれを使用して、IIS の機能を個別に有効または無効にできます。IIS 6.0 を使用するコンピュータに ASP.NET Version 1.1 以降をインストールする際、ASP.NET のそのバージョン用のメタベース キーがインストール スクリプトによって作成されます。このメタベース キーによって、ASP.NET は構成可能なコンポーネントとしてコンソールに表示されます。インストールされている ASP.NET の各バージョンごとに個別のキーが作成されるため、コンソールでは各バージョンを個別に構成できます。ASP.NET のバージョンがコンピュータからアンインストールされると、対応するキーも削除されます。
メモ [コントロール パネル] の [アプリケーションの追加と削除] または [サーバーの構成ウィザード] を使用して ASP.NET をインストールすると、セキュリティ ロックダウン コンソールで ASP.NET が既定で有効になります。ただし、Microsoft Visual Studio .NET、Windows Update、または .NET Framework 再頒布可能パッケージ (Dotnetfx.exe) を使用してインストールした場合は、ASP.NET は既定で無効になります。
セキュリティ ロックダウン コンソールでアイテムを管理するには
- インターネット インフォメーション サービス管理コンソールを起動します。
- プラス記号をクリックしてローカル コンピュータを展開します。
- [Web サービス拡張] フォルダをクリックします。右側のフレームに、セキュリティ ロックダウン コンソールが表示されます。
- [拡張] タブをクリックし、構成する Web Service Extension アイテムをクリックします。
- アイテムを有効または無効にするには、[許可] または [禁止] をクリックします。
- [新しい Web サービス拡張を追加] リンクをクリックして新しいアイテムをコンソールに追加します。
ASP.NET の個別バージョンのアンインストール
コンピュータに ASP.NET の複数のバージョンがインストールされている場合は、各バージョンを個別にアンインストールできます。通常、ASP.NET のアンインストールは、[コントロール パネル] の [アプリケーションの追加と削除] 項目を使用して .NET Framework をアンインストールすることによって行います。アンインストールのプロセスで、セットアップ プログラムは -u オプション (アンインストール フラグ) を指定して ASP.NET IIS 登録ツール (Aspnet_regiis.exe) を呼び出します。
メモ 対応する .NET Framework をアンインストールせずに ASP.NET の 1 バージョンだけをアンインストールする場合は、Aspnet_regiis.exe を直接使用します。.NET Framework の各インストールには、対応するバージョンのツールが含まれています。ASP.NET だけをアンインストールするには、アンインストールする ASP.NET のバージョンに対応するバージョンのツールを使用し、-u オプションを指定します。詳細については、「ASP.NET IIS 登録ツール (Aspnet_regiis.exe)」を参照してください。
Aspnet_regiis.exe の -u オプションは、次のアクションを実行します。
アンインストールする ASP.NET に現在割り当てられているすべての ASP.NET アプリケーションは、コンピュータに残っている最新のバージョンへ再割り当てされます。互換性のあるバージョンが存在しない場合は、アプリケーションのスクリプト マップが完全に削除されます。
注意 スクリプト マップを削除すると、IIS は ASP.NET ページをリテラル テキストとして処理します。これによって、ソース コードがクライアントに公開される可能性があります。
ASP.NET 状態サービスは互換性のある ASP.NET のすべてのバージョン間で共有され、インストールされている ASP.NET の最新バージョンに常に割り当てられます。アンインストールする ASP.NET のバージョンが最新のバージョンの場合は、コンピュータ上で 2 番目に新しい互換性のあるバージョンが再登録され、このバージョンに置き換えられます。互換性のあるバージョンが存在しない場合は、ASP.NET 状態サービスはアンインストールされます。
アンインストールされるバージョンに対応するパフォーマンス オブジェクトとそれに関連するパフォーマンス カウンタを削除します。インストールされている ASP.NET および ASP.NET アプリケーションのすべてのバージョンに適用される汎用パフォーマンス オブジェクトとパフォーマンス カウンタは、コンピュータに残っている最新のバージョンへと再割り当てされます。
ASPNET ユーザー アカウントは、互換性のある ASP.NET のすべてのバージョン間で共有されています。コンピュータに ASP.NET のインストールが残っていない場合は、ASPNET ユーザー アカウントとそれに関連するアクセス制御リストは削除されます。
複数バージョンの ASP.NET をインストールする場合の影響については、「ASP.NET の side-by-side 実行の概要」を参照してください。
サードパーティによる .NET Framework の再配布
サードパーティのアプリケーションは、専用の再配布ライセンスの下で、.NET Framework をパッケージ化し、セットアップの一部としてインストールできます。これによって、アプリケーションは実行に必要な .NET Framework の特定のバージョンをインストールできます。.NET Framework 再頒布可能パッケージ (Dotnetfx.exe) は、ランタイムと共に配置するためにアプリケーション用に用意されています。Dotnetfx.exe の既定のインストール スクリプトが、開発したアプリケーションには適していないことがあります。.NET Framework をアプリケーションのセットアップの一部としてインストールする場合、次に示すオプションを使用するかどうかはサードパーティのアプリケーション開発者が決定します。
.NET Framework 再頒布可能パッケージの詳細については、「.NET Framework の再頒布」を参照してください。.NET Framework 再頒布可能パッケージの EULA の詳細については、「.NET Framework 再頒布可能パッケージの入手先」を参照してください。
スクリプト マップの自動更新を無効にする
既定では、既に .NET Framework がインストールされているコンピュータに新しいバージョンの .NET Framework をインストールすると、アプリケーションが互換性のないランタイムのバージョンや以降のランタイムのバージョンに関連付けられていない限り、すべての ASP.NET アプリケーションがこのバージョンの .NET Framework を使用するよう自動的に更新されます。通常は、システム管理者だけがこの種のインストールを実行します。.NET Framework がアプリケーションのセットアップの一部としてインストールされる場合は、コンピュータ上の他のアプリケーションにそのバージョンのランタイムの使用を強制しないでください。
通常、セットアップ スクリプトの一部で、Dotnetfx.exe は -i オプションを指定して ASP.NET IIS 登録ツール (Aspnet_regiis.exe) を呼び出して ASP.NET をインストールします。このオプションは、既存のすべての ASP.NET アプリケーションのスクリプト マップの更新を試みます。インストールによってコンピュータ上の他のアプリケーションが自動的に更新されるのを防ぐには、Dotnetfx.exe には /noaspnetupgrade オプションが用意されています。このオプションを指定すると、セットアップ プログラムは Aspnet_regiis.exe の -ir オプションを使用し、スクリプト マップの自動更新、既定のドキュメント作成、および MIME スワッピングの手順がスキップされます。完全なコマンドラインを次に示します。
Dotnetfx.exe /c:"install /noaspupgrade"
スクリプト マップの手動による更新
アプリケーションのスクリプト マップを手動でセットアップすることが必要な場合もあります。インストールする .NET Framework のバージョンをターゲットとする専用の仮想ディレクトリがアプリケーションに必要な場合は、アプリケーションのセットアップ プログラムが明示的に -s オプションまたは -sn オプションを指定して Aspnet_regiis.exe を呼び出し、スクリプト マップを設定することを確認します。
SampleApp1 アプリケーションのスクリプト マップを更新するコマンド ラインの例を次に示します。
Aspnet_regiis.exe -s W3SVC/1/ROOT/SampleApp1
詳細については、「ASP.NET IIS 登録ツール (Aspnet_regiis.exe)」を参照してください。
参照
ASP.NET での side-by-side 実行のサポート | ASP.NET IIS 登録ツール (Aspnet_regiis.exe) | .NET Framework の再頒布 | .NET Framework 再頒布可能パッケージの入手先