ASP.NET IIS 등록 도구(Aspnet_regiis.exe)

업데이트: 2007년 11월

여러 버전의 .NET Framework가 한 대의 컴퓨터에서 side-by-side 방식으로 실행되는 경우 ASP.NET 응용 프로그램에 매핑된 ASP.NET ISAPI 버전에 따라 응용 프로그램에 사용되는 CLR(공용 언어 런타임) 버전이 결정됩니다. 관리자 또는 설치 프로그램은 ASP.NET IIS 등록 도구(Aspnet_regiis.exe)를 사용하여 해당 도구와 관련된 ASP.NET ISAPI 버전을 가리키도록 ASP.NET 응용 프로그램의 스크립트 맵을 쉽게 업데이트할 수 있습니다. 또한 이 도구를 사용하면 설치된 모든 ASP.NET 버전의 상태를 표시하고, 도구와 연관된 ASP.NET 버전을 등록하고, 클라이언트 스크립트 디렉터리를 만들고, 기타 구성 작업을 수행할 수 있습니다.

참고

.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뿐입니다. 버전 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뿐입니다. 버전 6.0 이전의 IIS 또는 버전 2.0 이전의 ASP.NET에서는 이 옵션을 사용할 수 없습니다.

-ga user

IIS 메타베이스 및 ASP.NET에서 사용하는 기타 디렉터리에 대한 액세스 권한을 지정한 사용자 또는 그룹에 부여합니다.

버전 2.0 이전의 ASP.NET에서는 이 옵션을 사용할 수 없습니다.

-i

Aspnet_regiis.exe와 연관된 ASP.NET 버전을 설치하고 IIS 메타베이스 루트 및 그 아래 수준에 있는 스크립트 맵을 업데이트합니다.

이전 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 메타베이스 키의 경로 및 버전을 표시합니다.

부모 키에서 ASP.NET 스크립트 맵을 상속하는 키는 표시되지 않습니다.

-lv

컴퓨터에 설치되어 있는 모든 ASP.NET 버전의 상태 및 설치 경로를 표시합니다.

-norestart

ASP.NET 스크립트 맵을 설치하거나 업데이트한 다음 World Wide Web 게시 서비스의 다시 시작을 제한합니다. 이 옵션을 사용하지 않으면 모든 응용 프로그램 풀이 재생됩니다.

IIS 작업자 프로세스를 수동으로 다시 시작하려면 이 옵션을 -i 또는 -r 옵션과 함께 사용합니다.

-r

IIS 메타베이스 및 그 아래 수준에 있는 모든 스크립트 맵을 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

지정한 키 container에 대한 액세스 권한을 특정 사용자 또는 그룹 account에 부여합니다. 이 인수에서는 다음과 같은 선택적 한정자를 사용합니다.

  • -pku 기본 시스템 컨테이너 대신 사용자 지정 컨테이너를 사용합니다.

  • -cspprovider 사용할 컨테이너 공급자를 지정합니다.

  • -full 기본 설정인 읽기 전용 액세스 권한 대신 모든 액세스 권한을 추가하도록 지정합니다.

-pc container

지정한 컨테이너에 RSA 공개/개인 키 쌍을 만듭니다. 이 인수에서는 다음과 같은 선택적 한정자를 사용합니다.

  • -size keySize 키 크기를 지정합니다. 기본값은 1024바이트입니다.

  • -pku 컴퓨터의 기본 키 컨테이너 대신 사용자 지정 컨테이너를 사용합니다.

  • -exp 개인 키를 내보낼 수 있어야 함을 지정합니다.

  • -cspprovider 사용할 컨테이너 공급자를 지정합니다.

-pd section

구성 섹션의 암호를 해독합니다. 이 인수에서는 다음과 같은 선택적 한정자를 사용합니다.

  • -app virtualPath 포함된 경로 수준에서 해독이 수행되도록 지정합니다.

  • -location subPath 해독할 하위 디렉터리를 지정합니다.

  • -pkm Web.config 파일 대신 Machine.config 파일을 해독하도록 지정합니다.

-pdf section webApplicationDirectory

지정한 가상이 아닌 실제 디렉터리에 있는 Web.config 파일에서 지정한 구성 섹션을 해독합니다.

-pe section

지정한 구성 섹션을 암호화합니다. 이 인수에서는 다음과 같은 선택적 한정자를 사용합니다.

  • -provprovider 사용할 암호화 공급자를 지정합니다.

  • -app virtualPath 포함된 경로 수준에서 암호화가 수행되도록 지정합니다.

  • -location subPath 암호화할 하위 디렉터리를 지정합니다.

  • -pkm Web.config 파일 대신 Machine.config 파일을 암호화하도록 지정합니다.

-pef section webApplicationDirectory

지정한 가상이 아닌 실제 디렉터리에 있는 Web.config 파일에서 지정한 구성 섹션을 암호화합니다.

-pi container file

RSA 공개/개인 키 쌍을 지정한 XML file에서 특정 container로 가져옵니다. 이 인수에서는 다음과 같은 선택적 한정자를 사용합니다.

  • -pku 기본 시스템 컨테이너 대신 사용자 지정 컨테이너를 사용합니다.

  • -exp 개인 키를 내보낼 수 있도록 지정합니다.

  • -cspprovider 사용할 컨테이너 공급자를 지정합니다.

-pr container account

지정한 키 container에 대한 액세스 권한을 특정 사용자 또는 그룹 account에서 제거합니다. 이 인수에서는 다음과 같은 선택적 한정자를 사용합니다.

  • -pku 기본 시스템 컨테이너 대신 사용자 지정 컨테이너를 사용합니다.

  • -cspprovider 사용할 컨테이너 공급자를 지정합니다.

-px container file

지정된 컨테이너에서 특정 XML 파일로 RSA 공개/개인 키 쌍을 내보냅니다. 이 인수에서는 다음과 같은 선택적 한정자를 사용합니다.

  • -pku 기본 시스템 컨테이너 대신 사용자 지정 컨테이너를 사용합니다.

  • -cspprovider 사용할 컨테이너 공급자를 지정합니다.

-pz container

지정한 키 컨테이너를 삭제합니다. 이 인수에서는 다음과 같은 선택적 한정자를 사용합니다.

  • -pku 기본 시스템 컨테이너 대신 사용자 지정 컨테이너를 사용합니다.

설명

한 대의 컴퓨터에 여러 ASP.NET 버전이 설치되어 있을 경우 ASP.NET이 side-by-side 방식으로 실행된다고 말합니다. 이러한 설치에서 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 버전이 제공되어 있습니다.

참고

각 .NET Framework 버전에는 고유한 Aspnet_regiis.exe 버전이 포함되어 있습니다. 도구의 각 버전은 연관된 .NET Framework 버전에만 적용되므로 적절한 버전의 도구를 사용하여 ASP.NET 응용 프로그램을 구성해야 합니다.

ASP.NET IIS 등록 도구는 연관된 .NET Framework 버전에 ASP.NET 응용 프로그램을 다시 매핑할 때 주로 -s 또는 -sn 옵션과 함께 사용됩니다. 지정한 루트 경로 및 모든 하위 디렉터리에서 응용 프로그램을 업데이트하려면 -s 옵션을 사용합니다. 하위 디렉터리의 응용 프로그램을 업데이트하지 않으려면 -sn 옵션을 사용합니다. 컴퓨터에 있는 기존 ASP.NET 응용 프로그램의 스크립트 맵을 한 번에 모두 업데이트하려면 -r 옵션을 사용합니다.

참고

path 매개 변수는 실제 경로가 아니라 응용 프로그램의 루트 경로를 참조합니다. 예를 들어, W3SVC/1/ROOT/SampleApp1과 같습니다.

반대로, -k 또는 -kn 옵션을 사용하고 응용 프로그램의 루트 경로를 지정하면 ASP.NET IIS 등록 도구를 사용하여 응용 프로그램에서 임의의 ASP.NET 버전에 대한 스크립트 맵을 제거할 수 있습니다. 지정한 루트 경로가 부모 루트 경로에서 스크립트 맵을 상속하는 경우에는 -k-kn 옵션이 효과가 없습니다.

-norestart 옵션을 사용하면 ASP.NET 스크립트 맵이 설치되거나 업데이트된 후 World Wide Web 게시 서비스가 다시 시작되지 않습니다. 모든 응용 프로그램 풀을 재생하려는 경우가 아니면 이 옵션을 사용해야 합니다. IIS에서 다양한 응용 프로그램 풀의 여러 웹 사이트를 실행하는 경우 모든 응용 프로그램이 다시 시작되도록 하려는 것이 아니면 이 옵션을 사용해야 합니다.

또한 인터넷 정보 서비스 콘솔 응용 프로그램의 ASP.NET 탭을 사용하여 변경한 내용이 있을 경우에도 모든 응용 프로그램 풀이 재생됩니다. 모든 응용 프로그램 풀이 재생되지 않도록 하면서 응용 프로그램에서 사용하는 ASP.NET 버전을 변경하려면 다음 두 가지 명령을 실행하여 버전을 변경합니다.

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

또한 링크된 ASP.NET 버전을 설치 및 제거하는 경우에도 ASP.NET IIS 등록 도구를 사용할 수 있습니다. 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 예외가 throw됩니다. 이 오류는 응용 프로그램의 Code 하위 디렉터리가 응용 프로그램 루트 디렉터리에 있는 경우에 발생합니다. 이 오류는 응용 프로그램이 UNC 공유에 매핑되고 UNC 계정에 해당 메타베이스에 대한 읽기 권한이 없는 경우에도 발생합니다. 두 경우 모두 가장 또는 UNC 계정에 대해 **-ga **user 옵션을 사용하여 ASP.NET IIS 등록 도구를 실행하면 문제를 해결할 수 있습니다.

ASP.NET의 side-by-side 실행에 대한 자세한 내용은 ASP.NET의 Side-by-Side 지원을 참조하십시오. 스크립트 맵 및 응용 프로그램 루트 경로에 대한 자세한 내용은 Microsoft 웹 사이트의 IIS Documentation을 참조하십시오.

예제

다음 명령은 이 도구와 연관된 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 실행