Strumento di ASP.NET per la registrazione di IIS (Aspnet_regiis.exe)
Lo strumento di ASP.NET per la registrazione di IIS (Aspnet_regiis.exe) viene utilizzato per registrare applicazioni ASP.NET con Internet Information Services (IIS). Questo argomento descrive opzioni, sintassi e altre informazioni per l'utilizzo dello strumento.
Utilizzando lo strumento di ASP.NET per la registrazione di IIS, è possibile eseguire le attività seguenti:
Registrare o rimuovere l'installazione ASP.NET di .NET Framework con IIS.
Crea nuovi pool di applicazioni ASP.NET.
Visualizza lo stato di tutte le versioni installate di ASP.NET.
Importante
La versione di Aspnet_regiis inclusa con .NET Framework versione 4 dispone di nuove funzioni e funzionalità, riepilogate nella sezione Opzioni.Queste funzionalità tuttavia sono disponibili solo quando si installa .NET Framework 4 in Windows Vista, Windows Server 2008o Windows 7.Se si installa .NET Framework versione 4in qualsiasi versione di Windows XP o Windows Server 2003, lo strumento funziona come nella versione 3.5 e o nelle versioni precedenti di .NET Framework.Per ulteriori dettagli sul funzionamento di Aspnet_regiis works in Windows XP o Windows Server 2003, vedere Strumento di ASP.NET per la registrazione di IIS per .NET Framework versione 3.5.
.NET Framework 4 prevede l'installazione affiancata con versioni precedenti di .NET Framework in un singolo computer. Se IIS era abilitato precedentemente nel computer, il processo di installazione per .NET Framework registra automaticamente la ASP.NET 4 con IIS. Tuttavia, se si installa .NET Framework 4 prima di abilitare IIS, è necessario eseguire lo strumento di ASP.NET per la registrazione di IIS per registrare .NET Framework con IIS e creare i pool di applicazioni che utilizzano .NET Framework 4.
Avviso
Per informazioni su come trovare la versione corretta di Aspnet_regiis.exe, consultare Individuazione della versione corretta di Aspnet_regiis.exe più avanti in questo documento.
aspnet_regiis [options]
Opzioni
Per registrare le applicazioni ASP.NET con IIS, in genere sono richieste solo le opzioni i, ir, iru e enable.
Opzione |
Oggetto di descrizione |
---|---|
-c |
Opzione legacy che non si applica quando si eseguono applicazioni in ASP.NET versione 4. Per ulteriori informazioni sul funzionamento di quest'opzione con le versioni precedenti di ASP.NET, vedere Strumento di ASP.NET per la registrazione di IIS per .NET Framework versione 3.5. |
-disable |
In IIS 6.0 e su IIS 7.0 eseguiti in modalità classica, disabilita l'estensione ISAPI ASP.NET. Il comando non si applica a IIS 7.0 in modalità integrata. Questa opzione può essere specificata solo in combinazione con -i, -ir o -r e non è disponibile nelle versioni di IIS precedenti la 6.0. |
-e |
Rimuove gli script client per ASP.NET dalla sottodirectory aspnet_client di ogni directory di sito IIS. Vengono rimossi solo gli script client relativi alla versione di ASP.NET associata allo strumento Aspnet_regiis.exe. |
-ea |
Rimuove gli script client per tutte le versioni di ASP.NET dalla sottodirectory aspnet_client di ogni directory di sito IIS. |
-enable |
In IIS 6.0 e IIS 7.0 in modalità classica, l'opzione abilita l'estensione ISAPI ASP.NET. Il comando non si applica a IIS 7.0 in modalità integrata. Questa opzione può essere specificata solo in combinazione con -i, -ir o -r e non è disponibile nelle versioni di IIS precedenti la 6.0, né nelle versioni di ASP.NET precedenti la 2.0. |
-ga user |
Concede all'utente o al gruppo specificato l'accesso alla metabase di IIS e alle altre directory utilizzate da ASP.NET. In genere si utilizza questa opzione se si sta creando un account di servizio personalizzato. Per ulteriori informazioni, vedere How to: Create a Service Account for an ASP.NET 2.0 Application (informazioni disponibili solo in inglese). Questa opzione non è disponibile nelle versioni di ASP.NET precedenti la 2.0. Quest'opzione consente di impostare gli ACL per i gruppi per le installazioni su Windows Vista, Windows Server 2008 o Windows 7.
Nota
La versione di Aspnet_regiis.exe fornita nelle versioni ASP.NET 3.5 e precedenti non viene eseguita in modo corretto in caso di specifica di un utente o di un gruppo locale.
|
-i |
Installa ASP.NET 4 e aggiorna le applicazioni esistenti affinché utilizzino la versione ASP.NET 4 del pool di applicazioni. Aggiorna i mapping di script e i gestori nella metabase di IIS sia in modalità classica che in modalità integrata. Questa opzione crea due pool di applicazioni, ASP.NET v4.0 e ASP.NET v4.0 Classic. Il pool di applicazioni DefaultAppPool e i pool di applicazioni Classic .NET AppPool sono impostati nella versione .NET Framework 4 di CLR. La versione a 32 bit di Aspnet_regiis.exe aggiunge solo scriptmap a 32 bit al file Applicationhost.config. La versione a 64 bit di Aspnet_regiis.exe aggiunge solo scriptmap a 32 bit e a 64 bit al file Applicationhost.config. Questo avviene in quanto le versioni a 64 bit di installazioni Windows Vista, Windows Server 2008 o Windows 7 in cui è abilitato IIS 7.0 disporranno anche del supporto per WOW64 (Windows on Windows 64-bit).
Nota
Nella finestra di dialogo Funzionalità Windows del sistema operativo, l'opzione per l'integrazione di ASP.NET non è selezionata.(Quest'opzione si trova nella sezione Internet Information Services.) La finestra di dialogo Funzionalità Windows visualizza solo lo stato dell'integrazione di ASP.NET 2.0.Non visualizza informazioni sulla versione 4.
|
-ir |
Installa e registra ASP.NET 4. Questa opzione è uguale a -i con la differenza che questa opzione non modifica la versione CLR associata a qualsiasi pool di applicazioni esistente. |
-iru |
Se ASP.NET non è registrato attualmente con IIS, esegue le attività descritte per -i. Se una precedente versione di ASP.NET è già registrata con IIS, quest'opzione esegue le attività descritte per -ir. |
-k path |
Questa opzione non è supportata in Windows Vista, Windows Server 2008 o Windows 7. Per ulteriori informazioni sul funzionamento di quest'opzione in Windows XP o Windows Server 2003, vedere Strumento di ASP.NET per la registrazione di IIS per .NET Framework versione 3.5. |
-kn path |
Questa opzione non è supportata in Windows Vista, Windows Server 2008 o Windows 7. Per ulteriori informazioni sul funzionamento di quest'opzione in Windows XP o Windows Server 2003, vedere Strumento di ASP.NET per la registrazione di IIS per .NET Framework versione 3.5. |
-lk |
Elenca il percorso e la versione di tutte le chiavi della metabase di IIS in cui è mappato ASP.NET. Questa opzione non è supportata in Windows Vista e versioni successive. Le chiavi che ereditano gli scriptmap di ASP.NET da una chiave padre non vengono visualizzate. |
-lv |
Elenca lo stato e il percorso di installazione di tutte le versioni di ASP.NET installate nel computer. |
-norestart |
Questa opzione non è supportata in Windows Vista, Windows Server 2008 o Windows 7. Per ulteriori informazioni sul funzionamento di quest'opzione in Windows XP o Windows Server 2003, vedere Strumento di ASP.NET per la registrazione di IIS per .NET Framework versione 3.5. |
-r |
Esegue le attività descritte per -i e inoltre tutti i pool di applicazioni passeranno ad utilizzare CLR di .NET Framework 4. |
-s path |
Aggiorna scriptmap e assegnazioni del pool di applicazioni per solo l'applicazione specifica e per tutte le sottoapplicazioni. Per un'applicazione Web non radice (né W3SVC\ né W3SVC\ROOT), le impostazioni del pool di applicazioni dell'applicazione Web non radice e delle sottoapplicazioni vengono copiate in un nuovo pool di applicazioni dal nome ASP.NET V4.0 nome pool di applicazioni originale e l'applicazione Web non radice viene quindi spostata nel nuovo pool di applicazioni. Il nuovo pool di applicazioni dispone delle stesse impostazioni del pool di applicazioni originale, con la differenza che la copia è mappata a CLR di .NET Framework 4 e dispone di impostazioni ASP.NET 4. Se il nuovo pool di applicazioni ASP.NET V4.0 nome pool di applicazioni originale già esiste, la fase di creazione e di clonazione del pool di applicazioni viene ignorata. Aspnet_regiis.exe utilizza invece il pool di applicazioni esistente, impostandolo per utilizzare CLR di .NET Framework 4, ma non effettua altre modifiche. Lo strumento sposta quindi l'applicazione specificata e le sottoapplicazioni nella copia del pool di applicazioni corrispondente. Le impostazioni esistenti del pool di applicazioni sono rimaste invariate. Se l'applicazione specificata è la radice Web (W3SVC\ or W3SVC\ROOT), Aspnet_regiis.exe aggiorna tutti i pool dell'applicazione per utilizzare .NET Framework 4 CLR e ASP.NET 4. |
-sn path |
Esegue le attività descritte per -s, fatta eccezione per -sn che non è ricorsivo. Aggiorna scriptmap e assegnazioni del pool di applicazioni per solo l'applicazione specifica. Nessuna sottoapplicazione viene modificata. Se l'applicazione specificata è la radice Web (W3SVC\ or W3SVC\ROOT), Aspnet_regiis.exe modifica i pool di applicazioni denominati DefaultAppPool, Classic .NET AppPool, ASP.NET V4.0 e ASP.NET V4.0 Classic" per utilizzare CLR di .NET Framework 4 e ASP.NET 4. |
-u |
Per la disinstallazione, esce dalle due versioni di 4 dei pool di applicazioni ed esce dalle applicazioni che erano nei due pool di applicazioni della versione 4. Questa opzione rimuove inoltre l'attributo managedRuntimeVersion dei pool di applicazioni mappati a CLR di .NET Framework 4. Ripristina i pool di applicazioni al valore predefinito IIS 7.0 per il runtime, ossia 2.0 in Windows Vista, Windows Server 2008 o Windows 7. L'opzione rimuove tutti i mapping dei moduli e i gestori della versione 4 impostati in modo esplicito. Rimuove inoltre tutti gli scriptmap (a 32 bit e a 64 bit), a prescindere dal fatto che la versione di Aspnet_regiis.exe utilizzata sia a 32 bit o a 64 bit. |
-ua |
Per la disinstallazione, esce dalle due versioni di 4 dei pool di applicazioni ed esce dalle applicazioni che erano nelle due versioni 4 dei pool di applicazioni. Questa opzione rimuove tutte le registrazioni ASP.NET (versioni 2.0 e 4) dal file Applicationhost.config. Rimuove inoltre tutti gli scriptmap (a 32 bit e a 64 bit), a prescindere dal fatto che la versione di Aspnet_regiis.exe utilizzata sia a 32 bit o a 64 bit. I pool di applicazioni esistenti continueranno ad essere associati a .NET Framework 2.0, perché si tratta del valore predefinito dell'attributo managedRuntimeVersion. |
-? |
Visualizza la sintassi e le opzioni dei comandi dello strumento di ASP.NET per la registrazione di IIS. |
Opzioni di configurazione
Opzione |
Oggetto di descrizione |
---|---|
-config+ |
Attiva l'accesso remoto alla configurazione di ASP.NET. |
-config- |
Disabilita l'accesso remoto alla configurazione di ASP.NET. |
-pa account contenitore |
Concede all'account di un determinato utente o gruppo l'autorizzazione per l'accesso al contenitore di chiavi specificato. Per questa opzione è possibile specificare i modificatori seguenti:
|
-pc contenitore |
Crea una coppia di chiavi pubblica/privata RSA nel contenitore specificato. Per questa opzione è possibile specificare i modificatori seguenti:
|
-pd sezione |
Decrittografa la sezione di configurazione. L'argomento può essere costituito da uno dei parametri seguenti:
|
-pdf sezione webApplicationDirectory |
Decrittografa una determinata sezione di configurazione del file Web.config nella directory fisica (non virtuale) specificata. |
-pe sezione |
Crittografa la sezione di configurazione specificata. Per questa opzione è possibile specificare i modificatori seguenti:
|
-pef section webApplicationDirectory |
Crittografa una determinata sezione di configurazione del file Web.config nella directory fisica (non virtuale) specificata. |
-pi file contenitore |
Importa una coppia di chiavi pubblica/privata RSA nel contenitore specificato per container dal file XML specificato. Per questa opzione è possibile specificare i modificatori seguenti:
|
-pr account contenitore |
Rimuove l'autorizzazione per l'accesso al contenitore di chiavi specificato all'account di un determinato utente o gruppo. Per questa opzione è possibile specificare i modificatori seguenti:
|
-px file contenitore |
Esporta una coppia di chiavi pubblica/privata RSA da un determinato contenitore nel file XML specificato. Per questa opzione è possibile specificare i modificatori seguenti:
|
-pz contenitore |
Elimina il contenitore di chiavi specificato. Per questa opzione è possibile specificare il seguente modificatore:
|
Note
Quando più versioni di ASP.NET sono installate nel computer, le versioni di ASP.NET sono in esecuzione in modalità side-by-side. In questo contesto è necessario configurare IIS per indicare la versione dell'ISAPI di ASP.NET (aspnet_isapi.dll) che deve elaborare una pagina in un'applicazione ASP.NET. In IIS 7.0, nella modalità Classica e Integrata, la versione CLR impostata per il pool di applicazioni determina la versione di ASP.NET e la versione associata di CLR utilizzate per eseguire un'applicazione. In IIS 6.0 viene utilizzato uno scriptmap per associare un'applicazione a una versione specifica ASP.NET ISAPI, e la versione ISAPI a sua volta determina quale versione di CLR viene utilizzata per eseguire l'applicazione.
Esistono versioni a 32 bit e a 64 bit di Aspnet_regiis.exe. Per Windows Vista e Windows Server 2008, è possibile eseguire la versione a 32 bit dello strumento in un'installazione a 64 bit di IIS. Consente di eseguire processi di lavori misti a 32 bit e a 64 bit nello stesso sistema a 64 bit. Nella tabella seguente vengono elencati casi e limitazioni speciali che si applicano quando si esegue la versione a 32 bit dello strumento in una versione a 64 bit di IIS.
Versione IIS |
Casi speciali per versioni a 32 bit di Aspnet_regiis.exe |
---|---|
6.0 |
È possibile eseguire la versione a 32 bit di Aspnet_regiis.exe sotto un'installazione IIS 6.0 a 64 bit su Windows Server 2003 con le restrizioni seguenti:
|
7.0 |
In Windows Vista, Windows Server 2008o Windows 7, quando si esegue la versione a 32 bit di Aspnet_regiis.exe in IIS 7, lo strumento non imposta automaticamente l'attributo enable32BitAppOnWin64 dell'elemento applicationPools. In un'installazione predefinita di un sistema operativo a 64 bit, con Windows on Windows 64 (WoW64) abilitato, è possibile utilizzare Aspnet_regiis.exe a 32 bit per configurare IIS 7, ma non sarà possibile eseguire applicazioni a 32 bit a meno che non si modifichi in modo esplicito l'attributo enable32BitAppOnWin64 per abiliare l'esecuzione dell'applicazione nell'ambiente WOW (Windows on Windows) su una piattaforma a 64 bit. Per ulteriori informazioni sulle opzioni di configurazione di IIS 7.0, vedere la documentazione relativa all'elemento pool di applicazioni nel file Applicationhost.config. |
Lo strumento per la registrazione di ASP.NET in IIS viene in genere utilizzato con l'opzione -s o -sn per rimappare un'applicazione ASP.NET alla versione di .NET Framework associata. Utilizzare l'opzione -s per aggiornare un'applicazione nel percorso della directory radice specificato e in tutte le relative sottodirectory. Se non si desidera aggiornare le applicazioni nelle sottodirectory, utilizzare l'opzione -sn.
Nota
Il parametro path fa riferimento al percorso della directory radice dell'applicazione, non al percorso fisico.Ad esempio W3SVC/1/ROOT/SampleApp1.
È inoltre possibile utilizzare lo strumento ASP.NET IIS Registration per visualizzare le informazioni su ASP.NET. Per elencare lo stato e il percorso di installazione di tutte le versioni di ASP.NET installate nel computer, utilizzare l'opzione -lv.
L'opzione -norestart impedisce che il servizio Pubblicazione sul Web venga riavviato dopo l'installazione o l'aggiornamento degli scriptmap ASP.NET. Utilizzare questa opzione se si eseguono più siti Web in IIS che si trovano in diversi pool di applicazioni, e non si desidera che vengano riavviati tutti.
Notare che apportando modifiche tramite la scheda ASP.NET nell'applicazione console Internet Information Services verranno riciclati tutti i pool di applicazioni. Se si desidera cambiare la versione di ASP.NET utilizzata da un'applicazione senza riciclare tutti i pool di applicazioni, eseguire i due comandi seguenti per cambiare la versione.
aspnet_regiis -s w3svc/<instance>/root -norestart
iisapp /a <app pool> /r
Lo strumento di ASP.NET per la registrazione di IIS può essere utilizzato per installare e disinstallare la versione collegata di ASP.NET. Utilizzare l'opzione -i per installare ASP.NET e per aggiornare gli scriptmap di tutte le applicazioni ASP.NET esistenti. Per installare ASP.NET senza aggiornare gli scriptmap, utilizzare l'opzione -ir. Per disinstallare la versione di ASP.NET associata allo strumento, utilizzare l'opzione -u. Per disinstallare tutte le versioni di ASP.NET dal computer, utilizzare l'opzione -ua.
È inoltre possibile utilizzare lo strumento ASP.NET IIS Registration per visualizzare le informazioni su ASP.NET. Per elencare lo stato e il percorso di installazione di tutte le versioni di ASP.NET installate nel computer, utilizzare l'opzione -lv. Per visualizzare i percorsi di tutte le chiavi della metabase di IIS in cui ASP.NET è mappato, utilizzare l'opzione -lk.
È possibile utilizzare Aspnet_regiis.exe per installare e rimuovere lo script sul lato client di sistema, come ad esempio lo script per la convalida sul lato client. Utilizzare l'opzione -c per installare lo script del client per la versione di ASP.NET associata allo strumento. (Lo script è installato nella sottodirectory Aspnet_client di ogni directory del sito IIS.) Per rimuovere lo script del lato client solo per la versione di ASP.NET associata allo strumento, utilizzare l'opzione -e. Per rimuovere lo script del lato client per tutte le versioni installate di ASP.NET, utilizzare l'opzione -ea.
Quando si utilizza la rappresentazione, se l'account di rappresentazione non dispone dell'accesso in lettura alla metabase IIS, al tentativo di accesso a DirectoryEntry, verrà generata un'eccezione COMException con il messaggio "Accesso negato". Questo problema può verificarsi se nella directory radice dell'applicazione è contenuta la sottodirectory del codice dell'applicazione e anche se un'applicazione è mappata a una condivisione UNC e l'account UNC non dispone dell'accesso in lettura alla metabase. In entrambi i casi il problema viene risolto eseguendo lo strumento di ASP.NET per la registrazione di IIS con l'opzione **-ga **utente per la rappresentazione o l'account UNC.
Per ulteriori informazioni sugli scriptmap e sui percorsi radice delle applicazioni, vedere Documentazione IIS nel sito Web di Microsoft.
Esempi
Il comando seguente installa la versione di ASP.NET associata alla versione dello strumento ASP.NET per la registrazione di IIS utilizzato e aggiorna le applicazioni ASP.NET esistenti. In IIS 6.0, il comando aggiorna gli scriptmap delle applicazioni ASP.NET esistenti che sono al momento mappati ad una versione precedente di ASP.NET. In IIS 7.0, il comando aggiorna i gestori sia in modalità classica che integrata nella metabase IIS. Inoltre cambia i pool di applicazioni DefaultAppPool e Classic .NET AppPool per utilizzare CLR di .NET Framework 4.
aspnet_regiis -i
Il comando seguente installa la versione ASP.NET associata allo strumento senza aggiornare le applicazioni esistenti. Su IIS 7.0, il comando non aggiorna la versione del .NET Framework associato con i pool di applicazioni DefaultAppPool e Classic .NET AppPool.
aspnet_regiis -ir
Il comando riportato di seguito visualizza lo stato e il percorso di installazione di tutte le versioni di ASP.NET installate nel computer.
aspnet_regiis -lv
Il comando seguente aggiorna un'applicazione Web e tutte le relative sottoapplicazioni per utilizzare la versione di ASP.NET associata allo strumento. Su IIS 6.0, gli scriptmap sono aggiornati. Su IIS 7.0, l'applicazione viene mappata al nuovo pool di applicazioni.
aspnet_regiis -s W3SVC/1/ROOT/SampleApp1
Nel comando seguente vengono eseguite le stesse funzioni del comando -s, ad eccezione del fatto che il comando non influisce sulle applicazioni nelle sottodirectory.
aspnet_regiis -sn W3SVC/1/ROOT/SampleApp1
Il comando che segue concede agli account utente o di gruppo specificati l'accesso alla metabase di IIS e alle altre directory utilizzate da ASP.NET.
aspnet_regiis -ga MyUserGroup W3SVC/1/ROOT/SampleApp1
Individuazione della versione corretta di Aspnet_regiis.exe
Aspnet_regiis.exe viene installato nella directory di Microsoft.NET Framework. Se nel computer sono in esecuzione più versioni di .NET Framework in modalità side-by-side, potrebbero essere installate più versioni dello strumento. Nella tabella seguente sono elencati i percorsi di installazione dello strumento per diverse versioni di .NET Framework.
Versione di .NET Framework |
Percorso del file Aspnet_regiis.exe |
---|---|
.NET Framework versione 1 |
%windir%\.NET\Framework\v1.0.3705 |
.NET Framework versione 1.1 |
%windir%\Microsoft.NET\Framework\v1.1.4322 |
.NET Framework versione 2.0, versione 3.0 e versione 3.5 (sistemi a 32 bit) |
%windir%\Microsoft.NET\Framework\v2.0.50727 |
.NET Framework versione 2.0, versione 3.0 e versione 3.5 (sistemi a 64 bit) |
%windir%\Microsoft.NET\Framework64\v2.0.50727 |
.NET Framework versione 4 (sistemi a 32 bit) |
%windir%\Microsoft.NET\Framework\v4.0.30319 |
.NET Framework versione 4 (sistemi a 64 bit) |
%windir%\Microsoft.NET\Framework64\v4.0.30319 |
Le directory delle versioni di .NET Framework 3.0 e 3.5 non dispongono di una copia dello strumento. Per ulteriori informazioni, vedere la voce How to set an IIS Application or AppPool to use ASP.NET 3.5 rather than 2.0 sul blog di Scott Hanselman (in lingua inglese).
Vedere anche
Concetti
Esecuzione affiancata di diverse versioni
Altre risorse
Strumento di ASP.NET per la registrazione di IIS per .NET Framework versione 3.5