App-V 5 für Anfänger und Einsteiger
Ein Kunde fragte vor kurzem, „Was ist App-V“? Ich konnte es fast nicht glauben, da eine Umstellung auf eine MSI-Paketierung geplant wurde und ich eigentlich, auf Empfehlung eines Bekannten, dafür beraten wollte. Aber genau in dieser Kundensituation würde der Kunde durch Microsoft App-V viel Zeit und Geld einsparen können. Er möchte VDI mit Windows 10 nutzen und hat auch noch Enterprise lizensiert in dem die Lizenz für App-V bereits enthalten ist. Aus der folgenden Diskussion und der anschließenden Beratung kam eine Empfehlung an mich: „Schreib doch bitte einmal einen Artikel für App-V Einsteiger!“ Richtig so, irgendwie verliert man schnell das Wesentliche aus den Augen.
Aus diesem Grund habe ich dieses Jahr bei der TecCon 2017 eine Session für App-V Einsteiger geplant und hier diesen Artikel geschrieben. Wer tiefer einsteigen möchte, dem empfehle ich natürlich auch unser App-V
Buch.
Was ist Microsoft App-V
Microsoft Application Virtualization bzw. meist verwendet "App-V" ermöglicht es, Anwendungen zu virtualisieren (Isolation, Sandbox) und in Echtzeit von einem Anwendungsserver an jeden Client zu streamen. Es entfällt die Notwendigkeit für die traditionelle lokale Installation der Anwendungen, obwohl eine eigenständige Bereitstellungsmethode auch unterstützt wird.
- Anwendungsvirtualisierung: Die Anwendung wird vom ausführenden Betriebssystem isoliert und eine Zwischenschicht zwischen Anwendung und Betriebssystem als Laufzeitumgebung zur Verfügung gestellt. Die Anwendung verhält sich jedoch so, als sei sie lokal installiert obwohl die Anwendungskomponenten tatsächlich an einem anderen Ort zu finden sind. Diese Zwischenschicht ermöglicht es weiterhin die Interaktion der virtuellen Anwendungen untereinander durch sogenannte Verbindungsgruppen zu bestimmen. Beispielsweise können so mehrere Java Versionen getrennt auf einem System existieren. App-V-Applikationen sind ebenfalls voneinander getrennt, sodass verschiedene Versionen derselben Applikation gleichzeitig auf einem System vorhanden sein dürfen.
- Streaming: Bei einem Streaming wird die Anwendung bei der ersten Benutzung auf den Client-Cache „installiert“ (gestreamt) und in einem lokalen Cache abgelegt. Der App-V-Stack erzeugt ein virtuelles Environment, so dass eine Applikation keine Änderungen direkt an das Dateisystem des zugrundeliegenden Betriebssystems und / oder der Registry vornimmt, sondern nur in eine anwendungsspezifischen "Blase".
- Bereitstellung mit PowerShell: App-V Anwendungen können sehr einfach ohne Streaming mit wenigen PowerShell Befehlen wie MSI Pakete lokal bereitgestellt werden
- Bereitstellung mit dem MSI Wrapper: Mit jedem App-V Paket wird ein kleines MSI Paket erzeugt, welches die Bereitstellung des eigenen Paketes ermöglicht. Voraussetzung dabei ist der App-V Client.
- App-V Server Infrastruktur (optional): App-V ermöglicht somit eine zentrale Installation und Verwaltung von eingesetzten Applikationen. Es unterstützt eine richtlinienbasierte Zugriffskontrolle; Administratoren können den Zugriff auf die Anwendungen von bestimmten Benutzern oder auf bestimmten Computern definieren und beschränken, indem sie Richtlinien für die Nutzung definieren.
Microsoft App-V ist eine zusätzliche Komponente, die eine Lizenzierung benötigt. Die Lizenzierung ist benutzerdefiniert und wird entweder durch die Lizenzierung von Software Assurance im Microsoft Desktop Optimization Pack (MDOP) (Workstation) oder als Teil der Microsoft Remote Desktop Server-Clientzugriffslizenz (RDS-CAL) erworben.
Mit in Windows 10 Enterprisereis (Version 1607) und Server 2016 ist App-V Teil des Betriebssystems und kann mit Gruppenrichtlinien oder über PowerShell mit „Enable-AppV“ aktiviert werden.
Vorteile mit App-V
App-V ist Anwendungsisolation und Streaming von Anwendungen. Damit entfallen Dinge wie:
- Keine DLL Konflikte
- Keine Veränderung des Betriebssystems
- Schnelle Installationszeiten, weniger Wartezeit
- Vermeidung von Konflikten in der Registrierung
- Konflikte zwischen verschiedenen Java Versionen (Runtimes auch FoxPro etc.)
- Weiterhin können Anwendungen im „Shared Content Store Mode“ für Terminalserver direkt über das Netzwerk und nur mit einer minimalen lokalen Datenhaltung bereitgestellt werden. Anwendungen lassen sich auch im laufenden Betrieb austauschen und Updaten.
Vorteile für den Anwender:
- Kleine Masterimages und somit kurze Wartungsintervalle bei Patchen
- Updates im laufenden Betrieb ohne die Benutzer zu behindern
- Parallele Nutzung verschiedener Versionen einer Anwendung
- Weniger Anwendungskonflikte (DLL Hell)
- Parallele Runtimes (Java, FoxPro etc.) und somit weniger Neuanmeldungen in andere Silos
- Zukunftssicher durch die Integration in Windows 10 (Enterprise) und Server 2016
- Keine Installationen bei der Anmeldung (MSI, Active Setup)
- Automatische Konfiguration der Anwendung. Die Einstellungen liegen mit im Paket
Welche weiteren Komponenten existieren (Version 5.x)?
Architektur hat zwei Hauptoptionen, den Sequencer und den Client. Hinzu kommen optionale Funktionen.
Komponenten auf der Workstation:
- Der Microsoft Application Virtualization 5.x Sequencer (App_V Sequencer), mit dem eine benutzerdefinierte Anwendung für die virtualisierte Bereitstellung paketiert (sequenziert) wird.
- Der Microsoft Application Virtualization 5.x Client (App-V Client), der am Betriebssystem verwendet wird, um die virtuelle Anwendung auszuführen. Es gibt zwei Formen des Clients, einen für Desktop-Betriebssysteme (ab Windows 7 mit Service Pack 1 und Windows 8) und einen für Server-Betriebssysteme für die Verwendung als Remote Desktop Session Host Server.
- (Optional) Microsoft Application Virtualization Report Service (App-V Reporting - der Client sendet Daten), eine Komponente, die Anwendungsinformationen (wann wird welche Applikation gestartet) der virtualisierten Anwendungen sammeln kann und in Intervallen an den App-V Reporting Server sendet.
- (Optional) Microsoft Application Virtualization 5.0 Client UI Application (App-V UI) ist eine separate Komponente. In der Regel ist die Konsole nicht für Endbenutzer erforderlich, aber die Bereitstellung der Konsolenanwendung bietet dem Benutzer zusätzliche Kontrolle über die virtuellen Anwendungen, die zuvor autorisiert und ausgeliefert wurden. Eine offizielle Version ist nur für 5.0 und bis Windows 8.1 freigegeben. Durch die interne Nutzung der PowerShell sind jedoch keine Beeinträchtigungen der Funktion unter Windows 10 zu erwarten (funktioniert auch hier). [DL: https://www.microsoft.com/de-de/download/details.aspx?id=41186]
App-V Serverkomponenten:
App-V kann mit vielen Softwareverteilungsprodukten genutzt werden. Das insbesondere durch die PowerShell Schnittstelle, die mit dem Client mitgeliefert wird oder durch das MSI, welches mit jedem Paket mitgeliefert wird. Im MDOP sind die eigenen Serverkomponenten enthalten. Diese ermöglichen eine zentrale Verwaltung der Verteilung von "App-V" Paketen.
Die vollständige App-V 5.x Infrastruktur besteht aus folgenden Serverkomponenten:
- Der App-V Verwaltungsserver (Management Server), wird verwendet, um Anwendungen und Verbindungsgruppen zu definieren, darauf Active Directory Benutzer- oder Computerkontogruppen zu berechtigen und an diese Gruppen zu verteilen. Weiterhin werden gruppenbasierende individuelle Einstellungen pro Paket unterstützt, wie beispielsweise das Erstellen von Verknüpfungen oder Skripte bei der Paketbereitstellung.
- Der App-V Veröffentlichungsserver (Publishing Server) ist als Web Service implementiert, der Konfigurations- und Paketinformationen in Form einer XML an den App-V Client liefert.
- App-V Reporting Server ist eine optionale Komponente (ein Webservice), die Benutzungsinformationen (sogenannte Metering) der virtualisierten Applikationen zentral sammeln und auf einem SQL Server speichert. Dort können mit den Reporting Services u.a. die Nutzung der Anwendungen ermittelt werden.
- App-V Paketspeicher (Content Store), eine einfache Dateifreigabe, die von den Clients verwendet wird, um von dort virtuelle Anwendungen zu streamen. Weiterhin ist es möglich App-V Pakete auch von einem Webserver zu streamen.
Hier die Übersicher einer App-V Umgebung ohne Hochverfügbarkeit:
Quickstart für den einfachen EInsteig
Zunächst benötigen wir ein Windows 10 Education Edition oder Enterpreis bzw. einen Server 2016 / 2019 mit integriertem App-V Client. Dort können wit mit der PowerShell und dem Befehl Enable-AppV den App-V Client aktivieren. Damit ist das System zur Ausführung von App-V Paketen bereit.
Nun benötigen wir ein System zur Erstellung von App-V Paketen. Wir müssen einen Sequencer installieren. Dieser befindet sich seit Windows 1607 im ADK (Assessment and Deployment Kit). Der Installer kann hier für die jeweilige Windows Version heruntergeladen werden: https://docs.microsoft.com/de-de/windows-hardware/get-started/adk-install
Ungeachtet von allen sinnvollen Vorbereitungen empfehle ich den Sequencer aus dem ADK erst einmal zu installieren.
Quickstart-Erstellen eines einfachen Pakets
Als einfaches Paket erstellen wir ein Paket für Mozilla Firefox, hier in der Version 46. Mozilla ist sehr leicht zu paketieren, hat jedoch einige Tücken wie automatische Updates, die zu beachten sind. Gerne kann auch eine andere Version genutzt werden.
1. Das Sequencer-System starten. Im neutralen Zustand einen Snapshot erstellen
2. Die Anwendung Microsoft Application Virtualization Sequencer starten
3. „Neues Anwendungspaket erstellen“ wählen
4. „Paket erstellen“ anklicken
5. Wenn das System korrekt vorbereitet wurde, erscheinen hier keine Warnmeldungen:
6. Im nächsten Dialog „Standardanwendung“ wählen und „Weiter“ drücken
7. Nun den Installer für Firefox 46 über „Durchsuchen“ eintragen und „Weiter“ drücken
8. Als Namen der virtuellen Anwendung Firefox oder Firefox46 eintragen. Wenn der „Weiter“- Button gedrückt wird, startet die Installation.
9. Firefox mit „Standardeinstellungen“ installieren. Das Paket jetzt noch nicht starten. Den Haken dafür herausnehmen. „Fertigstellen“ wählen
10. „Installation abgeschlossen“ anhaken und „Weiter“
11. Im nächsten Dialog kann eine Anwendungskonfiguration durchgeführt werden. Diese wird sich auf die Einstellungen aller Benutzer auswirken, die diese Anwendung benutzen. Beispielsweise die Startseite oder die Menükonfiguration. Hier auf „Mozilla Firefox“ drücken und „Auswahl ausführen“ klicken
12. „Nichts importieren“ und „Weiter“
13. Im Dialog „Firefox nicht als Standardbrowser und nicht bei jedem Start überprüfen“ die Einstellung „Nicht jetzt“ wählen.
14. Legen Sie eine Startseite fest (Menü/Einstellungen). Beispielsweise http://www.andreasnick.com eintragen
15. Automatische Updates deaktivieren
16. Weitere Einstellungen und Einschränkungen
17. Firefox schließen
18. Im Sequencer auf „Weiter“
19. Eventuell aus dem Paket ausgeschlossene Dateien kontrollieren und „Weiter“
20. „Jetzt beenden“ und „Weiter“
21. Paket auf dem „Desktop“ speichern lassen und „Erstellen“ drücken
22. „Schließen“
Quickstart-Bereitstellung und Test des Pakets
Eine sehr positive Funktion beim PowerShell-gestützten App-V 5 Client ist, dass der App-V Client Anwendungen ohne jegliche Infrastruktur ausführen kann. Diese Tatsache macht sich unter anderem auch die SCCM und die Citrix XenDesktop App-V Integration zunutze. Hier werden mit einer kleinen Softwarekomponente die notwendigen PowerShell Commandlets zur Bereitstellung einer Anwendung auf dem Client abgesetzt. Auf diesem Weg kann auch eine alternative Konfiguration der Bereitstellung erfolgen.
Unsere Anwendung Firefox kann nun auf dem App-V Clientsystem mit dem folgenden Befehl bereitgestellt werden:
Add-AppvClientPackage .\Firefox46\Firefox46.appv | Publish- ` AppvClientPackage
PackageId : 72017e9d-470f-45e5-b48a-475f20cd3493
VersionId : 24fc5888-b608-46ea-984a-fd3158049772
Name : Firefox46
Version : 0.0.0.1
Path : C:\Users\a.nick\Desktop\Firefox46\Firefox46.appv
IsPublishedToUser : True
UserPending : False
IsPublishedGlobally : False
GlobalPending : False
InUse : False
InUseByCurrentUser : False
PackageSize : 110777198
PercentLoaded : 0
IsLoading : False
HasAssetIntelligence : False
Genauso leicht kann die App-V Anwendung auch wieder gelöscht oder repariert werden.
# beendet eine App-V Anwendung
Get-AppvClientPackage fire* | Stop-AppvClientPackage
#repariert eine App-V Anwendung
Get-AppvClientPackage fire* | Repair-AppvClientPackage
#Unpublish für den Benutzer
# (entfernt u.a. die Verknüpfungen, was ein Remove-AppvClientPackage nicht macht
Get-AppvClientPackage fire* | Unpublish-AppvClientPackage
#Löschen des Pakets
Get-AppvClientPackage fire* | Remove-AppvClientPackage
Einige Links zum Thema "Für Anfänger":
Downloads:
Meine Präsentation von der TecCon 2017 wie mit minimalen Mitteln App-V in Verbindung mit Windows 10 genutzt werden kann
Information
Erstelldatum
26.11.2017 11:36:37
Änderungsdatum
26.11.2017 11:38:30
Version
1
Dateigröße
862.29 KB
Erstellt von
Andreas Nick
Geändert von
Andreas Nick
Downloads
4.084
Preis
Meine Präsentation von der TecCon zum EInstieg mit App-V
Information
Erstelldatum
26.11.2017 11:38:18
Änderungsdatum
10.04.2020 12:58:01
Version
1
Dateigröße
1.85 MB
Erstellt von
Andreas Nick
Geändert von
Andreas Nick
Downloads
4.584
Preis
Kommentare