App Layering

Layer aktualisieren

Die Schritte zum Aktualisieren der Software in einem OS-, Plattform- oder App-Layer sind praktisch identisch. Sie fügen dem Layer eine Version hinzu, installieren das Upgrade oder den Patch auf der Packaging Machine, überprüfen die Installation und finalisieren dann den Layer. Nach der Aktualisierung stellen Sie die neue Layer-Version bereit, was je nach Layer-Typ variiert.

Der Plattform-Layer ist der Layer mit der höchsten Priorität und entscheidend für die Bereitstellung von Images, insbesondere in Bezug auf Geräte wie Ihre Netzwerke. Immer wenn Sie die Infrastruktursoftware aktualisieren, müssen Sie dem Plattform-Layer eine neue Version hinzufügen.

Sie fügen dem Plattform-Layer eine Version hinzu, indem Sie den neuen OS-Layer als Basis verwenden. Sobald die Packaging Machine gestartet wurde, fahren Sie die Maschine zur Finalisierung herunter. Der Plattform-Layer sammelt die kritischen Komponenten aus der neuen OS-Layer-Version und aktualisiert sie in der Plattform, sodass sie der OS-Version entsprechen.

Eine Version zum Layer hinzufügen

Um beispielsweise eine Version zu einem OS-Layer hinzuzufügen:

  1. Wählen Sie in der Citrix App Layering™ Management Console Layers > OS Layers aus.
  2. Wählen Sie einen OS-Layer aus und klicken Sie auf der Registerkarte Version Information auf Add Version.
  3. In den Versionsdetails:
    1. Wählen Sie unter Base Version die Version aus, die als Basis für die neue Layer-Version verwendet werden soll. Die Standardeinstellung ist die neueste Version.
    2. Geben Sie einen Namen für die New Version ein. Dies kann die OS-Version oder andere identifizierende Informationen sein.
  4. Wählen Sie eine Connector configuration für den Hypervisor aus, auf dem Sie Ihren Layer erstellen.
  5. Geben Sie einen Dateinamen für die Packaging Disk ein und wählen Sie das zu verwendende Disk-Format aus, wenn Sie die Dateifreigabe der Appliance anstelle einer Connector-Konfiguration verwenden. Diese Disk wird für die Packaging Machine (die virtuelle Maschine) verwendet, auf der Sie die Anwendung installieren.
  6. Überprüfen Sie Ihre Einstellungen und klicken Sie auf Add Version. Dadurch wird eine Aufgabe zum Erstellen einer OS-Version ausgeführt. Wenn die Aufgabe abgeschlossen ist, wird der Status Action Required angezeigt. Wenn Sie die Aufgabe auswählen und auf View Details klicken, wird der folgende Text angezeigt:

“Die Packaging Disk wurde veröffentlicht. Die virtuelle Maschine ‘<…>’ kann im Ordner ‘<…>’ im Datencenter ‘<…>’. Schalten Sie diese virtuelle Maschine ein, um Ihre Anwendung zu installieren. Wenn die Installation abgeschlossen ist, schalten Sie die virtuelle Maschine aus, bevor Sie in der Aktionsleiste auf Finalize klicken.”

Als Nächstes können Sie eine Packaging Machine für diese OS-Layer-Version bereitstellen.

Eine Packaging Machine auf Ihrem Hypervisor bereitstellen

Die Packaging Machine ist eine virtuelle Maschine, auf der Sie die Updates oder Anwendungen installieren, die in den Layer aufgenommen werden sollen. Die Packaging Machine ist eine temporäre virtuelle Maschine, die gelöscht wird, sobald der OS-Layer finalisiert wurde.

Die Aufgabenbeschreibung enthält Anweisungen, wie Sie zu dem Speicherort in Ihrem Hypervisor navigieren, an dem die Packaging Machine für diesen Layer erstellt wurde.

  1. Um die Packaging Machine in Ihrem Hypervisor zu erstellen, beginnen Sie mit der erweiterten Packaging-Disk-Aufgabe, die in Schritt 2 gezeigt wird.
  2. Melden Sie sich bei Ihrem Hypervisor-Client an.
  3. Kehren Sie zur Management Console zurück und verwenden Sie die Anweisungen in der erweiterten Packaging-Disk-Aufgabe, um zur Packaging Machine zu navigieren.

Das OS-Update installieren

  1. Melden Sie sich remote an der Packaging Machine an. Stellen Sie sicher, dass Sie sich mit dem Benutzerkonto anmelden, das Sie zum Erstellen des OS verwendet haben.
  2. Installieren Sie alle Updates oder Anwendungen, die Sie in die neue OS-Layer-Version aufnehmen möchten, wie z. B. Windows Updates oder Antiviren-Anwendungen.
  3. Wenn eine Anwendungsinstallation einen Systemneustart erfordert, starten Sie sie manuell neu. Die Packaging Machine startet nicht automatisch neu.
  4. Stellen Sie sicher, dass sich die Packaging Machine in dem Zustand befindet, den Sie für den Benutzer wünschen:
    1. Wenn die von Ihnen installierten Anwendungen eine Nachinstallationskonfiguration oder Anwendungsregistrierung erfordern, führen Sie diese Schritte jetzt aus.
    2. Entfernen Sie alle Einstellungen, Konfigurationen, Dateien, zugeordneten Laufwerke oder Anwendungen, die Sie nicht auf der Packaging Machine einschließen möchten.

Als Nächstes fahren Sie die Packaging Machine herunter und überprüfen, ob der Layer zur Finalisierung bereit ist.

Hinweis:

Wenn Sie Windows 10 von einer Hauptversion auf eine andere aktualisieren (z. B. von 1703 auf 1709), verbleibt die vorherige Windows-Installation in einem Ordner C:\Windows.old. In App Layering dürfen Sie diesen Ordner nicht löschen. Unsere Software muss unsere Treiber und andere Dateien von Windows.old nach Windows kopieren, sobald das Upgrade vollständig abgeschlossen ist. Wir werden Windows.old bereinigen, wenn Sie den OS-Layer finalisieren.

Den Layer überprüfen und die Packaging Machine herunterfahren

Der nächste Schritt ist die Überprüfung, ob der Layer zur Finalisierung bereit ist. Um für die Finalisierung bereit zu sein, müssen alle erforderlichen Nachinstallationsprozesse, z. B. ein Neustart oder ein Microsoft ngen-Prozess, abgeschlossen sein.

Um zu überprüfen, ob alle ausstehenden Prozesse abgeschlossen sind, können Sie das Tool “Shutdown For Finalize” (Symbol unten) ausführen, das auf dem Desktop der Packaging Machine angezeigt wird.

So verwenden Sie das Tool “Shutdown For Finalize”:

  1. Wenn Sie nicht an der Packaging Machine angemeldet sind, melden Sie sich remote als der Benutzer an, der die Maschine erstellt hat.
  2. Doppelklicken Sie auf das Symbol “Shutdown For Finalize”. Ein Befehlszeilenfenster zeigt Meldungen an, die den Layer-Verifizierungsprozess detailliert beschreiben.
  3. Wenn ein ausstehender Vorgang abgeschlossen werden muss, bevor der Layer finalisiert werden kann, werden Sie aufgefordert, diesen abzuschließen. Wenn beispielsweise ein Microsoft ngen-Vorgang abgeschlossen werden muss, können Sie versuchen, den ngen-Vorgang zu beschleunigen, wie unten beschrieben.
  4. Sobald alle ausstehenden Vorgänge abgeschlossen sind, doppelklicken Sie erneut auf das Symbol “Shutdown For Finalize”. Dadurch wird die Packaging Machine heruntergefahren.

Der Layer ist zur Finalisierung bereit.

Wenn die von Ihnen ausgewählte Connector-Konfiguration auf Offload Compositing eingestellt ist, wird der Layer automatisch finalisiert. Andernfalls besteht der nächste Schritt darin, den Layer manuell zu finalisieren, wie im nächsten Verfahren beschrieben.

Layer-Integritätsmeldungen

Die folgenden Layer-Integritätsmeldungen informieren Sie darüber, welche in der Warteschlange befindlichen Vorgänge abgeschlossen werden müssen, bevor der Layer zur Finalisierung bereit ist:

  • A RunOnce script is outstanding - please check and reboot the Packaging Machine.
  • A post-installation reboot is pending - please check and reboot the packaging machine.
  • A Microsoft ngen operation is in progress in the background.
  • An MSI install operation is in progress - please check the packaging machine.
  • A reboot is pending to update drivers on the boot disk - please check and reboot the packaging machine.
  • A Microsoft ngen operation is needed.
  • Software Center Client is configured to run, but the SMSCFG.INI is still present. To learn more about deploying SCCM in a virtual environment, see the Microsoft TechNet article, [Implementing SCCM in a XenDesktop VDI environment](https://social.technet.com/wiki/contents/articles/23923.implementing-sccm-in-a-xendesktop-vdi-environment.aspx).

Details dazu, was die Layer-Integritätsmeldungen bedeuten und wie Sie sie debuggen können, finden Sie unter Debugging Layer Integrity Problems in Citrix App Layering 4.x and later.

Sie können Layer-Integritätsmeldungen nicht umgehen, indem Sie die Maschine herunterfahren. Die App Layering-Software stoppt und bringt Sie zur Packaging Machine zurück, bis die Prozesse abgeschlossen sind.

Wenn ein Microsoft ngen-Vorgang läuft, können Sie ihn möglicherweise beschleunigen, wie im nächsten Abschnitt beschrieben.

Microsoft Ngen.exe-Vorgänge bei Bedarf beschleunigen

Sobald alle Software-Updates installiert wurden, müssen Sie Ngen.exe erlauben, .NET-Bytecode im Wesentlichen in native Images neu zu kompilieren und die Registrierungseinträge zu erstellen, um diese zu verwalten.

Ngen.exe ist der Microsoft Native Image Generator, der Teil des .NET-Systems ist. Windows bestimmt, wann Ngen.exe ausgeführt wird, basierend auf der installierten Software und dem, was Windows in der Konfiguration erkennt.

Wichtig: Wenn Ngen.exe ausgeführt wird, müssen Sie es abschließen lassen. Ein unterbrochener Ngen.exe-Vorgang kann zu nicht funktionierenden .NET-Assemblies oder anderen Problemen im .NET-System führen.

Normalerweise ist Ngen.exe ein Hintergrundvorgang, der pausiert, wenn Vordergrundaktivität stattfindet. Wenn Sie einen Ngen.exe-Vorgang beschleunigen möchten, können Sie die Aufgabe in den Vordergrund bringen, um sie so schnell wie möglich abzuschließen.

Um die Aufgabe in den Vordergrund zu bringen:

  1. Öffnen Sie eine Eingabeaufforderung als Administrator.
  2. Wechseln Sie in das Verzeichnis Microsoft.NET\Framework für die aktuell verwendete Version:

    cd C:\Windows\Microsoft.NET\FrameworkNN\vX.X.XXXXX <!--NeedCopy-->

  3. Wenn Sie .NET Framework 3 oder höher verwenden, geben Sie den folgenden Ngen.exe-Befehl ein, um alle in der Warteschlange befindlichen Elemente auszuführen. Dieser Befehl verarbeitet in der Warteschlange befindliche Komponenteninstallationen, bevor Assemblies erstellt werden.

    ngen eqi 3 <!--NeedCopy-->

    Die Ngen.exe-Aufgabe wechselt in den Vordergrund der Eingabeaufforderung und listet die kompilierten Assemblies auf. Es ist in Ordnung, wenn Sie Kompilierungsmeldungen sehen.

    Stellen Sie sicher, dass alle Ngen.exe-Prozesse vollständig ausgeführt wurden. Sie können den Task-Manager verwenden, um zu sehen, ob eine Instanz von MSCORSVW.EXE ausgeführt wird. Wenn ja, lassen Sie sie abschließen oder führen Sie ngen eqi 3 aus.

    Vorsicht: Starten Sie nicht neu, um die Aufgabe zu beenden. Lassen Sie die Aufgabe abschließen!

  4. Wenn Sie .NET Framework 2 oder früher verwenden, geben Sie den folgenden Ngen.exe-Befehl ein, um die in der Warteschlange befindlichen Elemente auszuführen.

    ``` ngen update /force

    
    Dies bringt die ngen-Aufgabe in den Vordergrund der Eingabeaufforderung und listet die kompilierten Assemblies auf.
    
    >**Hinweis:**
    >Es ist in Ordnung, wenn Sie Meldungen über **Kompilierungsfehler** sehen.
    Überprüfen Sie im Task-Manager, ob eine Instanz von `MSWORD.EXE` ausgeführt wird. Wenn ja, müssen Sie sie abschließen lassen oder `ngen update /force` erneut ausführen. Starten Sie nicht neu, um die Aufgabe zu beenden. Lassen Sie sie abschließen.
    
    Überprüfen Sie den Status eines `Ngen.exe`-Vorgangs, indem Sie eine Eingabeaufforderung als Administrator öffnen und diesen Befehl ausführen: ```ngen queue status<!--NeedCopy-->
    

    Vorsicht: Starten Sie nicht neu, um die Aufgabe zu beenden. Lassen Sie die Aufgabe abschließen!

  5. Wenn alle Vorgänge abgeschlossen sind, fahren Sie die virtuelle Maschine mit der Verknüpfung Shutdown For Finalize auf Ihrem Desktop herunter.

Den Layer manuell finalisieren

Sobald die Packaging Machine erstellt und alle Apps oder Updates installiert wurden, können Sie den Layer finalisieren.

Hinweis: Wenn Sie eine neue Version eines OS-Layers finalisieren, löscht das System die Packaging Machine, um keine weiteren Kosten zu verursachen.

Wenn ein Layer zur Finalisierung bereit ist:

  1. Kehren Sie zur Management Console zurück.
  2. Wählen Sie im Modul “Layers” den Layer aus.
  3. Wählen Sie in der Aktionsleiste Finalize aus.
  4. Überwachen Sie die Taskleiste, um zu überprüfen, ob die Aktion erfolgreich abgeschlossen wurde und der Layer bereitgestellt werden kann.