Migrieren von Anwendungseinstellungen

Eine benutzerdefinierte .xml-Datei kann erstellt werden, um bestimmte Branchenanwendungseinstellungen zu migrieren oder das Standardmigrationsverhalten des User State Migration Tools (USMT) zu ändern. Damit ScanState und LoadState diese Datei verwenden können, muss die benutzerdefinierte .xml Datei in beiden Befehlszeilen angegeben werden.

In diesem Artikel wird das Erstellen einer benutzerdefinierten Migration .xml Datei definiert, die die Einstellungen einer Anwendung migriert, die nicht standardmäßig mit MigApp.xmlmigriert wird. Die Einstellungen sollten migriert werden, nachdem die Anwendung installiert wurde, aber bevor der Benutzer die Anwendung zum ersten Mal ausführt.

Dieser Artikel enthält keine Informationen zum Migrieren von Anwendungen, die Einstellungen in einem anwendungsspezifischen Speicher speichern, nur die Anwendungen, die die Informationen in Dateien oder in der Registrierung speichern. Außerdem enthält sie keine Informationen zum Migrieren der Daten, die Benutzer mithilfe der Anwendung erstellen. Wenn die Anwendung beispielsweise .doc Dateien mit einer bestimmten Vorlage erstellt, wird in diesem Artikel nicht erläutert, wie die .doc Dateien und Vorlagen selbst migriert werden.

Vor beginn

Ein Testcomputer, der das Betriebssystem der Quellcomputer enthält, sollte identifiziert werden. Der Testcomputer sollte auch über die Anwendungen verfügen, deren Einstellungen migriert werden müssen. Wenn Sie beispielsweise von Windows 10 zu Windows 11 migrieren, installieren Sie Windows 10 auf dem Testcomputer, und installieren Sie dann die Anwendungen.

Schritt 1: Überprüfen Sie, ob die Anwendung auf dem Quellcomputer installiert ist und die gleiche Version wie die Version ist, die auf dem Zielcomputer installiert werden soll.

Bevor USMT die Einstellungen migriert, überprüfen Sie, ob die Anwendung auf dem Quellcomputer installiert ist und ob es sich um die richtige Version handelt. Wenn die Anwendung nicht auf dem Quellcomputer installiert ist, verbringt USMT immer noch Zeit damit, nach den Einstellungen der Anwendung zu suchen. Was noch wichtiger ist: Wenn USMT Einstellungen für eine Anwendung erfasst, die nicht installiert ist, könnte es Einstellungen migrieren, die dazu führen, dass der Zielcomputer nicht ordnungsgemäß funktioniert. Ermitteln Sie außerdem, ob es mehrere Versionen der Anwendung gibt, da die neue Version die Einstellungen an einem anderen Speicherort speichern kann. Nicht übereinstimmende Anwendungsversionen können zu unerwarteten Ergebnissen auf dem Zielcomputer führen.

Es gibt viele Möglichkeiten, um zu erkennen, ob eine Anwendung installiert ist. Die bewährte Methode besteht darin, in der Registrierung nach einem Deinstallationsschlüssel für die Anwendung zu suchen. Der Computer kann dann nach der ausführbaren Datei gesucht werden, die die Anwendung installiert hat. Es ist wichtig, nach beiden Elementen zu suchen, da manchmal verschiedene Versionen derselben Anwendung denselben Deinstallationsschlüssel verwenden. Selbst wenn der Schlüssel vorhanden ist, kann er einer anderen Gewünschten Version der Anwendung entsprechen.

Überprüfen der Registrierung auf einen Deinstallationsschlüssel der Anwendung

Wenn viele Anwendungen installiert werden, insbesondere solche, die mit der Microsoft Windows Installer-Technologie installiert werden, wird ein Deinstallationsschlüssel für die Anwendung erstellt unter:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

Wenn beispielsweise Adobe Acrobat Reader 7 installiert ist, wird ein Schlüssel namens erstellt:

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

Wenn also ein Computer diesen Schlüssel enthält, ist Adobe Acrobat Reader 7 auf dem Computer installiert. Das Vorhandensein eines Registrierungsschlüssels kann mithilfe der DoesObjectExist Hilfsfunktion überprüft werden.

Der Registrierungsschlüssel Deinstallieren für eine bestimmte Anwendung befindet sich unter dem folgenden Registrierungsschlüssel:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

Um den Deinstallationsschlüssel für eine bestimmte Anwendung zu finden, suchen Sie unter dem Registrierungsschlüssel Deinstallieren nach einem der folgenden Elemente:

  • Name der Anwendung.
  • Name der ausführbaren Datei der Anwendung.
  • Name des Unternehmens, das die Anwendung erstellt.

Verwenden Sie zum Durchsuchen der Registrierung die Registrierungs-Editor Regedit.exe. Regedit.exe befindet sich im Pfad, der in %SystemRoot%gespeichert ist, normalerweise C:\Windows.

Überprüfen des Dateisystems für die ausführbare Datei der Anwendung

Die Anwendungsbinärdateien für die ausführbare Datei, die die Anwendung installiert hat, sollten ebenfalls überprüft werden. Um nach Anwendungsbinärdateien zu suchen, bestimmen Sie, wo die Anwendung installiert ist und wie der Name der ausführbaren Datei lautet. Die meisten Anwendungen speichern den Installationsspeicherort der Anwendungsbinärdateien in der Registrierung. Die Registrierung sollte nach einem der folgenden Elemente durchsucht werden, bis der Registrierungswert gefunden wird, der den Installationspfad enthält:

  • Der Name der Anwendung.
  • Der Name der ausführbaren Anwendungsdatei.
  • Der Name des Unternehmens, das die Anwendung erstellt.

Nachdem der Pfad zur ausführbaren Anwendungsdatei bestimmt wurde, kann die DoesFileVersionMatch Hilfsfunktion verwendet werden, um nach der richtigen Version der ausführbaren Anwendungsdatei zu suchen. Ein Beispiel für die Verwendung der DoesFileVersionMatch Hilfsfunktion finden Sie im Abschnitt Windows Live™ Messenger der MigApp.xml Datei.

Schritt 2: Identifizieren sie die zu erfassenden Einstellungen, und bestimmen Sie, wo die einzelnen Einstellungen auf dem Computer gespeichert sind.

Navigieren Sie als Nächstes über die Benutzeroberfläche, und erstellen Sie eine Liste aller verfügbaren Einstellungen. Die Liste kann reduziert werden, wenn Einstellungen vorhanden sind, die nicht migriert werden müssen. Um zu bestimmen, wo die einzelnen Einstellungen gespeichert werden, ändern Sie die Einstellung. Wenn die Einstellung geändert wird, überwachen Sie die Aktivität in der Registrierung und im Dateisystem mithilfe eines Tools wie prozessmonitor. Die Binärdateien und Registrierungseinstellungen, die bei der Installation der Anwendung erstellt werden, müssen nicht migriert werden. Wenn die Anwendung auf dem Zielcomputer neu installiert wird, werden diese Einstellungen neu erstellt. Nur die benutzerdefinierten Einstellungen müssen migriert werden.

So bestimmen Sie, wo die einzelnen Einstellungen gespeichert werden

  1. Laden Sie ein Tool zur Überwachung von Dateien und Registrierungen herunter, z. B. Prozessmonitor (Procmon) von der Sysinternals-Website.

  2. Fahren Sie so viele Anwendungen wie möglich herunter, um die Registrierungs- und Dateisystemaktivität auf dem Computer einzuschränken.

  3. Filtern Sie die Ausgabe der Tools, sodass nur änderungen angezeigt werden, die von der Anwendung vorgenommen werden.

    Hinweis

    Die meisten Anwendungen speichern ihre Einstellungen unter dem Benutzerprofil. Das heißt, die im Dateisystem gespeicherten Einstellungen befinden sich unter dem %UserProfile% Verzeichnis, und die in der Registrierung gespeicherten Einstellungen befinden sich in der HKEY_CURRENT_USER Struktur. Für diese Anwendungen kann die Ausgabe der Datei- und Registrierungsüberwachungstools gefiltert werden, um Aktivitäten nur unter diesen Speicherorten anzuzeigen. Durch diese Filterung wird die Menge der zu untersuchenden Ausgaben erheblich reduziert.

  4. Starten Sie die Überwachungstools, ändern Sie eine Einstellung, und suchen Sie nach Registrierungs- und Dateisystemschreibvorgängen, die beim Ändern der Einstellung aufgetreten sind. Stellen Sie sicher, dass die vorgenommenen Änderungen wirksam werden. Wenn Sie beispielsweise eine Einstellung in Microsoft Word durch Aktivieren eines Kontrollkästchens im Dialogfeld Optionen ändern, wird die Änderung in der Regel erst wirksam, wenn das Dialogfeld durch Klicken auf OK geschlossen wird.

  5. Wenn die Einstellung geändert wird, notieren Sie sich die Änderungen am Dateisystem und der Registrierung. Für jede Einstellung können mehrere Datei- oder Registrierungswerte vorhanden sein. Der minimale Satz von Datei- und Registrierungsänderungen, die zum Ändern dieser Einstellung erforderlich sind, sollte identifiziert werden. Dieser Satz von Dateien und Registrierungsschlüsseln muss migriert werden, um die Einstellung zu migrieren.

    Hinweis

    Das Ändern einer Anwendungseinstellung führt ausnahmslos zum Schreiben in Registrierungsschlüssel. Filtern Sie nach Möglichkeit die Ausgabe des Datei- und Registrierungsüberwachungstools, um nur Schreibvorgänge in Dateien und Registrierungsschlüssel/-werte anzuzeigen.

Schritt 3: Ermitteln, wie die gesammelten Einstellungen angewendet werden

Wenn die Version der Anwendung auf dem Quellcomputer mit der Version auf dem Zielcomputer identisch ist, müssen die gesammelten Dateien und Registrierungsschlüssel nicht geändert werden. Standardmäßig migriert USMT die Dateien und Registrierungsschlüssel vom Quellspeicherort zum entsprechenden Speicherort auf dem Zielcomputer. Wenn beispielsweise eine Datei aus dem C:\Users\User1\Documents Ordner gesammelt wurde und sich das Profilverzeichnis auf dem Zielcomputer unter D:\Users\User1befindet, migriert USMT die Datei automatisch zu D:\Users\User1\Documents. Der Speicherort einiger Einstellungen muss jedoch möglicherweise in den folgenden drei Fällen geändert werden:

Fall 1: Die Version der Anwendung auf dem Zielcomputer ist neuer als die version auf dem Quellcomputer.

In diesem Fall kann die neuere Version der Anwendung die Einstellungen möglicherweise ohne Änderungen vom Quellcomputer lesen. Das heißt, die von einer älteren Version der Anwendung gesammelten Daten sind manchmal mit der neueren Version der Anwendung kompatibel. Der Einstellungsspeicherort muss jedoch möglicherweise geändert werden, wenn eine der folgenden Bedingungen zutrifft:

  • Die neuere Version der Anwendung hat die Möglichkeit, Einstellungen aus einer älteren Version zu importieren. Diese Zuordnung erfolgt in der Regel, wenn ein Benutzer die neuere Version nach der Migration der Einstellungen zum ersten Mal ausführt. Einige Anwendungen importieren Einstellungen automatisch, nachdem Einstellungen migriert wurden. Andere Anwendungen importieren Einstellungen jedoch nur, wenn die Anwendung von der älteren Version aktualisiert wurde. Wenn die Anwendung aktualisiert wird, wird eine Reihe von Dateien und/oder Registrierungsschlüsseln installiert, die angeben, dass die ältere Version der Anwendung zuvor installiert wurde. Wenn eine sauber Installation der neueren Version ausgeführt wird, enthält der Computer diese Dateien und Registrierungsschlüssel nicht. Wenn die Dateien und Registrierungsschlüssel nicht vorhanden sind, erfolgt die Zuordnung nicht. Um die neuere Version der Anwendung dazu zu verleiten, diesen Importvorgang zu initiieren, muss das Migrationsskript diese Dateien und/oder Registrierungsschlüssel möglicherweise auf dem Zielcomputer erstellen.

    So identifizieren Sie, welche Dateien und/oder Registrierungsschlüssel/Werte erstellt werden müssen, damit der Import funktioniert:

    1. Aktualisieren Sie die ältere Version der Anwendung auf die neuere Version.
    2. Überwachen Sie die Änderungen, die am Dateisystem und der Registrierung vorgenommen wurden, mithilfe desselben Prozesses, der unter Bestimmen des Speicherorts der einzelnen Einstellungen beschrieben wird.

    Sobald die Vom Computer benötigten Dateien bekannt sind, kann das <addObjects-Element> verwendet werden, um sie dem Zielcomputer hinzuzufügen.

  • Die neuere Version der Anwendung kann keine Einstellungen vom Quellcomputer lesen und die Einstellungen auch nicht in das neue Format importieren. Erstellen Sie in diesem Fall eine Zuordnung für jede Einstellung von den alten Speicherorten zu den neuen Speicherorten. Um die Zuordnung zu erstellen, bestimmen Sie, wo die neuere Version die einzelnen Einstellungen speichert, indem Sie den unter Bestimmen des Speicherorts der einzelnen Einstellungen beschriebenen Verfahren verwenden. Nachdem Sie die Zuordnung erstellt haben, wenden Sie die Einstellungen mithilfe <des locationModify-Elements> und der Hilfsfunktionen und ExactMove auf den RelativeMove neuen Speicherort auf dem Zielcomputer an.

Fall 2: Der Zielcomputer enthält bereits Einstellungen für die Anwendung.

Microsoft empfiehlt, die Einstellungen zu migrieren, nachdem die Anwendung installiert wurde, aber bevor der Benutzer die Anwendung zum ersten Mal ausführt. Microsoft empfiehlt diesen Vorgang, da dieser Prozess sicherstellt, dass beim Migrieren der Einstellungen keine Einstellungen auf dem Zielcomputer vorhanden sind. Wenn die Anwendung vor der Migration installiert werden muss, sollten alle vorhandenen Einstellungen mithilfe des <destinationCleanup-Elements> gelöscht werden. Wenn aus irgendeinem Grund die Einstellungen auf dem Zielcomputer beibehalten werden müssen, können das Mergeelement> und die< Hilfsfunktion verwendet werden.DestinationPriority

Fall 3: Die Anwendung überschreibt einstellungen bei der Installation

Microsoft empfiehlt, die Einstellungen zu migrieren, nachdem die Anwendung installiert wurde, aber bevor der Benutzer die Anwendung zum ersten Mal ausführt. Microsoft empfiehlt diesen Vorgang, da dieser Prozess sicherstellt, dass beim Migrieren der Einstellungen keine Einstellungen auf dem Zielcomputer vorhanden sind. Wenn einige Anwendungen installiert sind, überschreiben sie außerdem alle vorhandenen Einstellungen, die auf dem Computer vorhanden sind. In diesem Szenario würden die benutzerdefinierten Einstellungen überschrieben, wenn die Daten vor der Installation der Anwendung migriert wurden. Dieses Szenario ist üblich für Anwendungen, die Einstellungen an Speicherorten speichern, die sich außerhalb des Benutzerprofils befinden (in der Regel sind dies Einstellungen, die für alle Benutzer gelten). Diese universellen Einstellungen werden manchmal überschrieben, wenn eine Anwendung installiert wird, und sie werden durch Standardwerte ersetzt. Um dieses Problem zu vermeiden, müssen diese Anwendungen installiert werden, bevor die Dateien und Einstellungen auf den Zielcomputer migriert werden. Bei USMT überschreiben Daten vom Quellcomputer standardmäßig Daten, die bereits am gleichen Speicherort auf dem Zielcomputer vorhanden sind.

Schritt 4: Erstellen der XML-Migrationskomponente für die Anwendung

Erstellen Sie nach Abschluss der Schritte 1 bis 3 eine benutzerdefinierte Migration .xml Datei, die die Anwendung basierend auf den aktualisierten Informationen migriert. Die MigApp.xml Datei kann als Modell verwendet werden, da sie Beispiele für viele der in diesem Artikel erläuterten Konzepte enthält. Unter Benutzerdefinierte XML-Beispiele finden Sie auch ein weiteres Beispiel .xml Datei.

Hinweis

Microsoft empfiehlt, eine separate .xml-Datei zu erstellen, anstatt der MigApp.xml Datei ein Skript hinzuzufügen. Eine separate .xml Wird empfohlen, da es sich bei der MigApp.xml Datei um eine große Datei handelt und sie schwer zu lesen und zu bearbeiten ist. Wenn USMT neu installiert wird, wird die MigApp.xml Datei außerdem mit der Standardversion der Datei überschrieben, und die angepasste Version geht verloren.

Wichtig

Einige Anwendungen speichern Informationen im Benutzerprofil, z. B. Anwendungsinstallationspfade, Computername usw. Im Benutzerprofil gespeicherte Anwendungsinformationen sollten nicht migriert und von der Migration ausgeschlossen werden.

Das Skript sollte die folgenden Aktionen ausführen:

  1. Überprüfen Sie, ob die richtige Version der Anwendung installiert ist:

    • Suchen Sie mithilfe der Hilfsfunktion unter nach HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall dem Deinstallationsschlüssel für die DoesObjectExist Installation.

    • Suchen Sie mithilfe der Hilfsfunktion nach der richtigen Version der ausführbaren Datei der DoesFileVersionMatch Anwendung.

  2. Wenn die richtige Version der Anwendung installiert ist, stellen Sie sicher, dass jede Einstellung an den entsprechenden Speicherort auf dem Zielcomputer migriert wird.

    • Wenn die Versionen der Anwendungen sowohl auf dem Quell- als auch auf dem Zielcomputer identisch sind, migrieren Sie jede Einstellung mithilfe der <Include-> und <Exclude-Elemente> .

    • Wenn die Version der Anwendung auf dem Zielcomputer neuer als die Version auf dem Quellcomputer ist und die Anwendung die Einstellungen nicht importieren kann, sollte das Skript eines der folgenden Aktionen ausführen:

      1. Fügen Sie den Satz von Dateien hinzu, die den Import mithilfe des <addObjects-Elements> auslösen.
      2. Erstellen Sie eine Zuordnung, die die alten Einstellungen mithilfe des locationModify-Elements> und der Hilfsfunktionen und auf den<RelativeMove richtigen Speicherort auf dem Zielcomputer anwendet.ExactMove
    • Wenn die Anwendung vor der Migration der Einstellungen installiert werden muss, löschen Sie alle Einstellungen, die sich bereits auf dem Zielcomputer befinden, mithilfe des <destinationCleanup-Elements> .

Informationen zu den .xml Elementen und Hilfsfunktionen finden Sie unter XML-Elementbibliothek.

Schritt 5: Testen der Migration von Anwendungseinstellungen

Installieren Sie auf einem Testcomputer das Betriebssystem, das auf den Zielcomputern installiert wird. Wenn Sie beispielsweise die Migration von Windows 10 zu Windows 11 planen, installieren Sie Windows 11, und installieren Sie die Anwendung dann in Windows 11. Führen Sie als Nächstes LoadState auf dem Testcomputer aus, und überprüfen Sie, ob alle Einstellungen migriert werden. Nehmen Sie ggf. Korrekturen vor, und wiederholen Sie den Vorgang, bis alle erforderlichen Einstellungen ordnungsgemäß migriert wurden.

Um die zeitaufwendige Erfassung und Migration der Daten zu beschleunigen, kann jeweils nur ein Benutzer migriert werden. Alle anderen Komponenten können von der Migration ausgeschlossen werden, mit Ausnahme der Anwendung, die getestet wird. Um nur User1 in der Migration anzugeben, geben Sie Folgendes ein:

/ue:*\* /ui:user1

Weitere Informationen finden Sie im Artikel Ausschließen von Dateien und Einstellungen und im Abschnitt Benutzeroptionen des Artikels ScanState-Syntax . Um ein Problem zu beheben, überprüfen Sie das Statusprotokoll, das ScanState-Protokoll und das LoadState-Protokoll . Die Protokolle enthalten Warnungen und Fehler, die auf Probleme bei der Migration hinweisen können.