Grundlegende Konzepte

<< Click to Display Table of Contents >>

RayPack > 8.0 > User Guide > PackBot 

Grundlegende Konzepte

Jede PackBot-Sitzung besteht aus Aufgaben. Eine Aufgabe kann als Anforderung verstanden werden, ein Format mithilfe einer virtuellen Maschine in ein anderes zu konvertieren. RayPack unterstützt die folgenden Eingabeformate:

 

Legacy-Setups (.exe)

Windows Installer-Setups

Benutzerdefinierte Setups und Skripte (z. B. .cmd, .vbs usw.)

 

Die folgenden Ausgabeformate sind verfügbar:

 

Windows Installer-Formate

oWindows Installer-Datenbank

oRCP-Projekt (PackRecorder-Projekt)

oRPP-Projekt (PackDesigner-Projekt)

App-V-Formate

oApp-V 4.6

Standard-RayPack-Konvertierung

Konvertierung über lokal installierten Microsoft App-V 4.6 Sequencer

oApp-V 5.x

Standard-RayPack-Konvertierung

Konvertierung über lokal installierten Microsoft App-V 5.x Sequencer

Thin-App-Format

MSIX (Desktop Bridge)-Format

 

Jede Sitzung kann aus einer oder mehreren Repackaging-Aufgaben bestehen und hat folgenden Ablauf:

 

1.Der Benutzer definiert die Pakete und den Pool virtueller Maschinen, die zur Verarbeitung verwendet werden.

2.Pakete werden sequenziell verarbeitet (wenn nur eine Maschine definiert ist) oder parallel (wenn mehr als eine Maschine verfügbar ist).

3.Die Ergebnisse werden gespeichert und Benutzer sehen die Bestätigung mit Protokollen, Fehlern und Erfolgsmeldungen.

 

Für jede Aufgabe, die in das Windows Installer-Format, das Thin-App-Format oder das APPX/UWP-Format konvertiert, erstellt PackBot einen Snapshot des aktuellen Maschinenzustands, führt die Installation mit den erforderlichen Paketoptionen durch und erstellt dann den zweiten Snapshot. Snapshots werden verglichen und die Ausgabe wird auf einem physischen Rechner gespeichert. Für einige Formate (MSI, RPP, APPX/UWP) kann auf dem physischen Rechner eine zusätzliche Nachbearbeitung durchgeführt werden.

 

Sequenzielle Verarbeitung

Pakete werden sequenziell verarbeitet, wenn mindestens eine der folgenden Voraussetzungen zutrifft:

 

Es befindet sich nur ein Paket in der Warteschlange.

Es wird nur eine Maschine von den definierten Paketen verwendet.

Es gibt nur eine tatsächliche Maschine, die von definierten Paketen verwendet wird.

Die Anzahl der parallelen Vorgänge wurde vom Benutzer auf 1 begrenzt.

 

Eine dieser Annahmen führt das Konzept einer tatsächlichen virtuellen Maschine ein. Dies wird wie folgt verstanden: Zwei Maschinen gelten als „eindeutig", wenn:

 

1.Sie auf verschiedene .vmx-Dateien zeigen (Workstation), oder

2.wenn sie denselben Computernamen haben (Hyper-V).

 

Wenn zwei Maschinen von einer einzigen .vmx-Datei definiert sind, aber unterschiedliche Snapshots verwenden, gelten sie als eine einzige Maschine. In diesem Fall (wenn keine weiteren Maschinen im Pool definiert sind) erfolgt die Verarbeitung sequenziell.

 

Parallele Verarbeitung

Pakete werden parallel verarbeitet, wenn folgende Bedingungen erfüllt sind:

 

Der Benutzer hat mehr als eine zu verarbeitende Aufgabe definiert.

Die ausgewählten Aufgaben verwenden mindestens zwei verschiedene virtuelle Maschinen (siehe Beschreibung der sequenziellen Verarbeitung für die Definition der Maschineneindeutigkeit).

Der Benutzer hat einen Parallelitätsgrad von 2 oder höher gewählt.

 

In diesem Fall werden Pakete parallel verarbeitet. Die parallele Verarbeitung ermöglicht eine schnellere Neupaketierung einer großen Anzahl von Produkten auf vollautomatische Weise.

 

Bevor PackBot mit jedem Paket beginnt, findet es den besten Kandidaten für maximale Effizienz. Der Pool virtueller Maschinen wird so effektiv wie möglich genutzt, um Leerlaufzeiten und Race Conditions zwischen Paketen zu minimieren. Dies kann zu einer nichtlinearen Verarbeitung führen (PackBot kann z. B. entscheiden, dass es im Durchschnitt schneller ist, mit dem ersten und dritten Paket in der Liste zu beginnen und das zweite Paket für eine spätere Verarbeitung zurückzustellen). Der Auswahlalgorithmus berücksichtigt Folgendes:

 

Einschränkungen für alle offenen Pakete (es bevorzugt Pakete mit mehr Einschränkungen gegenüber Paketen mit weniger Einschränkungen).

Die Reihenfolge in der Liste.

Den Leerlaufzustand der virtuellen Maschinen.

Der Algorithmus berücksichtigt noch weitere Faktoren.

 

Dieser Prozess ist vollständig automatisch und erfordert keine Aufmerksamkeit des Benutzers.

 

Beispiel 1

Ein Benutzer hat eine virtuelle Maschine, die seine Packaging-Umgebung repräsentiert. Er klont diese Maschine dreimal. Er hat jetzt vier Maschinen, die alle auf verschiedene physische Dateien zeigen. Er definiert eine Warteschlange mit 100 Paketen und weist sie allen vier Maschinen des Pools zu. Er verwendet den Parallelitätsgrad 4, was bedeutet, dass vier Maschinen gleichzeitig laufen können. In diesem Szenario wird das Repackaging von 100 Anwendungen im Durchschnitt viermal schneller sein, da alle vier Maschinen gleichzeitig laufen und vier Pakete gleichzeitig verarbeiten.

 

Beispiel 2

Ein Benutzer hat eine virtuelle Maschine mit installiertem Sequencer und eine weitere ohne Sequencer. Diese beiden Maschinen verwenden verschiedene .vmx-Dateien. Er definiert nun eine Warteschlange mit 100 Paketen. Von diesen 100 Paketen sollen 50 virtualisiert werden und sind der Maschine mit installiertem Sequencer zugewiesen, während die anderen 50 lediglich neu zu paketieren sind und beiden Maschinen zugewiesen sind. In diesem Szenario führt PackBot zwei Pakete gleichzeitig aus und stellt sicher, dass App-V-Pakete immer auf der Maschine mit dem Sequencer ausgeführt werden und dass die anderen Aufgaben so weit wie möglich auf der Maschine ohne Sequencer ausgeführt werden, um die App-V-bezogenen Aufgaben nicht zu blockieren. Im Durchschnitt dauert der gesamte Prozess halb so lange wie die sequenzielle Verarbeitung.

 

Detaillierte Informationen zum Prozessablauf und zu Laufzeitentscheidungen sind im Kapitel Parallel Processing beschrieben.

 

Stille und Massenverarbeitung

Eine Aufgabe definiert ein zu startendes Setup und eine entsprechende Befehlszeile zur Installation des Produkts. Wenn die Befehlszeile vollständig still ist (sie stellt sicher, dass keine Pop-ups und Eingabeaufforderungen angezeigt werden, typischerweise /S oder /Q), wird das Paket still installiert, verarbeitet und konvertiert. Wenn alle Aufgaben in der Liste mit einer vollständig unbeaufsichtigten Befehlszeile definiert sind, kann die gesamte Verarbeitung still und ohne Benutzereingriff ablaufen.

 

1.Die Maschine wird gestartet und der Benutzer wird angemeldet.

2.Der erste Snapshot wird erstellt.

3.Das Paket wird mit der vom Benutzer bereitgestellten Befehlszeile installiert.

4.PackBot erstellt den zweiten Snapshot, vergleicht ihn mit dem ersten und generiert die Ausgabe.

 

Um Pakete still zu verarbeiten:

 

Importieren Sie alle erforderlichen Setups in die Liste.

Überprüfen Sie die zur Produktinstallation verwendeten Befehlszeilen und stellen Sie sicher, dass sie von Anfang bis Ende im unbeaufsichtigten Modus ausgeführt werden.

Für alle virtuellen Maschinen muss die automatische Anmeldung aktiviert sein (weitere Informationen dazu finden Sie im Kapitel Best Practises and Recommendations).

 

finger1

Achtung:

Eine vollständig unbeaufsichtigte Installation gibt dem Benutzer keine Möglichkeit zur Interaktion (z. B. zum manuellen Konfigurieren einer App, zum Ändern von Einstellungen in der Benutzeroberfläche usw.). Wenn dies erforderlich ist, sollten Sie die Anwendungen mit der Technik des Verzögerten zweiten Snapshots neu paketieren.

 

Interaktive Verarbeitung (auch bekannt als „Verzögerter zweiter Snapshot")

Um eine Massenumpaketierung oder einfache Umpaketierung auf einer virtuellen Maschine durchzuführen, die benutzerdefinierte Konfigurationen aufzeichnen kann, kann der Benutzer entscheiden, den zweiten Snapshot zu verzögern. Bei Verwendung dieser Option sieht die Verarbeitung jeder Aufgabe wie folgt aus:

 

1.Die Maschine wird gestartet und der Benutzer wird angemeldet.

2.Der erste Snapshot wird erstellt.

3.Das Paket wird mit der vom Benutzer bereitgestellten Befehlszeile installiert.

4.PackBot hält an diesem Punkt an und zeigt ein Fenster an, das den Benutzer auffordert fortzufahren, wenn er die Konfiguration abgeschlossen hat.
 
prompt-5.2
 

5.Der Benutzer konfiguriert das Produkt (startet die Anwendung, ändert Einstellungen usw.).

6.Der Benutzer klickt auf die Schaltfläche Click to continue..., um fortzufahren.

7.Der Benutzer kann die Maschine auch neu starten, indem er entweder Reboot machine... drückt oder manuell über das Start menu vorgeht. In jedem Fall startet PackBot nach dem Neustart neu und setzt die Verarbeitung fort. Der Benutzer kann einen Neustart unabhängig von den Aufgabeneinstellungen durchführen, sobald die Option Delayed second snapshot aktiv ist

8.PackBot erstellt den zweiten Snapshot, vergleicht ihn mit dem ersten und generiert die Ausgabe.

 

 

finger1

Achtung:

Das Verzögern des zweiten Snapshots blockiert die weitere Ausführung, bis der Benutzer eingreift und die Schaltfläche zum Fortfahren drückt. Benutzer sollten die Konsole ihrer virtuellen Maschinen beobachten, um zu prüfen, welche Maschinen Aufmerksamkeit erfordern und bereit sind, fortzufahren.