ASP.NET IIS-Registrierungstool (Aspnet_regiis.exe)
Aktualisiert: November 2007
Wenn mehrere Versionen von .NET Framework parallel auf einem Computer ausgeführt werden, wird durch die einer ASP.NET-Anwendung zugeordnete ASP.NET ISAPI-Version ermittelt, welche Version der Common Language Runtime (CLR) für die Anwendung verwendet wird. Das ASP.NET IIS-Registrierungstool (Aspnet_regiis.exe) ermöglicht es einem Administrator oder Installationsprogramm, die Skriptzuordnungen für eine ASP.NET-Anwendung so zu aktualisieren, dass sie auf die diesem Tool zugeordnete ASP.NET ISAPI-Version zeigt. Das Tool kann auch zum Anzeigen des Status aller installierten Versionen von ASP. NET, zum Registrieren der dem Tool zugeordneten ASP.NET-Version, zum Erstellen von Clientskriptverzeichnissen und zum Ausführen anderer Konfigurationsvorgänge verwendet werden.
Tipp
Im Lieferumfang von .NET Framework sind zwei IIS-Registrierungstools enthalten: ein Tool für Standardsysteme und ein Tool für 64-Bit-Systeme. Das Tool für 64-Bit-Systeme befindet sich im Unterverzeichnis Framework64 des Verzeichnisses Microsoft.NET im Windows-Ordner. Das IIS-Registrierungstool ist z. B. in C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727 enthalten.
aspnet_regiis [options]
Optionen
Option |
Beschreibung |
---|---|
-c |
Installiert die clientseitigen Skripte für ASP.NET, z. B. clientseitige Validierungsskripte, im aspnet_client-Unterverzeichnis jedes IIS-Siteverzeichnisses (Internet Information Services). Es werden nur die clientseitigen Skripte für die mit Aspnet_regiis.exe verbundene ASP.NET-Version installiert. |
-disable |
Deaktiviert ASP.NET in der IIS-Sicherheitskonsole. Diese Option kann nur mit der Option -i, -ir oder -r kombiniert werden. Sie steht nicht für IIS-Versionen vor IIS 6.0 zur Verfügung. |
-e |
Entfernt die clientseitigen Skripte für ASP.NET aus dem aspnet_client -Unterverzeichnis jedes IIS-Siteverzeichnisses. Es werden nur die clientseitigen Skripte für die mit Aspnet_regiis.exe verbundene ASP.NET-Version entfernt. |
-ea |
Entfernt die clientseitigen Skripte für alle Versionen von ASP.NET aus dem aspnet_client-Unterverzeichnis jedes IIS-Siteverzeichnisses. |
-enable |
Aktiviert ASP.NET in der IIS-Sicherheitskonsole. Diese Option kann nur mit der Option -i, -ir oder -r kombiniert werden. Sie steht nicht für IIS-Versionen vor IIS 6.0 oder für ASP.NET-Versionen vor ASP.NET, Version 2.0, zur Verfügung. |
-ga user |
Gewährt dem angegebenen Benutzer bzw. der angegebenen Gruppe den Zugriff auf die IIS-Metabasis und andere Verzeichnissen, die von ASP.NET verwendet werden. Diese Option steht nicht für ASP.NET-Versionen vor ASP.NET 2.0 zur Verfügung. |
-i |
Installiert die mit Aspnet_regiis.exe verbundene Version von ASP.NET und aktualisiert die Skriptzuordnungen im IIS-Metabasisstamm und den darunter liegenden Verzeichnissen. Es werden nur die Skriptzuordnungen für Anwendungen aktualisiert, die eine frühere Version von ASP.NET verwenden. Anwendungen, die eine spätere Version verwenden, sind davon nicht betroffen. |
-ir |
Installiert die mit Aspnet_regiis.exe verbundene Version von ASP.NET und registriert ASP.NET nur in IIS. Durch diese Option werden die Skriptzuordnungen nicht aktualisiert. Verwenden Sie die Option -i, um ASP.NET zu installieren und die Skriptzuordnungen zu aktualisieren. |
-k path |
Entfernt die Skriptzuordnungen aller Versionen von ASP.NET aus allen ASP.NET-Anwendungen im angegebenen Pfad des Anwendungsstamms und den Unterverzeichnissen. |
-kn path |
Entfernt die Skriptzuordnungen aller Versionen von ASP.NET aus der ASP.NET-Anwendung im angegebenen Pfad des Anwendungsstamms. Diese Option hat keine Auswirkungen auf Anwendungen in Unterverzeichnissen des angegebenen path. |
-lk |
Listet den Pfad und die Version aller IIS-Metabasisschlüssel auf, in denen ASP.NET zugeordnet ist. Die Schlüssel, die ASP.NET-Skriptzuordnungen von einem übergeordneten Schlüssel erben, werden nicht angezeigt. |
-lv |
Listet den Status und den Installationspfad aller auf dem Computer installierten Versionen von ASP.NET auf. |
-norestart |
Unterdrückt den Neustart des WWW-Publishingdiensts nach der Installation oder Aktualisierung von ASP.NET-Skriptzuordnungen. Wenn Sie diese Option nicht verwenden, werden alle Anwendungspools wiederverwendet. Verwenden Sie diese Option mit der -i-Option oder der -r-Option, wenn der IIS-Workerprozess manuell neu gestartet wird. |
-r |
Aktualisiert alle Skriptzuordnungen in der IIS-Metabasis und den darunter liegenden Verzeichnissen, sodass sie auf die Aspnet_regiis.exe zugeordnete ASP.NET ISAPI-Version zeigen. Alle vorhandenen Skriptzuordnungen werden so aktualisiert, dass sie auf die dem ASP.NET IIS-Registrierungstool zugeordnete ASP.NET ISAPI-Version zeigen, unabhängig von der aktuellen Version. |
-s path |
Installiert die Skriptzuordnung, die auf die Aspnet_regiis.exe zugeordnete ASP.NET ISAPI-Version zeigt, für alle ASP.NET-Anwendungen im angegebenen Pfad des Anwendungsstamms und den Unterverzeichnissen. Alle vorhandenen Skriptzuordnungen im angegebenen Pfad und den darunter liegenden Verzeichnissen, die eine frühere Version von ASP.NET ISAPI verwenden, werden aktualisiert. |
-sn path |
Installiert die Skriptzuordnung, die auf die dem Tool zugeordnete ASP.NET ISAPI-Version zeigt, für die ASP.NET-Anwendung im angegebenen Pfad des Anwendungsstamms. Alle vorhandenen Skriptzuordnungen im angegebenen Pfad, die eine frühere Version von ASP.NET ISAPI verwenden, werden aktualisiert. Diese Option hat keine Auswirkungen auf Anwendungen in Unterverzeichnissen von path. |
-u |
Deinstalliert die Version von ASP.NET auf dem Computer, die dem ASP.NET IIS-Registrierungstool zugeordnet ist. Vorhandene Skriptzuordnungen für diese ASP.NET ISAPI-Version werden automatisch der aktuellen installierten ASP.NET ISAPI-Version zugeordnet. |
-ua |
Deinstalliert alle Versionen von ASP.NET auf diesem Computer. |
-? |
Zeigt die Befehlssyntax und Optionen für das ASP.NET IIS-Registrierungstool an. |
Konfigurationsoptionen
Option |
Beschreibung |
---|---|
-config+ |
Aktiviert den Remotezugriff auf die ASP.NET-Konfiguration auf dem Computer. |
-config- |
Deaktiviert den Remotezugriff auf die ASP.NET-Konfiguration auf dem Computer. |
-pa container account |
Gewährt dem angegebenen Benutzer bzw. der angegebenen Gruppe account den Zugriff auf den angegebenen Schlüssel container. Dieses Argument verwendet die folgenden optionalen Modifizierer:
|
-pc container |
Erstellt im angegebenen Container ein RSA-Schlüsselpaar aus öffentlichem und privatem Schlüssel. Dieses Argument verwendet die folgenden optionalen Modifizierer:
|
-pd section |
Entschlüsselt den Konfigurationsabschnitt. Dieses Argument verwendet die folgenden optionalen Parameter:
|
-pdf section webApplicationDirectory |
Entschlüsselt den angegebenen Konfigurationsabschnitt der Datei Web.config im angegebenen physischen Verzeichnis (nicht im virtuellen). |
-pe section |
Entschlüsselt den angegebenen Konfigurationsabschnitt. Dieses Argument verwendet die folgenden optionalen Modifizierer:
|
-pef section webApplicationDirectory |
Verschlüsselt den angegebenen Konfigurationsabschnitt der Datei Web.config im angegebenen physischen Verzeichnis (nicht im virtuellen). |
-pi container file |
Importiert ein RSA-Schlüsselpaar aus öffentlichem und privatem Schlüssel aus der angegebenen XML-file in den angegebenen container. Dieses Argument verwendet die folgenden optionalen Modifizierer:
|
-pr container account |
Entfernt die dem angegebenen Benutzer bzw. der angegebenen Gruppe account zugewiesene Berechtigung für den Zugriff auf den angegebenen Schlüssel container. Dieses Argument verwendet die folgenden optionalen Modifizierer:
|
-px container file |
Exportiert ein RSA-Schlüsselpaar aus öffentlichem und privatem Schlüssel aus dem angegebenen Container in die angegebene XML-Datei. Dieses Argument verwendet die folgenden optionalen Modifizierer:
|
-pz container |
Löscht den angegebenen Schlüsselcontainer. Dieses Argument verwendet den folgenden optionalen Modifizierer:
|
Hinweise
Wenn mehrere Versionen von ASP.NET auf einem Computer installiert sind, wird dies als parallele Ausführung von ASP.NET bezeichnet. Bei diesem Setup muss IIS (Internet Information Services, Internetinformationsdienste) bekannt sein, von welcher Version von ASP.NET ISAPI (aspnet_isapi.dll ) eine Seite in einer ASP.NET-Anwendung verarbeitet werden soll. Die einer ASP.NET-Anwendung zugeordnete ASP.NET ISAPI-Version bestimmt, welche Version der CLR für die Anwendung verwendet wird. Eine ASP.NET-Anwendung wird mithilfe einer Skriptzuordnung in IIS mit einer ASP.NET ISAPI-Version verbunden. Um den Konfigurationsvorgang für eine ASP.NET-Anwendung zu vereinfachen, wird jede ASP.NET-Version mit einer verknüpften Version von Aspnet_regiis.exe geliefert.
Tipp
Jede Version von .NET Framework enthält eine eindeutige Version von Aspnet_regiis.exe. Da jede Version des Tools nur für die zugeordnete Version von .NET Framework gilt, müssen Sie beim Konfigurieren einer ASP.NET-Anwendung unbedingt die richtige Version des Tools verwenden.
Das ASP.NET IIS-Registrierungstool wird i. d. R. mit der Option -s oder -sn verwendet, um eine ASP.NET-Anwendung der mit dem Tool verbundenen Version von .NET Framework zuzuordnen. Mit der Option -s können Sie eine Anwendung im angegebenen Pfad zum Stammverzeichnis und in den Unterverzeichnissen aktualisieren. Wenn Anwendungen in Unterverzeichnissen nicht aktualisiert werden sollen, verwenden Sie die Option -sn. Mit der Option -r können Sie die Skriptzuordnungen aller auf dem Computer vorhandenen ASP.NET-Anwendungen gleichzeitig aktualisieren.
Tipp
Der path-Parameter bezieht sich auf den Pfad zum Stammverzeichnis der Anwendung, nicht auf den physischen Pfad. Beispiel: W3SVC/1/ROOT/SampleApp1.
Entsprechend können Sie mit dem ASP.NET IIS-Registrierungstool die Skriptzuordnungen zu jeder beliebigen ASP.NET-Version aus einer Anwendung löschen, indem Sie die Option -k oder -kn sowie den Pfad zum Stammverzeichnis der Anwendung angeben. Wenn der angegebene Stammpfad die Skriptzuordnung von einem übergeordneten Stammpfad erbt, sind die Optionen -k und -kn wirkungslos.
Die -norestart-Option verhindert einen Neustart des WWW-Publishingdiensts nach der Installation oder Aktualisierung von ASP.NET-Skriptzuordnungen. Sie sollten diese Option verwenden, wenn Sie nicht möchten, dass alle Anwendungspools wiederverwendet werden. Wenn Sie mehrere Websites in IIS in verschiedenen Anwendungspools ausführen, und Sie nicht möchten, dass alle Websites neu gestartet werden, sollten Sie diese Option verwenden.
Beachten Sie, dass alle Änderungen, die Sie auf der ASP.NET-Registerkarte der IIS-Konsolenanwendung vorgenommen haben, ebenfalls dazu führen, dass alle Anwendungspools wiederverwendet werden. Wenn Sie die ASP.NET-Version ändern möchten, ohne dass alle Anwendungspools wiederverwendet werden, führen Sie die folgenden zwei Befehle aus, um die Version zu ändern.
aspnet_regiis -s w3svc/<instance>/root -norestart
iisapp /a <app pool> /r
Das ASP.NET IIS-Registrierungstool kann auch zum Installieren und Deinstallieren der verknüpften Version von ASP.NET verwendet werden. Verwenden Sie die Option -i, um ASP.NET zu installieren und die Skriptzuordnungen aller vorhandenen ASP.NET-Anwendungen zu aktualisieren. Verwenden Sie die Option -ir, um ASP.NET zu installieren, ohne die Skriptzuordnungen zu aktualisieren. Mit der Option -u können Sie die mit dem Tool verbundene ASP.NET-Version deinstallieren. Wenn Sie alle Versionen von ASP.NET auf dem Computer deinstallieren möchten, verwenden Sie die Option -ua.
Sie können das ASP.NET IIS-Registrierungstool auch zum Anzeigen von Informationen zu ASP.NET verwenden. Mit der Option -lv können Sie den Status und den Installationspfad aller auf dem Computer installierten ASP.NET-Versionen auflisten. Mit der Option -lk können Sie die Pfade zu allen IIS-Metabasisschlüsseln anzeigen, denen ASP.NET zugeordnet ist.
Clientseitige Skripte, z. B. für die clientseitige Validierung, können mithilfe von Aspnet_regiis.exe installiert und entfernt werden. Wenn Sie das clientseitige Skript für die dem Tool zugeordnete ASP.NET-Version im aspnet_client-Unterverzeichnis jedes IIS-Siteverzeichnisses installieren möchten, verwenden Sie die Option -c. Verwenden Sie die Option -e, wenn Sie nur das clientseitige Skript für die dem Tool zugeordnete ASP.NET-Version entfernen möchten. Wenn Sie das clientseitige Skript für alle installierten ASP.NET-Versionen löschen möchten, verwenden Sie die Option -ea.
Wenn Sie den Identitätswechsel verwenden und das Konto für den Identitätswechsel keinen Lesezugriff auf die IIS-Metabasis hat, wird eine COMException-Ausnahme mit der Meldung "Zugriff verweigert" ausgelöst, sobald Sie versuchen, auf DirectoryEntry zuzugreifen. Dies kann auftreten, wenn das Codeunterverzeichnis der Anwendung im Stammverzeichnis der Anwendung enthalten ist. Der Fehler kann auch auftreten, wenn eine Anwendung einer UNC-Freigabe zugewiesen ist, und das UNC-Konto keinen Lesezugriff auf die IIS-Metabasis hat. In beiden Fällen kann das Problem behoben werden, indem Sie das ASP.NET IIS-Registrierungstool mit der **-ga **user-Option für das Konto für den Identitätswechsel oder das UNC-Konto ausführen.
Weitere Informationen zur parallelen Ausführung in ASP.NET finden Sie unter ASP.NET-Unterstützung der parallelen Ausführung. Weitere Informationen zu Skriptzuordnungen und dem Pfad des Anwendungsstamms finden Sie in der IIS-Dokumentation auf der Microsoft-Website.
Beispiele
Durch den folgenden Befehl werden die Skriptzuordnungen, die auf die mit dem Tool verknüpfte ASP.NET-Version zeigen, in der Anwendung SampleApp1 und allen zugehörigen untergeordneten Anwendungen installiert.
aspnet_regiis -s W3SVC/1/ROOT/SampleApp1
Durch den folgenden Befehl werden nur die Skriptzuordnungen für die Anwendung SampleApp1 aktualisiert, ohne dass Anwendungen in Unterverzeichnissen beeinflusst werden.
aspnet_regiis -sn W3SVC/1/ROOT/SampleApp1
Durch den folgenden Befehl wird die dem ASP.NET IIS-Registrierungstool zugeordnete ASP.NET-Version installiert, und die Skriptzuordnungen aller vorhandenen ASP.NET-Anwendungen werden aktualisiert. Beachten Sie, dass nur Anwendungen, die derzeit einer früheren Version von ASP.NET zugeordnet sind, davon betroffen sind.
aspnet_regiis -i
Durch den folgenden Befehl wird die mit dem Tool verbundene ASP.NET-Version installiert, die Skriptzuordnungen vorhandener ASP.NET-Anwendungen werden jedoch nicht aktualisiert.
aspnet_regiis -ir
Durch den folgenden Befehl werden der Status und der Installationspfad aller auf dem Computer installierten ASP.NET-Versionen angezeigt.
aspnet_regiis -lv