Condividi tramite


Eseguire automaticamente la sequenziazione di più app contemporaneamente utilizzando Microsoft Application Virtualization Sequencer (App-V Sequencer)

Si applica a:

  • Windows 10
  • Windows 11

La sequenziazione di più app contemporaneamente richiede l'installazione e l'avvio di Microsoft Application Virtualization Sequencer (App-V Sequencer) e l'installazione delle app necessarie per raccogliere le modifiche apportate al sistema operativo durante l'installazione e la compilazione del pacchetto App-V.

A partire da Windows 10 versione 1703, l'esecuzione di App-V Sequencer acquisisce e archivia automaticamente le personalizzazioni come file del modello di progetto App-V (con estensione appvt). Se si desidera apportare modifiche a questo pacchetto in un secondo momento, le personalizzazioni verranno caricate automaticamente da questo file modello. Questo carico di personalizzazione automatico è applicabile a tutti gli scenari di sequenziazione:

  • Uso del cmdlet New-BatchAppVSequencerPackages
  • Uso dell'interfaccia sequencer App-V
  • Uso del cmdlet New-AppVSequencerPackage

Sequenziare più app con un cmdlet di PowerShell

La sequenziazione di più app contemporaneamente richiede la creazione di un file ConfigFile con informazioni correlate a ogni round di sequenziazione. Questo file viene quindi usato dal cmdlet per avviare la macchina virtuale in corrispondenza di un checkpoint "pulito", per copiare il programma di installazione dal dispositivo host alla macchina virtuale e quindi per avviare App-V Sequencer per monitorare le installazioni di app specificate.

Create il file config per l'uso da parte del cmdlet di PowerShell

  1. Determinare le app che devono essere incluse nel pacchetto di sequenziazione di App-V e quindi aprire un editor di testo, ad esempio blocco note.

  2. Aggiungere le informazioni XML necessarie seguenti per ogni app:

    • <AppName>. Nome dell'app che si sta aggiungendo al pacchetto.

    • <InstallerFolder>. Percorso del file della cartella con il programma di installazione dell'app.

    • <Installer>. Nome file per il file eseguibile dell'app. Questo file sarà in genere un file .exe o .msi.

    • <InstallerOptions>. Opzioni della riga di comando necessarie per l'installazione dell'app.

    • <TimeoutInMinutes>. La quantità massima di tempo, in minuti, in cui il cmdlet deve attendere il completamento della sequenziazione. È possibile immettere un valore diverso per ogni app, in base alle dimensioni e alla complessità dell'app stessa.

    • <Cmdlet>. Determina se il sequencer usa il cmdlet o l'interfaccia di App-V Sequencer. True indica al sequencer di usare la sequenziazione basata su cmdlet, mentre False indica al sequencer di usare l'interfaccia App-V Sequencer. È possibile usare sia il cmdlet che l'interfaccia insieme nello stesso ConfigFile, per app diverse.

    • <Enabled>. Indica se l'app deve essere sequenziata. True include l'app, mentre False la ignora. È possibile includere il numero di app desiderato nel file batch, ma facoltativamente abilitarne solo alcune.

      Esempio:

      <?xml version="1.0"?>
          <Applications>
              <Application>
                  <AppName>Skype for Windows</AppName>
                  <InstallerFolder>D:\Install\New\SkypeforWindows</InstallerFolder>
                  <Installer>SkypeSetup.exe</Installer>
                  <InstallerOptions>/S</InstallerOptions>
                  <TimeoutInMinutes>20</TimeoutInMinutes>
                  <Cmdlet>True</Cmdlet>
                  <Enabled>True</Enabled>
              </Application>
              <Application>
                  <AppName>Power BI</AppName>
                  <InstallerFolder>D:\Install\New\MicrosoftPowerBI</InstallerFolder>
                  <Installer>PBIDesktop.msi</Installer>
                  <InstallerOptions>/S</InstallerOptions>
                  <TimeoutInMinutes>20</TimeoutInMinutes>
                  <Cmdlet>True</Cmdlet>
                  <Enabled>True</Enabled>
              </Application>
          </Applications>
      </xml>
      
  3. Salvare il file completato usando il nome ConfigFile.

Avviare l'interfaccia di App-V Sequencer e il processo di installazione dell'app

Aprire PowerShell come amministratore nel computer host ed eseguire i comandi seguenti per avviare la sequenziazione batch:

New-BatchAppVSequencerPackages –ConfigFile <path_to_configfile> –VMName <name_of_vm> -OutputPath <path_to_your_output>

Dove <name_of_vm> è il nome della macchina virtuale (VM) con App-V Sequencer installato, in cui si eseguirà la sequenziazione batch ed <path_to_your_output> è il percorso completo in cui copiare i pacchetti sequenziati.

Il cmdlet crea un checkpoint "pulito" nella macchina virtuale. Successivamente, il cmdlet copia il primo programma di installazione dell'app elencato in ConfigFile dal computer host alla macchina virtuale e infine viene aperta una nuova sessione della macchina virtuale (tramite VMConnect) e la sequenziazione dell'app inizia dalla riga di comando. Al termine della sequenziazione e della creazione del pacchetto per la prima app nella macchina virtuale, il pacchetto viene copiato dalla macchina virtuale al computer host, specificato nel parametro OutputPath . Il cmdlet passa quindi alla seconda app nell'elenco, ripristinando la macchina virtuale a un checkpoint "pulito" ed eseguendo nuovamente tutti i passaggi, fino a quando il secondo pacchetto dell'app non viene copiato nella cartella di output. Questo processo continua fino a quando non vengono completate tutte le app incluse nell'elenco. Dopo l'ultima app, la macchina virtuale viene ripristinata a un checkpoint "pulito" e disattivata.

Esaminare i file di log

Esistono tre tipi di file di log che si verificano quando si sequenziano più app contemporaneamente:

  • New-BatchAppVSequencerPackages-time_stamp<>.txt. Si trova nella directory %temp%\AutoSequencer\Logs. Questo log contiene informazioni sulle attività di sequenziazione per ogni app, ad esempio "Copia del programma di installazione nella macchina virtuale", "Attività di sequenziazione della pianificazione" e così via. Inoltre, se si verifica un timeout di un'app, questo log contiene l'errore insieme al checkpoint per la risoluzione del problema.
  • New-BatchAppVSequencerPackages-report-time_stamp<>.txt. Si trova nella cartella OutputPath specificata in precedenza. Questo log contiene informazioni sulle connessioni effettuate alla macchina virtuale, che indicano se si sono verificati errori. Inoltre, include brevemente informazioni sull'esito positivo o negativo per tutte le app.
  • Log.txt file. Si trova nella cartella Pacchetto di output . Questo file contiene tutto il codice incluso nel cmdlet NewAppVSequencerPackage, inclusi i parametri consentiti.