Buch
- App-V Infrastruktur
- App-V Client
- App-V Sequenzierung
- Tools & Troubelshooting
- PowerShell mit App-V
App-V 5.x ermöglicht es einer lokal installierten Anwendung auf einem Windows System in eine virtuelle Blase hinein zu starten. Also den Inhalt des Virtuellen Paketes für lokale An-wendung sichtbar zu machen. Das ist nicht nur für Middleware interessant, sondern auch zum Debuggen von App-V Paketen. Hier gibt es mehrere Verfahren.
In diesem Artikel werden die einzelnen Möglichkeiten aufgeführt und mit Beispielen erklärt.
Der Aufruf der Applikation erfolgt über einen Commandline, der nach der Installation des App-V 5.x Clients für jede Exe Datei angenommen wird. Zum einen ist das eine Anweisung zum Starten in die Blase über die Guid und zum anderen zum Starten über die ProzessID möglich.
starten einer Anwendung in einer virtuellen Blase:
/appvve:<PACKAGEGUID_VERSIONGUID>
Beispielsweise
CMD.exe /appvve: 697829d3-0352-40fa-adeb-d9628b41edad_ e5be3f82-1a15-4fa9-af72-53f3560c8915
Nun sind im CMD Fenster alle Dateien und Pfade des Paketes sichtbar. Die PACKAGEGUID und die VERSIONSID eines lokal veröffentlichten Paketes kann mit Powershell ermittelt werden:
Get-AppvClientPackage <WILDCARD>
Beispielsweise:
Anwendungsfälle:
• Erstellen eines App-V Paketes für VisualFox Pro Runtimes und starten der FoxPro An-wendung mit MyFoxpro.exe /appvve: <PackageId>_<VersionId>
• Starten des Internet Explorers mit einer bestimmten Java Version IExplore.exe /appvve: <PackageId>_<VersionId>. Oder starten mehrerer IE Verknüpfungen für mehrere An-wendungen
• Erstellen von Shortcuts mit /appvve Parameter
• Direkter Zugriff auf die Registrierung einer virtuellen Anwendung
• Direkter Zugriff auf das Dateisystem einer virtuellen Anwendung
Weiterhin gibt es die Möglichkeit, das Ganze für einen laufenden Prozess zu starten. Hier kann die PID leicht über den Task Manager ausgelesen werden.
Der Parameter hier ist „Appvpid“
/appvpid:<PID>
Beispielsweise:
Wir nehmen einmal an, die Prozessid des Registrierungseditiors ist 1234. Dann würde der folgende Aufruf den Zugriff auf die virtuelle Registrierung ermöglichen.
Regedit.exe /appvpid:1234
Tipp: Einmal mit F5 aktualisieren
Dokumentation von Microsoft zu dieser Funktion:
https://support.microsoft.com/en-us/kb/2848278
Als Alternative gibt es weiterhin die Möglichkeit, eine Anwendung mit dem PowerShell Befehlt Start-AppvVirtualProcess zu starten.
Start-AppvVirtualProcess - -FilePath] <String> – Pfad auf die Exe - -ArgumentList [<String[]>]] Parameter der Anwendungsexe (Komma getrennt) - -LoadUserProfile –laden des Benutzerprofiles für die Anwendung - -NoNewWindow –kein Neues Fenster - [-Wait] – Warten auf des Prozessende - [-WorkingDirectory [<String>]] – Arbeitsverzeichnis - Weitere Parameter für diese Anweisung mit
Get-Help Start-AppvVirtualProcess
Beispielsweise:
$AppVObj = Get-AppvClientPackage –Name "NU*" Start-AppvVirtualProcess -FilePath "C:\windows\system32\regedit.exe" –AppvClientObject $AppVObj
Startet den Registry Editor (64 Bit) in das NVU1 Paket aus dem letzten Beispiel
Der Registrierungsschlüssel „RunVirtual“ ermöglicht es, lokale Anwendungen festzulegen, die in eine virtuelle Blase starten sollen. Das ist besonders sinnvoll, wenn man keine Ver-knüpfungen mit einem Parameter versehen möchte, sondern eine „exe“ das gleich von sich aus machen soll.
Versionsunterstützung für „RunVirtual“
* Globale oder per User Veröffentlichung Ab App-V 5.0 SP3
* Globale Veröffentlichung App-V 5.0 bis SP3
Anlegen eines Globalen „RunVirtual“ Keys
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AppV\Client\RunVirtual\MEINEAPP.EXE
Darunter den Default Key mit dem Syntax <PackageId>_<VersionId>
Anhand des Default-Schlüssels weiß der App-V Client, in welche virtuelle Blase die An-wendung hinein gestartet werden kann.
Die Parameter werden wiederum mit folgendem Befehl ermittelt
Get-AppvClientPackage
Beispiel RegFile für einen Start der Anwendung „MyApp.exe“ in die Anwendung NVU
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AppV\Client\RunVirtual\ MEINEAPP]
@="697829d3-0352-40fa-adeb-d9628b41edad_ e5be3f82-1a15-4fa9-af72-53f3560c8915”
Anlegen eines Per User „RunVirtual“ Keys
HKEY_CURRENT_USER \SOFTWARE\Microsoft\AppV\Client\RunVirtual\MyApp.exe
Das ist etwas unflexibel, denn der Schlüssel muss erst einmal in die Anwenderregistrierung geschrieben werden. Beispielsweise über ein Logon Skript.
Von Casper van der Kooij es noch einen Vergleichstest, was besser ist, AppVVe oder Run-Virtual. Auf den Punkt gebracht, ist AppVVe der Gewinner.
RunVirtual vs. AppVVE in SP3. Who wins?
https://packnowledge.wordpress.com/2015/04/08/runvirtual-vs-appvve-in-sp3-who-wins/#more-352
Powershell script to run external exe in virtual environment (Updated 5-sept-2013)
https://packnowledge.wordpress.com/2013/04/23/powershell-script-to-run-external-exe-in-virtual-environment-2/
Running a Locally Installed Application Inside a Virtual Environment with Virtualized Applications
https://technet.microsoft.com/en-us/library/dn858703.aspx
Kommentare