Aspnet_regiis.exe って何してるの?

こんにちは。d99 です。
図つきでなくて申し訳ないのですが。。。:-)

[トラブルシュート][ASP.NET]Temporary ASP.NET Files' への書き込みアクセスが与えられていません。の対処方法
https://blogs.wankuma.com/ogiogi/archive/2008/03/11/127161.aspx

aspnet_regiis
って、いろいろ裏でなんかしてますよ・・・・
詳しくご存じの方は、ぜひ図つきの解説をトラックバックしていただけるとww(ぼそ)

ASP.NET 登録ツール(aspnet_regiis.exe)を -i オプションで実行すると、イベントログの [アプリケーション] に以下のようなログが残ります。

 ソース:ASP.NET 2.0.50727.0
 イベント ID:1019
 ASP.NET (バージョン 2.0.50727.0) の登録を完了します。登録ログの詳細は、C:\DOCUME~1\<ユーザー名>\LOCALS~1\Temp\ASPNETSetup.log で確認できます。

 ソース:ASP.NET 1.1.4322.0
 イベント ID:1019
 ASP.NET (バージョン 1.1.4322.0) の登録を完了します。登録ログの詳細は、C:\Users\<ユーザー名>\AppData\Local\Temp\ASPNETSetup.log で確認できます。

前者は Windows Server 2003 に ASP.NET 2.0 をインストールした場合、後者は Windows Server 2008 に ASP.NET 1.1 をインストールした場合です。OS のメジャーバージョンが異なるため、ユーザーの Temp パスが違っていますね。Windows Server 2003 では 8 3 形式になってしまっていますが、フルパスは c:\Documents and Settings\<ユーザー名>\Local Settings\Temp です。なお、同名のセットアップログが既にある場合には、ASPNETSetup_00001.log というように、連番が付与されます。

このセットアップログですが、中身を見ていただければざっとの内容はご理解いただけると思いますが、一応主要なものだけ以下にまとめてみました(Windows Server 2003 + ASP.NET 2.0 の場合です)。

  1. IIS の稼動を確認 (Starting Querying status of a service: iisadmin)
  2. ASP.NET のバージョンを確認 (Starting Determining if current ASP.NET isapi has the highest version)
  3. ASP.NET 状態サービスを停止 (Starting Stopping service: aspnet_state)
  4. IIS メタベース(※)を更新 (Starting Update IIS Metabase to use this ASP.NET isapi)
    1. MIME マップ (.aspx 等の関連付け)
    2. InProcessIsapiApps (ISAPI の動作モード) 設定
    3. ISAPI Filter (aspnet_filter.dll) インストール
    4. カスタムヘッダ (X-Powered-By ASP.NET) 設定
  5. ASPNET アカウント作成 (Starting Creating ASPNET account)
  6. ASPNET ユーザに必要なアクセス権等を設定 (Starting Setting ACLs for the ASPNET account)
  7. IIS6ユーザ(NETWORK SERVICE)に必要なアクセス権を設定 (Starting Setting WMI ACLs for a IIS6 account)
  8. ASP.NET 状態サービス(aspnet_state.exe)をインストール (Starting Install all ASP.NET Services)
  9. クライアントスクリプト(Validation コントロール等)インストール (Starting Setting up client script files for website:*)
  10. W3SVC(IIS)を再起動 (Starting Restarting W3SVC)

※ IIS メタベース(設定情報)は %WinDir%\System32\inetsrv\MetaBase.xml に保存されます

以上のように結構多岐に渡る内容をいじっています。もし「セットアップ/初期設定がうまくいっていないんじゃ?」と疑っている時はこのログを是非ご活用ください。少なくとも、aspnet_regiis を実行した結果ここにエラーが出ていないのであれば、セットアップ/初期設定周りに関する問題ではない、という事が切り分けできるかと思います。

.NET Framework ツール  ASP.NET IIS 登録ツール (Aspnet_regiis.exe)
https://msdn2.microsoft.com/ja-jp/library/k6h9cz8h.aspx

設定周りのトラブルには、aspnet_regiis と aspnetsetup ログ、是非ご活用ください (aspnet_regiis をご紹介し、改善する事例はとても多いです)。
d99 でした。