|
In unserer zweiten Übung, benutzen wir das SVS Admin Tool zum Erstellen eines virtuellen Software-Archivs (VSA) für das pdf2cad MSI-Paket. pdf2cad ist eine kleine Anwendung, die ein Standard PDF-Dokument in ein CAD-Objekt konvertiert. Diese bestimmte MSI erfordert einen Neustart am Ende der Installation, daher werden wir die gängigsten Möglichkeiten rund um die Handhabung eines Neustarts bei einer Schichterstellung betrachten und es während dieser bestimmtem Repaketierung ebenso anwenden. Gerade weil dies eine MSI-Datei ist, die wir versuchen werden mit SVS zu betreiben, wollen wir sichergehen, dass wir der in der Praxis am üblichsten Methode der Installation von non-advertised-Verknüpfungen folgen, nehmen wir diese in unsere Schicht auf. Dies geht entgegen der von der MSI installierten advertised-Verknüpfungen.
- 1. Als erstes benutzen wir den SVS Admin zum Mitschnitt des MSI in eine Schicht. Ist der SVS Admin noch nicht geöffnet dann öffnen sie ihn bitte über die Schnellstart-Leiste oder die Startmenü-Verknüpfung.
- 2. Klicken sie im SVS Admin auf Datei -> Schicht erstellen
- 3. Versichern sie sich, dass der Radiobutton auf „Anwendung installieren“ steht und drücken sie „Next“.
- 4. Für den Schichtnamen geben sie pdf2cad ein und drücken sie „Next“.
- 5. Anstatt jetzt auf die cmd.exe zu zeigen, werden wir die Befehlszeile für pdf2cad direkt angeben. Außerdem müssen wir dieses Paket zum „Streaming“ vorbereiten, so dass wir eine Befehlszeile zur Deaktivierung der advertised-Verknüpfung anlegen. Folgendes tippen sie bitte in die 2 Felder (und beachten sie, dass sie in Windows die [Umschalt]+Rechtsklick-Option nutzen können, um den Pfad der pdf2cad-MSI in die Kommandozeile zu kopieren):
a) Programmname: C:\Windows\System32\msiexec.exe b) Paramter: /i „C:\Users\Admin\Desktop\ManageFusion\pdf2cad 6.8.msi“ DISABLEADVTSHORTCUTS=1
- 6. Drücken sie auf „Next“ und dann „Finish“ um den Mitschnitt der MSI in die Schicht zu starten.
- 7. Akzeptieren sie während der pdf2cad-Installation alle Standard-Einstellungen und drücken sie „Finish“ beim letzten Dialogfenster.
- 8. Haben sie „Finish“ gedrückt, dann werden sie vom MSI gefragt werden, ob sie einen Neustart durchführen wollen. Hier ist es
wichtig, den MSI-Neustart richtig zu behandeln, so dass wir alles korrekt in die read-only-Sektion (permanent) unserer pdf2cad-Schicht bekommen. Als erstes klicken sie auf „Nein“ bei der Neustartabfrage. Dies wird den MSI-Prozess beenden und nebenbei unseren Mitschnitt beenden. Sie sehen nun den geöffneten SVS Admin und eine aktivierte Schicht für pdf2cad.
- 9. Als nächstes deaktivieren sie die pdf2cad-Schicht (Rechtsklick/Schicht deaktivieren), so dass wir die Schicht bearbeiten und ihre Inhalte begutachten können. Es gibt 4 übliche Gründe warum eine Installation einen Neustart verlangt:
a) Die Installation installierte einen Treiber, welcher beim Systemstart in den Speicher geschrieben werden muss. Da SVS allerdings keine Treiber-Virtualisierung unterstützt, trifft uns dieser Grund nicht. b) Die Installation hat Dateien überschrieben, die zu ihrer Laufzeit gerade in Benutzung waren und ist somit ohne einen Neustart nicht in der Lage diese zu überschrieben. Dadurch das SVS neue Dateien immer in eine leere Schicht schreibt, kann es theoretisch niemals eine Datei überschreiben, die gerade in Benutzung ist. Und wieder sind wir von diesem Grund nicht betroffen. c) Der Autor der Installation hat vielleicht entschieden, dass es einfacher wäre einige Dinge, wie den Start von Diensten, durch einen erzwungenen Neustart am Ende der Installation durchzuführen. Doch da SVS pre-activation-Ereignisse, wie das Hochfahren von Diensten, händeln kann und das Ausführen von „Run“ und/Oder „RunOnce“ Ereignissen vor der Aktivierung bewerkstelligen kann, werden wir auch aus diesem Grund nichts machen. d) Manchmal wird die Installation so eingestellt, dass sie einige Konfigurationen nach Abschluss erledigt. Dies ist eine Möglichkeit die wir unbedingt erkunden wollen. Die zwei gebräuchlichsten Methoden um dies in einer Installation zu bewerkstelligen, ist das Schreiben eines „RunOnce“ Registryschlüssels und dem anschließenden Verknüpfen im Startmenu Autostartordner. Wir werden also die Stellen in der Schicht prüfen, an der die Installation Befehle nach dem Neustart ausführ
- 10. Doppelklicken sie auf die pdf2cad Schicht um den Schichtnamen zu bearbeiten. Hier schauen wir zuerst im Startmenu/Autostart-Ordner nach Einträgen, die nach einem Neustart aufgerufen werden. Expandieren sie den System-Knoten unter „pdf2cad (Read-only)“. Markieren sie den [COMMONSTARTUP]-Ordner. Dies ist der AllUsers Autostart-Ordner. Auf der rechten Seite können sie sehen, dass der Ordner leer ist. Jetzt expandieren wir den benutzerspezifischen Knoten und dann den USER_TEMPLATE Knoten. Markieren sie den [STARTUP]-Ordner. Ein weiteres Mal sehen sie, dass der Ordner leer ist und die VSA keine Autostart-Icons enthält.
- 11. Als nächstes müssen wir die Schicht in Hinsicht auf RunOnce-Schlüssel in der Registry untersuchen. Alle Befehle, die in diesem Schlüssel gelistet sind, würden bei unserem Neustart ausgeführt werden, was wir aber unterbinden indem wir diese widerrufen. Als erstes klicken sie auf den Registry-Reiter, so dass wir alle Registry-Einträge unserer Schicht sehen. Expandieren sie unter „pdf2cad (Read-only)“ den HKEY_LOCAL_MACHINE Knoten und folgen sie bis zu folgendem Schlüssel: SOFTWARE/Microsoft/Windows/CurrentVersion/RunOnce. Auf der rechten Seite sehen sie, dass es tatsächlich einen eingetragenen Registryschlüssel in unserer pdf2cad-Schicht gibt
- 12. Was wir jetzt machen wollen ist diese Kommandozeile die der Registryschlüssel enthält, zu kopieren, den Schlüssel zu löschen und die Kommandozeile von uns aus so laufen zu lassen, dass wir die read-only-Sektion unserer Schicht aktualisieren. Dies ist ein wichtiger Schritt. Denn wenn wir den RunOnce-Eintrag in der Schicht und unserem VSA belassen würden, dann würde SVS den Befehl sicherlich bei der Aktivierung auf der Zielmaschine ausführen, aber die Resultate in die writeable-Sektion der Schicht schreiben. Wir wollen unsere anfänglichen Installationsinhalte allerdings in der permanenten, der read-only-Sektion der Schicht behalten. Also doppelklicken wir auf den Registryeintrag auf der rechten Seite, kopieren die Kommandozeile „%systemroot%\system32\pdf2cad_config.exe“ und löschen diesen Registryschlüssel dann. Sie dürfen diese Kommandozeile gerne in den Editor kopieren bevor sie den Schlüssel löschen, um sicher zu gehen, dass der Kopiervorgang erfolgreich war.
- 13. Jetzt wo wir wissen welche Kommandozeile wir aufrufen müssen, können wir unsere read-only-Sektion der Schicht mit dieser Kommandozeile aktualisieren. Um dies zu tun, schließen sie den Schicht-Bearbeitungs-Dialog, so dass wir zu unserem Hauptfenster des SVS Admin zurückkommen. Klicken sie auf Datei -> Bestehende Schicht aktualisieren.
- 14. Markieren sie die pdf2cad Schicht und drücken sie „Next“.
- 15. Es wird höchstwahrscheinlich am einfachsten sein unseren Befehl von einer Kommandozeile aus aufzurufen, solange unsere Datei auf die wir uns beziehen nur unter dem SVS Admin zu sehen ist nachdem die Schicht aktiviert wird (was automatisch passiert, wenn wir in den „Bestehende Schicht aktualisieren“-Modus gehen). Wie schon in Übung 1 geben sie C:\Windows\System32\cmd.exe in das „Programmname“-Feld ein oder durchsuchen sie ihren Computer danach. Klicken sie dann auf „Next“ und „Finish“.
- 16. Alles was jetzt in der Konsole auftaucht wird in die read-only-Sektion unseres pdf2cad Schicht geschrieben und aktualisiert. Fügen sie also die Kommandozeile „%systemroot%\system32\pdf2cad_config.exe“ in das Konsolen-Fenster ein und drücken sie Enter. Sie sollten in Kürze ein weiteres Konsolen-Fenster öffnen sehen. Wenn sich dieses schließt wissen sie, dass die Konfigurations-Anwendung beendet ist. Schließen sie das originale Konsolen-Fenster ebenso um den Mitschneide-Prozess zu beenden.
- 17. Jetzt wo wir erfolgreich eine Schicht erstellt haben und das Neustart-Szenario gehändelt haben, können wir die pdf2cad-Verknüpfung auf dem Desktop ausführen, um sicherzustellen, dass die Applikation richtig funktioniert. Ein anfänglicher „Willkommens“-Dialog wird gezeigt und sie können entweder „Next“ drücken um anschließende Anzeigen zu verfolgen oder einfach „Cancel“ um fortzufahren.
- 18. Deaktivieren sie die pdf2cad-Schicht anschließend und sie sehen das Applikations-Icon auf dem Desktop verschwinden.
<< Übung 1 | Übung 3 >>
|