Condividi tramite


Eseguire la migrazione delle impostazioni delle applicazioni

È possibile creare un file di.xml personalizzato per eseguire la migrazione di impostazioni specifiche dell'applicazione line-of-business o per modificare il comportamento di migrazione predefinito dello Strumento di migrazione dello stato utente (USMT). Affinché ScanState e LoadState usno questo file, è necessario specificare il file .xml personalizzato in entrambe le righe di comando.

Questo articolo definisce come creare un file di.xml di migrazione personalizzato che esegue la migrazione delle impostazioni di un'applicazione di cui non viene eseguita la migrazione per impostazione predefinita usando MigApp.xml. La migrazione delle impostazioni deve essere eseguita dopo l'installazione dell'applicazione, ma prima che l'utente eserciti l'applicazione per la prima volta.

Questo articolo non contiene informazioni su come eseguire la migrazione di applicazioni che archivia le impostazioni in un archivio specifico dell'applicazione, ma solo le applicazioni che archivia le informazioni nei file o nel Registro di sistema. Inoltre, non contiene informazioni su come eseguire la migrazione dei dati creati dagli utenti usando l'applicazione. Ad esempio, se l'applicazione crea file.doc usando un modello specifico, questo articolo non illustra come eseguire la migrazione dei file e dei modelli .doc .

Prima di iniziare

È necessario identificare un computer di test che contiene il sistema operativo dei computer di origine. Nel computer di test devono essere presenti anche le applicazioni di cui è necessario eseguire la migrazione delle impostazioni. Ad esempio, se si esegue la migrazione da Windows 10 a Windows 11, installare Windows 10 nel computer di test e quindi installare le applicazioni.

Passaggio 1: Verificare che l'applicazione sia installata nel computer di origine e che sia la stessa versione della versione da installare nel computer di destinazione

Prima che USMT esegreti le impostazioni, verificare se l'applicazione è installata nel computer di origine e che sia la versione corretta. Se l'applicazione non è installata nel computer di origine, USMT dedica comunque del tempo alla ricerca delle impostazioni dell'applicazione. Ancora più importante, se USMT raccoglie le impostazioni per un'applicazione che non è installata, potrebbe eseguire la migrazione delle impostazioni che causano il funzionamento non corretto del computer di destinazione. Determinare anche se esiste più di una versione dell'applicazione perché la nuova versione potrebbe archiviare le impostazioni in un percorso diverso. Le versioni dell'applicazione non corrispondenti potrebbero causare risultati imprevisti nel computer di destinazione.

Esistono molti modi per rilevare se un'applicazione è installata. La procedura consigliata consiste nel verificare la presenza di una chiave di disinstallazione dell'applicazione nel Registro di sistema. È quindi possibile cercare il file eseguibile che ha installato l'applicazione nel computer. È importante verificare la presenza di entrambi questi elementi, perché a volte versioni diverse della stessa applicazione condividono la stessa chiave di disinstallazione. Anche se la chiave è presente, potrebbe corrispondere a una versione diversa dell'applicazione desiderata.

Controllare il Registro di sistema per una chiave di disinstallazione dell'applicazione

Quando vengono installate molte applicazioni, in particolare quelle installate con la tecnologia Microsoft Windows Installer, viene creata una chiave di disinstallazione dell'applicazione in:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

Ad esempio, quando Adobe Acrobat Reader 7 è installato, viene creata una chiave denominata:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall \{AC76BA86-7AD7-1033-7B44-A70000000000}

Pertanto, se un computer contiene questa chiave, Adobe Acrobat Reader 7 viene installato nel computer. È possibile verificare l'esistenza di una chiave del Registro di sistema usando la DoesObjectExist funzione helper.

La chiave del Registro di sistema Uninstall per una particolare applicazione è disponibile nella chiave del Registro di sistema seguente:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

Per trovare la chiave di disinstallazione per un'applicazione specifica, cercare uno degli elementi seguenti nella chiave del Registro di sistema Disinstalla :

  • Nome dell'applicazione.
  • Nome del file eseguibile dell'applicazione.
  • Nome della società che crea l'applicazione.

Per eseguire ricerche nel Registro di sistema, usare il registro Editor Regedit.exe. Regedit.exe si trova nel percorso archiviato in , in %SystemRoot%genere C:\Windows.

Controllare il file system per il file eseguibile dell'applicazione

È necessario controllare anche i file binari dell'applicazione per il file eseguibile che ha installato l'applicazione. Per verificare la presenza di file binari dell'applicazione, determinare dove è installata l'applicazione e qual è il nome del file eseguibile. La maggior parte delle applicazioni archivia il percorso di installazione dei file binari dell'applicazione nel Registro di sistema. La ricerca nel Registro di sistema deve essere eseguita su uno degli elementi seguenti fino a quando non viene trovato il valore del Registro di sistema che contiene il percorso di installazione:

  • Nome dell'applicazione.
  • Nome del file eseguibile dell'applicazione.
  • Nome della società che crea l'applicazione.

Dopo aver determinato il percorso del file eseguibile dell'applicazione, è possibile usare la DoesFileVersionMatch funzione helper per verificare la versione corretta del file eseguibile dell'applicazione. Per un esempio di come usare la DoesFileVersionMatch funzione helper, vedere la sezione Windows Live™ Messenger del MigApp.xml file.

Passaggio 2: Identificare le impostazioni per raccogliere e determinare dove ogni impostazione è archiviata nel computer

Passare quindi all'interfaccia utente e creare un elenco di tutte le impostazioni disponibili. L'elenco può essere ridotto se non è necessario eseguire la migrazione di impostazioni. Per determinare dove viene archiviata ogni impostazione, modificare l'impostazione. Man mano che l'impostazione viene modificata, monitorare l'attività nel Registro di sistema e nel file system tramite uno strumento come Monitoraggio processi. Non è necessario eseguire la migrazione dei file binari e delle impostazioni del Registro di sistema creati quando l'applicazione è installata. Quando l'applicazione viene reinstallata nel computer di destinazione, queste impostazioni vengono ricreate. È necessario eseguire la migrazione solo delle impostazioni personalizzate.

Come determinare dove viene archiviata ogni impostazione

  1. Scaricare uno strumento di monitoraggio dei file e del Registro di sistema, ad esempio Process Monitor (Procmon) dal sito Web Sysinternals.

  2. Arrestare il numero più elevato possibile di applicazioni per limitare l'attività del Registro di sistema e del file system nel computer.

  3. Filtrare l'output degli strumenti in modo che vengano visualizzate solo le modifiche apportate dall'applicazione.

    Nota

    La maggior parte delle applicazioni archivia le impostazioni nel profilo utente. Ovvero, le impostazioni archiviate nel file system si trovano nella %UserProfile% directory e le impostazioni archiviate nel Registro di sistema si trovano sotto l'hive HKEY_CURRENT_USER . Per queste applicazioni, l'output degli strumenti di monitoraggio del file e del Registro di sistema può essere filtrato per mostrare l'attività solo in questi percorsi. Questo filtro riduce notevolmente la quantità di output che deve essere esaminata.

  4. Avviare gli strumenti di monitoraggio, modificare un'impostazione e cercare le scritture del Registro di sistema e del file system che si sono verificate quando l'impostazione è stata modificata. Assicurarsi che le modifiche apportate abbiano effetto effettivo. Ad esempio, se si modifica un'impostazione in Microsoft Word selezionando una casella di controllo nella finestra di dialogo Opzioni, la modifica in genere non ha effetto finché la finestra di dialogo non viene chiusa selezionando OK.

  5. Quando l'impostazione viene modificata, prendere nota delle modifiche apportate al file system e al Registro di sistema. Per ogni impostazione potrebbero essere presenti più di un file o di valori del Registro di sistema. È necessario identificare il set minimo di modifiche al file e al Registro di sistema necessarie per modificare questa impostazione. È necessario eseguire la migrazione di questo set di file e chiavi del Registro di sistema per eseguire la migrazione dell'impostazione.

    Nota

    La modifica di un'impostazione dell'applicazione comporta invariabilmente la scrittura nelle chiavi del Registro di sistema. Se possibile, filtrare l'output dello strumento di monitoraggio del file e del Registro di sistema per visualizzare solo scritture in file e chiavi/valori del Registro di sistema.

Passaggio 3: Identificare come applicare le impostazioni raccolte

Se la versione dell'applicazione nel computer di origine è uguale a quella del computer di destinazione, non è necessario modificare i file raccolti e le chiavi del Registro di sistema. Per impostazione predefinita, USMT esegue la migrazione dei file e delle chiavi del Registro di sistema dal percorso di origine al percorso corrispondente nel computer di destinazione. Ad esempio, se un file è stato raccolto dalla C:\Users\User1\Documents cartella e la directory del profilo nel computer di destinazione si trova in D:\Users\User1, USMT esegue automaticamente la migrazione del file a D:\Users\User1\Documents. Tuttavia, potrebbe essere necessario modificare la posizione di alcune impostazioni nei tre casi seguenti:

Caso 1: la versione dell'applicazione nel computer di destinazione è più recente di quella del computer di origine

In questo caso, la versione più recente dell'applicazione potrebbe essere in grado di leggere le impostazioni dal computer di origine senza modifiche. Ovvero, i dati raccolti da una versione precedente dell'applicazione sono talvolta compatibili con la versione più recente dell'applicazione. Tuttavia, potrebbe essere necessario modificare il percorso dell'impostazione se si verifica una delle condizioni seguenti:

  • La versione più recente dell'applicazione ha la possibilità di importare le impostazioni da una versione precedente. Questo mapping si verifica in genere la prima volta che un utente esegue la versione più recente dopo la migrazione delle impostazioni. Alcune applicazioni importano automaticamente le impostazioni dopo la migrazione delle impostazioni. Tuttavia, le altre applicazioni importano le impostazioni solo se l'applicazione è stata aggiornata dalla versione precedente. Quando l'applicazione viene aggiornata, viene installato un set di file e/o chiavi del Registro di sistema che indica che la versione precedente dell'applicazione è stata installata in precedenza. Se viene eseguita un'installazione pulita della versione più recente, il computer non contiene questi file e chiavi del Registro di sistema. Se i file e le chiavi del Registro di sistema non sono presenti, il mapping non si verifica. Per indurre la versione più recente dell'applicazione ad avviare questo processo di importazione, lo script di migrazione potrebbe dover creare questi file e/o chiavi del Registro di sistema nel computer di destinazione.

    Per identificare quali file e/o chiavi/valori del Registro di sistema devono essere creati in modo che l'importazione funzioni:

    1. Aggiornare la versione precedente dell'applicazione a quella più recente.
    2. Monitorare le modifiche apportate al file system e al Registro di sistema usando lo stesso processo descritto in Come determinare dove viene archiviata ogni impostazione.

    Una volta noto il set di file necessari per il computer, è possibile usare l'elemento <addObjects> per aggiungerli al computer di destinazione.

  • La versione più recente dell'applicazione non è in grado di leggere le impostazioni dal computer di origine e non è in grado di importare le impostazioni nel nuovo formato. In questo caso, creare un mapping per ogni impostazione dalle posizioni precedenti alle nuove posizioni. Per creare il mapping, determinare dove la versione più recente archivia ogni impostazione usando il processo descritto in Come determinare dove è archiviata ogni impostazione. Dopo aver creato il mapping, applicare le impostazioni alla nuova posizione nel computer di destinazione usando l'elemento <locationModify> e le RelativeMove funzioni helper e ExactMove .

Caso 2: il computer di destinazione contiene già le impostazioni per l'applicazione

Microsoft consiglia di eseguire la migrazione delle impostazioni dopo l'installazione dell'applicazione, ma prima che l'utente esenga l'applicazione per la prima volta. Microsoft consiglia questo processo perché questo processo garantisce che non siano presenti impostazioni nel computer di destinazione durante la migrazione delle impostazioni. Se l'applicazione deve essere installata prima della migrazione, tutte le impostazioni esistenti devono essere eliminate usando l'elemento <destinationCleanup> . Se per qualsiasi motivo è necessario mantenere le impostazioni presenti nel computer di destinazione, è possibile usare l'elemento di unione> e la< funzione helper.DestinationPriority

Caso 3: L'applicazione sovrascrive le impostazioni quando è installato

Microsoft consiglia di eseguire la migrazione delle impostazioni dopo l'installazione dell'applicazione, ma prima che l'utente esenga l'applicazione per la prima volta. Microsoft consiglia questo processo perché questo processo garantisce che non siano presenti impostazioni nel computer di destinazione durante la migrazione delle impostazioni. Inoltre, quando alcune applicazioni vengono installate, sovrascrivono tutte le impostazioni esistenti presenti nel computer. In questo scenario, se i dati sono stati migrati prima dell'installazione dell'applicazione, le impostazioni personalizzate verranno sovrascritte. Questo scenario è comune per le applicazioni che archiviano le impostazioni in posizioni esterne al profilo utente (in genere queste impostazioni sono impostazioni che si applicano a tutti gli utenti). Queste impostazioni universali vengono talvolta sovrascritte quando un'applicazione viene installata e vengono sostituite dai valori predefiniti. Per evitare questo problema, queste applicazioni devono essere installate prima di eseguire la migrazione dei file e delle impostazioni al computer di destinazione. Per impostazione predefinita con USMT, i dati del computer di origine sovrascrivono i dati già presenti nella stessa posizione nel computer di destinazione.

Passaggio 4: Creare il componente XML di migrazione per l'applicazione

Dopo aver completato i passaggi da 1 a 3, creare un file di.xml di migrazione personalizzato che esegue la migrazione dell'applicazione in base alle informazioni aggiornate. Il MigApp.xml file può essere usato come modello perché contiene esempi di molti dei concetti illustrati in questo articolo. Vedere anche Esempi XML personalizzati per un altro file di.xml di esempio.

Nota

Microsoft consiglia di creare un file di.xml separato invece di aggiungere uno script al MigApp.xml file. È consigliabile usare un file.xmlseparato perché è MigApp.xml un file di grandi dimensioni ed è difficile da leggere e modificare. Inoltre, se USMT viene reinstallato, il MigApp.xml file viene sovrascritto con la versione predefinita del file e la versione personalizzata viene persa.

Importante

Alcune applicazioni archiviano informazioni nel profilo utente, ad esempio i percorsi di installazione dell'applicazione, il nome del computer e così via. Le informazioni sull'applicazione archiviate nel profilo utente non devono essere migrate e devono essere escluse dalla migrazione.

Lo script deve eseguire le azioni seguenti:

  1. Verificare se è installata la versione corretta dell'applicazione:

    • Cercare la chiave di disinstallazione dell'installazione in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall usando la DoesObjectExist funzione helper.

    • Verificare la versione corretta del file eseguibile dell'applicazione usando la DoesFileVersionMatch funzione helper.

  2. Se è installata la versione corretta dell'applicazione, assicurarsi che ogni impostazione venga migrata nel percorso appropriato nel computer di destinazione.

    • Se le versioni delle applicazioni sono le stesse nei computer di origine e di destinazione, eseguire la migrazione di ogni impostazione usando gli <elementi di inclusione> ed <esclusione> .

    • Se la versione dell'applicazione nel computer di destinazione è più recente di quella del computer di origine e l'applicazione non può importare le impostazioni, lo script deve:

      1. Aggiungere il set di file che attivano l'importazione usando l'elemento <addObjects> .
      2. Creare un mapping che applica le impostazioni precedenti alla posizione corretta nel computer di destinazione usando l'elemento <locationModify> e le RelativeMove funzioni helper e ExactMove .
    • Se l'applicazione deve essere installata prima di eseguire la migrazione delle impostazioni, eliminare tutte le impostazioni già presenti nel computer di destinazione usando l'elemento <destinationCleanup> .

Per informazioni sugli elementi .xml e sulle funzioni helper, vedere Xml Elements Library.

Passaggio 5: Testare la migrazione delle impostazioni dell'applicazione

In un computer di test installare il sistema operativo che verrà installato nei computer di destinazione. Ad esempio, se si pianifica la migrazione da Windows 10 a Windows 11, installare Windows 11 e quindi installare l'applicazione in Windows 11. Eseguire quindi LoadState nel computer di test e verificare che tutte le impostazioni esegretino. Apportare correzioni se necessario e ripetere il processo fino a quando non viene eseguita correttamente la migrazione di tutte le impostazioni necessarie.

Per velocizzare il tempo necessario per raccogliere ed eseguire la migrazione dei dati, è possibile eseguire la migrazione di un solo utente alla volta. Tutti gli altri componenti possono essere esclusi dalla migrazione, ad eccezione dell'applicazione sottoposta a test. Per specificare solo User1 nella migrazione, immettere:

/ue:*\* /ui:user1

Per altre informazioni, vedere l'articolo Escludere file e impostazioni e la sezione Opzioni utente nell'articolo Sintassi ScanState . Per risolvere un problema, controllare il log di stato, il log ScanState e il log LoadState . I log contengono avvisi ed errori che potrebbero indicare problemi con la migrazione.