Buch
- App-V Infrastruktur
- App-V Client
- App-V Sequenzierung
- Tools & Troubelshooting
- PowerShell mit App-V
Möchte man z.B. vor dem Starten einer virtuellen Anwendung Skripte ausführen, um verschiedene Aktionen durchzuführen, wie z.B. Dateien aus dem virtuellen Paket in lokale System zu kopieren, Ordner anzulegen, Treiber zu installieren, Rechte vergeben oder Voraussetzungen prüfen, kann man dies tun indem man die entsprechenden Befehle oder Skripte in die „Paketname_DeploymentConfig.xml“ oder „Paketname_UserConfig.xml“ des jeweiligen Paketes hinterlegt.
Um Skripte in diesen Dateien überhaupt ausführen zu können, muss dies erst mal durch einen Powershell Befehl aktiviert werden:
Set-AppvClientConfiguration -EnablePackageScripts 1
Das Skript was ausgeführt werden soll, kann z.B. in dem dafür vorgesehenen Ordner „Scripts“ im App-V Paket gelegt werden. Dazu muss im Sequencer das entsprechende Paket geöffnet werden und unter „Paketdateien“ das Skript hinzugefügt werden.
Nun ist es erforderlich, die „_DeploymentConfig.xml“ oder „_UserConfig.xml“ des jeweiligen Paketes zu editieren, und den Aufruf des Skriptes einzubinden. Je nachdem, wann das Skript ausgeführt werden soll, stehen dafür verschiedene Blöcke in der –xml Datei zur Verfügung. Möchte man ein Skript vor dem Start einer speziellen Anwendung (hier Excel) ausführen, muss der Block „StartProcess“ (Beispiel 1) verwendet werden. Soll das Skript schon beim Starten der virtuellen Umgebung ausgeführt werden (Beispiel 2), muss der Block „StartVirtualEnvironment“ genutzt werden.
„RunInVirtualEnvironment="true" bedeutet, dass die darunter folgende Befehlszeile in der virtuellen Umgebung ausgeführt werden soll. Bei „false“ kann die Befehlszeile nicht auf Dateien oder sonstige Informationen in der virtuellen Umgebung zugreifen.
Unter „Path“ muss angegeben werden, was ausgeführt werden soll.
„Arguments“ ist die eigentliche Befehlszeile, die an „Path“ angehängt wird.
„RollbackOnError“ sagt aus, ob die Anwendung auch ausgeführt werden soll, wenn die Befehlszeile bzw. das Skript auf Fehler läuft. Hier kann auch noch ein Timeout angegeben werden.
„ApplicationID“ ist die Anwendung die nach der Ausführung des Blocks gestartet werden soll (nur Beispiel 1)
Um das Paket mit der entsprechenden „_DeploymentConfig.xml“ am Client auf manuellem Wege zu importieren, ist folgender Befehl nötig;
Add-AppVClientPackage –Path „\\localhost\content\Office 2003 Standard_APP_DE_V01\Office 2003 Standard.appv“ -DynamicDeploymentConfiguration "\\localhost\content\Office 2003 Standard_APP_DE_V01\Office 2003 Standard_DeploymentConfig.xml" | Publish-AppvClientPackage
Nun sollte das Skript beim Starten von Excel (Beispiel 1) bzw. beim Starten der virtuellen Umgebung (Beispiel 2) ausgeführt werden.
Kommentare