Procedura: Installare un pacchetto di distribuzione mediante il file deploy.cmd creato da Visual Studio

Quando si crea un pacchetto di distribuzione Web in Visual Studio, viene creato un file .cmd che è possibile utilizzare per installare il pacchetto. Tale file contiene i comandi Distribuzione Web effettivi per l'installazione del pacchetto. Il file con estensione cmd viene fornito per semplificare la sintassi dell'installazione da riga di comando, poiché i comandi Distribuzione Web possono essere lunghi e complessi.

Prima di avviare il file .cmd, verificare che il server di destinazione sia impostato correttamente. Se la destinazione è un server remoto, verificare di disporre di una connessione adeguata al server remoto e di autorizzazioni appropriate per tale server. Quando si avvia il file con estensione cmd, è possibile passare a tale file opzioni che verranno passate a Distribuzione Web.

In questo argomento viene illustrata la sintassi utilizzata per richiamare il file con estensione cmd. Vengono presentati cenni preliminari sui prerequisiti per richiamare il file con estensione cmd e vengono forniti collegamenti ad altre risorse per informazioni più dettagliate relative all'installazione.

Scelta di un metodo di installazione

In questa sezione vengono forniti cenni preliminari sulle opzioni di installazione del pacchetto in locale o in remoto, seguiti dalle procedure di configurazione del server per ciascuna opzione. Le procedure di configurazione del server per la distribuzione remota offrono utili cenni preliminari che agevolano l'individuazione del metodo ottimale in uno scenario specifico. Per ciascuna procedura è disponibile un collegamento a un argomento sul sito Web TechNet di Microsoft IIS dove è possibile trovare istruzioni dettagliate.

Se si effettua la distribuzione nel computer di sviluppo, ad esempio a scopo di test, seguire la procedura che descrive come configurare un computer per la distribuzione locale in-process.

Se si effettua la distribuzione in una società di hosting di terze parti o in server di destinazione amministrati da altri, il metodo da utilizzare sarà indicato dalla società di hosting o dagli amministratori del server. In tal caso, è possibile ignorare i cenni preliminari sulle opzioni. Può essere invece utile leggere solo la parte della procedura che indica i requisiti del computer di sviluppo per il metodo da utilizzare.

Sono disponibili i metodi di installazione seguenti:

  • Installare il pacchetto in-process nel server locale, quello in cui viene eseguito il file con estensione cmd.

    È necessario disporre di diritti amministrativi per il server locale. Questo metodo viene in genere utilizzato dagli sviluppatori per la distribuzione nel computer di sviluppo per eseguire test locali utilizzando IIS.

  • Installare il pacchetto in un server remoto tramite Servizio Gestione Web (WMSvc) e il gestore di distribuzione Web.

    Nelle società di hosting di terze parti in genere i server sono impostati per questo metodo di distribuzione per permettere ai client di distribuire direttamente le applicazioni. Non è tuttavia necessario che la società di hosting fornisca al client diritti amministrativi per i server. Questo metodo viene inoltre utilizzato spesso negli ambienti aziendali quando il reparto IT non desidera concedere agli sviluppatori diritti amministrativi per i server di test o di produzione.

    Per questo metodo è necessario IIS 7. Una persona con diritti amministrativi per il server di destinazione utilizza Gestione IIS per impostare un account che è possibile utilizzare per la distribuzione. Per la distribuzione si utilizzano le credenziali per tale account. Questo metodo offre il vantaggio di non dover disporre di diritti amministrativi per il server di destinazione quando si effettua la distribuzione. D'altra parte, con questo metodo non è in genere possibile eseguire attività di distribuzione che richiedono diritti amministrativi, ad esempio la configurazione delle impostazioni di IIS.

  • Installare il pacchetto in un server remoto tramite Servizio Agente distribuzione Web (MsDepSvc). Questo servizio è anche detto Servizio remoto di distribuzione Web o semplicemente Agente remoto.

    È necessario disporre di diritti amministrativi per il server remoto. Un vantaggio di questo metodo è l'assenza di limitazioni nelle operazioni di distribuzione, poiché si è un amministratore nel server di destinazione. Non è possibile utilizzare questo metodo se la persona che esegue la distribuzione non deve essere un amministratore nel server di destinazione.

  • Installare il pacchetto in un server remoto utilizzando l'impostazione del provider Distribuzione Web tempAgent.

    Come per l'Agente remoto, è necessario disporre di diritti amministrativi per il server di destinazione. Rispetto all'Agente remoto, questo metodo offre il vantaggio di non dover installare Distribuzione Web nel computer in cui viene eseguito il file di comando o nel computer di destinazione. È possibile eseguire Distribuzione Web da una cartella condivisa in un server in cui è installato Distribuzione Web. Pertanto, è possibile eseguire la distribuzione in più server senza prima installare Distribuzione Web in ciascun server. Inoltre, non è necessario aggiornare ogni server quando vengono rilasciate nuove versioni di Distribuzione Web o verificare che i computer di origine e destinazione dispongano della stessa versione di Distribuzione Web. A differenza dell'Agente remoto, l'impostazione del provider tempAgent richiede operazioni di configurazione aggiuntive nei server di destinazione. Se sono presenti più server da gestire, tuttavia, questo metodo consente in genere di ridurre le operazioni di gestione nel corso del tempo.

Per ulteriori informazioni sulla scelta dell'opzione più appropriata per uno scenario specifico, vedere la pagina relativa all'utilizzo di Distribuzione Web in remoto sul sito Web Microsoft TechNet.

La parte restante della sezione contiene procedure che offrono cenni preliminari sulla configurazione dei server per ogni metodo di installazione del pacchetto.

Configurazione di un server per la distribuzione locale

Nella procedura riportata di seguito viene descritto come impostare un server per l'installazione del pacchetto locale in-process.

Per impostare un server per la distribuzione locale in-process

  • Verificare che nel server siano installati i programmi software seguenti:

    • IIS 5.1, IIS 6 o IIS 7.

    • .NET Framework 2.0 SP1 o una versione più recente se richiesta dall'applicazione Web che viene installata.

    • Distribuzione Web, la stessa versione utilizzata per creare il pacchetto.

    Per informazioni su come installare IIS, .NET Framework e Distribuzione Web utilizzando l'Installazione guidata piattaforma Web, vedere Installazione guidata piattaforma Web Microsoft 2.0 sul sito Web Microsoft.

Configurazione di server per Servizio Gestione Web

Nella procedura riportata di seguito vengono forniti cenni preliminari sulla modalità di impostazione dei computer di origine e destinazione per consentire l'installazione di pacchetti di distribuzione utilizzando Servizio Gestione Web (WMSvc) e il gestore di distribuzione Web. Per ulteriori informazioni e per istruzioni dettagliate, vedere Configurazione del gestore distribuzione Web sul sito Web Microsoft TechNet o Configurare il gestore distribuzione Web sul sito IIS. (la pagina potrebbe essere in inglese).

Per impostare i server per l'utilizzo di Servizio Gestione Web per la distribuzione

  1. Verificare che nel computer in cui si esegue il file deploy.cmd siano installati i programmi software seguenti:

    • Distribuzione Web, la stessa versione utilizzata per creare il pacchetto.
  2. Verificare che nel server di destinazione siano installati i programmi software seguenti:

    • IIS 7.

    • .NET Framework 2.0 SP1 o una versione più recente se richiesta dall'applicazione Web che viene installata.

    • Distribuzione Web, la stessa versione utilizzata per creare il pacchetto.

    Per informazioni su come installare IIS, .NET Framework e Distribuzione Web utilizzando l'Installazione guidata piattaforma Web, vedere Installazione guidata piattaforma Web Microsoft 2.0 sul sito Web Microsoft.

  3. Nel server di destinazione configurare Servizio Gestione Web (WMSvc) attenendosi alla procedura seguente:

    1. Aggiungere il servizio ruolo Servizio di gestione.

    2. Abilitare le connessioni remote.

    3. Creare un account utente da utilizzare per l'installazione del pacchetto.

    4. Aggiungere regole di delega per l'account utente.

  4. Nel computer di destinazione verificare che il pool di applicazioni per il sito Web IIS in cui si installa il pacchetto sia impostato sulla versione di .NET Framework richiesta dal pacchetto. Se nel pacchetto è specificato un nome per l'applicazione Web, ma non per il sito Web, il pacchetto verrà installato nel sito Web predefinito.

Configurazione di server per Servizio remoto di distribuzione Web

Nella procedura riportata di seguito vengono forniti cenni preliminari sulla modalità di impostazione dei computer di origine e destinazione per consentire l'installazione di pacchetti in remoto utilizzando Servizio Agente distribuzione Web (MSDepSvc). Per ulteriori informazioni, vedere Servizio remoto di distribuzione Web sul sito Web Microsoft TechNet.

Per impostare i server per l'utilizzo di Servizio Agente distribuzione Web per la distribuzione

  1. Verificare che nel server in cui si esegue il file deploy.cmd siano installati i programmi software seguenti:

    • Distribuzione Web, la stessa versione utilizzata per creare il pacchetto.
  2. Verificare che nel server di destinazione siano installati i programmi software seguenti:

    • IIS 5.1, IIS 6 o IIS 7.

    • .NET Framework 2.0 SP1 o una versione più recente se richiesta dall'applicazione Web che viene installata.

    • Distribuzione Web, la stessa versione utilizzata per creare il pacchetto.

    Per informazioni su come utilizzare l'Installazione guidata piattaforma Web per installare IIS, .NET Framework e Distribuzione Web, vedere Installazione guidata piattaforma Web Microsoft 2.0 sul sito Web Microsoft.

  3. Nel server di destinazione verificare che il servizio MSDepSvc sia configurato e avviato.

  4. Nel server di destinazione configurare il firewall per consentire il traffico HTTP attraverso la porta 80.

  5. Nel computer di destinazione verificare che il pool di applicazioni per il sito Web IIS in cui si installa il pacchetto sia impostato sulla versione di .NET Framework richiesta dal pacchetto. Se nel pacchetto è specificato un nome per l'applicazione Web, ma non per il sito Web, il pacchetto verrà installato nel sito Web predefinito.

Configurazione di server per l'impostazione del provider tempAgent

Nella procedura riportata di seguito vengono forniti cenni preliminari sulla modalità di impostazione dei computer di origine e destinazione per l'installazione remota utilizzando l'impostazione del provider Distribuzione Web tempAgent. Per ulteriori informazioni, vedere Distribuzione Web su richiesta sul sito Web Microsoft TechNet.

Per impostare i server per l'utilizzo dell'impostazione del provider tempAgent di Distribuzione Web per la distribuzione

  1. Verificare che nel computer di origine siano installati i programmi software seguenti:

    • Servizio Agente distribuzione Web (MSDepSvc)

      Nota

      Per impostazione predefinita, Servizio Agente distribuzione Web non è installato come parte di Visual Studio.Per installarlo, eseguire l'installazione dello strumento di distribuzione Web e selezionare il servizio agente remoto.

  2. Verificare che nel server di destinazione siano installati i programmi software seguenti:

    • IIS 5.1, IIS 6 o IIS 7.

    • .NET Framework 2.0 SP1 o una versione più recente se richiesta dall'applicazione Web che viene installata.

    Per informazioni su come installare IIS e .NET Framework utilizzando l'Installazione guidata piattaforma Web, vedere Installazione guidata piattaforma Web Microsoft 2.0 sul sito Web Microsoft.

  3. Nel server di destinazione configurare il firewall per consentire quanto segue:

    • Traffico HTTP attraverso la porta 80.

    • Traffico WMI.

  4. Nel server di destinazione verificare che il servizio Strumentazione gestione Windows (WMI) sia in esecuzione.

  5. Nel server di destinazione verificare che sia presente una cartella condivisa nella quale copiare i file di programma temporanei di Distribuzione Web.

  6. Nel server di destinazione verificare che non sia installato Servizio Agente distribuzione Web (MSDepSvc). Se installato, tale servizio interferirà con il processo di distribuzione.

  7. Verificare che le credenziali utilizzate per l'esecuzione del file di comando di distribuzione provengano da un account utente che è amministratore locale nel server remoto.

  8. Nel computer di destinazione verificare che il pool di applicazioni per il sito Web IIS in cui si installa il pacchetto sia impostato sulla versione di .NET Framework richiesta dal pacchetto. Se nel pacchetto è specificato un nome per l'applicazione Web, ma non per il sito Web, il pacchetto verrà installato nel sito Web predefinito.

Esecuzione del file di comando

Si consiglia di eseguire prima Distribuzione Web in modalità di prova per verificare che la distribuzione funzioni come previsto. In questo modo, se si verificano eventi imprevisti, è possibile apportare modifiche prima di eseguire la distribuzione effettiva. Nella procedura riportata di seguito viene descritto come eseguire il file di comando per alcuni scenari tipici.

Per effettuare la distribuzione utilizzando il file di comando

  1. Verificare che il pacchetto (ProjectName.zip), il file ProjectName.SetParameters.xml e il file di ProjectName.deploy.cmd si trovino nella stessa cartella.

    Se si utilizza l'impostazione del provider tempAgent, è possibile che tale cartella si trovi in un computer remoto. In caso contrario, la cartella deve essere nel computer dove si intende eseguire il file di comando.

  2. Per personalizzare i valori di qualsiasi parametro incluso nel file SetParameters.xml, modificare il file per modificare i valori.

    Ad esempio, è possibile utilizzare lo stesso pacchetto per eseguire l'installazione prima in un server di gestione temporanea e successivamente in un server di produzione. In tal caso, può essere necessario che il valore della stringa di connessione di database sia diverso per ciascuna installazione.

  3. Eseguire il file di comando, specificando il flag t (modalità di prova) ed eventuali flag facoltativi appropriati per lo scenario specifico.

    Di seguito vengono presentati alcuni scenari tipici e i relativi flag facoltativi appropriati.

    Nota

    Per un elenco di flag facoltativi supportati, immettere il nome del file con estensione cmd a un prompt dei comandi senza flag.Aprire il file con estensione cmd per vedere eventuali flag aggiuntivi.I flag non visualizzati nel testo della Guida e non descritti in questo argomento non sono supportati e non devono essere utilizzati.

    Nota

    Se si utilizzano caratteri non presenti nella tabella codici attiva per il nome del server di destinazione, il nome utente o la password, è possibile che l'esecuzione del file con estensione cmd abbia esito negativo.

    • Per Servizio Gestione Web (WMSvc), includere il flag m e specificare l'URL del servizio come MSDeploy.axd, utilizzando la sintassi seguente:

      ProjectName.deploy.cmd /t /m:https://DestinationServerName:8172/MSDeploy.axd

      Per specificare un nome utente e una password, includere i flag u e p. Aggiungere il flag a per specificare l'autenticazione di base. Nell'esempio riportato di seguito viene illustrato come utilizzare questi flag.

      ProjectName.deploy.cmd /t /m:DestinationServerName /u:User /p:Password /a:basic

      Per consentire i certificati non attendibili, aggiungere -AllowUntrusted=True, come illustrato nell'esempio seguente:

      ProjectName.deploy.cmd /t /m:DestinationServerName /u:User /p:Password /a:basic -AllowUntrusted=True

    • Per Servizio Agente distribuzione Web (MSDepSvc), includere il flag m e specificare il nome del server di destinazione o un URL del servizio come MSDeployAgentService, utilizzando la sintassi seguente:

      ProjectName.deploy.cmd /t /m:DestinationServerName

      ProjectName.deploy.cmd /t /m:http://DestinationServerName/MSDeployAgentService

      Per specificare un nome utente e una password, includere i flag u e p. Non aggiungere il flag a come per WMSvc.

    • Per l'impostazione del provider tempAgent, includere il flag g e un flag m per specificare un nome del computer, utilizzando la sintassi seguente:

      ProjectName.deploy.cmd /t /m:DestinationServerName /g:true

      Per specificare un nome utente e una password, includere i flag u e p. Non aggiungere il flag a come per WMSvc.

    • Per ignorare il provider di database, includere un comando Distribuzione Web skip per il provider SQL Server, utilizzando la sintassi seguente:

      ProjectName.deploy.cmd /t "-skip:objectName=dbFullSql"

      Questa operazione può essere utile se si effettua la distribuzione in una Web farm e si desidera distribuire il database una sola volta.

    • Per ignorare l'aggiornamento di Web.config, includere un comando Distribuzione Web skip per un file. Questa operazione può essere utile per evitare di sovrascrivere le impostazioni del file Web.config configurate manualmente nel server di destinazione.

      Nell'esempio riportato di seguito viene illustrato come ignorare tutti i file Web.config dell'applicazione.

      ProjectName.deploy.cmd /t "-skip:objectName= filePath,absolutePath=\\ApplicationFolder\\[\w\s]+web\.config$"

      Nell'esempio riportato di seguito viene illustrato come ignorare solo il file Web.config dell'applicazione.

      ProjectName.deploy.cmd /t "-skip:objectName= filePath,absolutePath=\\ApplicationFolder\\web\.config$"

  4. Esaminare il log prodotto dalla distribuzione in modalità di prova, apportare eventuali modifiche necessarie ed eseguire di nuovo il file di comando utilizzando il flag t.

  5. Ripetere il passaggio precedente finché il log riflette esattamente le modifiche desiderate per la distribuzione.

  6. Eseguire il file di comando, utilizzando il flag y ("yes" o modalità di aggiornamento) anziché il flag t e utilizzando i flag facoltativi selezionati.

    Distribuzione Web esegue la distribuzione e visualizza un log delle operazioni effettuate.

Nella procedura precedente vengono forniti esempi di sintassi per alcuni scenari tipici e viene illustrato come utilizzare i flag definiti nel file con estensione cmd. Per altri scenari, è possibile passare qualsiasi comando Distribuzione Web a Distribuzione Web. Non vi sono limiti all'utilizzo dei soli flag definiti nel file con estensione cmd. Se si specifica un comando che include un segno di uguale (=), il flag deve essere racchiuso tra virgolette, come illustrato negli esempi precedenti.

È inoltre possibile specificare i comandi Distribuzione Web impostando la variabile di ambiente _MsDeployAdditionalFlags.

Per ulteriori informazioni su altri comandi di Distribuzione Web che è possibile utilizzare, vedere la guida di riferimento della riga di comando di Distribuzione Web.

Vedere anche

Concetti

Mappa del contenuto per la distribuzione Web per Visual Studio e ASP.NET