Xenocode Virtual Application Studio
Xenocode ist ein auf Applikationsvirtualisierung spezialisiertes Unternehmen, das 2002 von ehemaligen Microsoft-Ingenieuren in Seattle gegründet wurde. In Deutschland zählen Siemens und Bosch zu den Kunden von Xenocode.
Überblick
Xenocode Virtual Application Studio ist in vielerlei Hinsicht mit VMware ThinApp vergleichbar. Es kommt ohne die Installation eines Clients auf dem Zielrechner aus und bringt auch keine Backend-Komponente für die zentrale Verteilung und Steuerung virtualisierter Anwendungen mit. Grundlage für diesen Beitrag ist die Version 6.1.
Funktionsweise
Der Kern von Virtual Application Studio ist Xenocode OS, ein Mini-Betriebssystem, das über eine kompakte Implementierung einiger zentraler Windows APIs verfügt. Es stellt virtualisierten Anwendungen ein eigenes Dateisystem sowie eine virtuelle Registrierungsdatenbank zur Verfügung und besitzt ein eigenständiges Prozess- beziehungsweise Threading-Subsystem. Xenocode OS führt also die Prozesse der virtualisierten Anwendung aus, wobei Child-Prozesse optional dem Host-Betriebssystem übergeben werden können. Virtualisierte Prozesse sind für Windows unsichtbar. Der Task-Manager zeigt nur den Prozess des Virtualisierungsprogramms an, das Xenocode OS und die virtualisierte Anwendung enthält. Darüber hinaus steuert Xenocode OS den Zugriff auf Host-Objekte, etwa Verzeichnisse außerhalb der virtuellen Umgebung.
Teile des virtuellen Dateisystems und der Registry speichert Xenocode OS beim ersten Start des Virtualisierungsprogramms in einer Sandbox. Ihr Speicherort auf den Host ist konfigurierbar; standardmäßig befindet er sich im Profil des Anwenders. Mit Windows-Tools hat man auch zur Laufzeit keinen direkten Zugriff auf die Objekte der Sandbox. Das Virtualisierungsprogramm liegt in der Regel im Programm-Verzeichnis des Hosts. So können auch mehrere Benutzer eines Computers darauf zugreifen. Die benutzerspezifischen Einstellungen werden in der Sandbox gespeichert, was es jedem Anwender genau wie bei gewöhnlichen Applikationen erlaubt, eigene Konfigurationen vorzunehmen. Arbeitet man mit serverbasierten Profilen, sind diese Einstellungen so netzwerkweit verfügbar.
Isolierungsgrade
Die Art der Isolierung von Dateien und Registry lässt sich bei Virtual Application Studio für jedes Verzeichnis einzeln konfigurieren. Bei Anwendungen, die Schwierigkeiten bei zu rigider Isolierung vom Host-Betriebssystem machen, kann das hilfreich sein. Dabei werden drei Isolierungsgrade unterschieden: Full, Write Copy und Merge.
- Full: Virtuelle Verzeichnisse dieser Art sind vollkommen von Windows abgeschottet. Das heißt, man hat mit Windows-Tools wie dem Explorer keinen Zugriff darauf. Existiert im Verzeichnisbaum des Host-Systems an entsprechender Stelle ein gleichnamiger Ordner, sind die dort liegenden Dateien für die virtualisierte Anwendung nicht verfügbar. Sie kann lediglich auf Dateien im entsprechenden Verzeichnis der virtuellen Umgebung zugreifen. In der Regel isoliert Xenocode OS Programmdateien der virtualisierten Anwendung auf diese Weise.
- Write Copy: Dateien, deren Verzeichnisse mit Write Copy markiert sind und auch auf dem Host existieren, kann die virtualisierte Anwendung lesen; Schreibzugriffe werden jedoch in die Sandbox umgeleitet. Xenocode OS erzeugt dann ein Duplikat der Datei. Typischerweise sind Dateien auf dem Host, die für den Betrieb der virtualisierten Anwendung benötigt werden, als Write Copy markiert.
- Merge: Auf im Merge-Modus virtualisiert Verzeichnisse kann sowohl vom Host als auch aus der virtuellen Umgebung zugegriffen werden. Dateien, die bereits auf dem Host existieren, lassen sich aus der virtuellen Umgebung modifizieren. Xenocode OS reicht die Änderungen dabei an den Host weiter. Dateien, die bei der Virtualisierung der Anwendung erzeugt wurden, bleiben nur in der Sandbox und sind auf dem Host nicht sichtbar. Legt jedoch ein Anwender zur Laufzeit mit der virtualisierten Applikation eine Datei an, speichert Xenocode OS sie auf dem Host. Insbesondere Verzeichnisse, in denen Benutzer ihre eigenen Dateien ablegen, eignen sich für den Merge-Modus.
Erstellung virtueller Anwendungen
Die Erstellung einer virtuellen Anwendung mit Virtual Application Studio lässt sich in vier Phasen unterteilen: Datenerfassung (capture), Nachbearbeitung, Erzeugung des Virtualisierungsprogramms (build) und optional die Erstellung einer Windows-Installer-Datei (MSI).
1. Datenerfassung
Bevor die Anwendung installiert wird, ist ein Snapshot des Master-PCs zu erstellen. Nach der Installation ermittelt Virtual Application Studio die Differenz zum Ausgangszustand und verwendet diese als Grundlage für die virtuelle Registry und das virtuelle Dateisystem. Dabei werden nur die Systembereiche verglichen, die normalerweise bei der Anwendungsinstallation von Relevanz sind. Es besteht auch die Möglichkeit, Snapshots des Gesamtsystems zu erzeugen, was allerdings die Datenerfassung erheblich verlängert.
2. Nachbearbeitung
Virtual Application Studio verfügt über eine gut durchdachte graphische Benutzeroberfläche, mit der sich nach der Datenerfassung Dateien oder Registry-Einträge hinzufügen oder entfernen lassen. An dieser Stelle ist unter Umständen der Isolierungsgrad anzupassen, den Virtual Application Studio für alle Verzeichnisse vorgibt. In der Regel kann man die Standardeinstellungen beibehalten. Darüber hinaus hat der Administrator die Möglichkeit, Dateien zu verstecken. In Dialogfenstern der virtualisierten Anwendung tauchen versteckte Verzeichnisse beziehungsweise Dateien nicht auf.
3. Erzeugung des Virtualisierungsprogramms
Zunächst ist hier eine ausführbare Datei aus der Gesamtliste der zur Anwendung gehörenden Dateien zu wählen. Dieses Programm startet Xenocode OS dann beim Aufruf des Virtualisierungsprogramms. Bei komplexen Applikationen ist es mitunter recht mühsam, das richtige Programm zu finden, weil Virtual Application Studio alle Dateien, also zum Beispiel auch DLLs, auflistet. Der Administrator kann hier auch mehrere ausführbare Dateien wählen. Bei der Erstellung der MSI-Dateien lassen sich diese dann verschiedenen Desktop-Verknüpfungen zuweisen. Beispielsweise ist es so möglich, ein komplettes Office-Paket in ein Virtualisierungsprogramm zu packen. Der Anwender kann dann Textverarbeitung, Tabellenkalkulation etc. wie gewohnt über die entsprechenden Verknüpfungen starten. Nützlich ist der Diagnose-Modus, in dem Xenocode OS zur Laufzeit des Virtualisierungsprogramms alle Schreib-und Lesezugriffe in eine Textdatei protokolliert.
4. Erstellung der MSI-Datei
Zum Start der virtualisierten Anwendung ist im Grunde nur das Virtualisierungsprogramm erforderlich. Die MSI-Datei wird hauptsächlich benötigt, um Verknüpfungen auf dem Desktop beziehungsweise in das Startmenü einzufügen und um der virtualisierten Anwendung Dateiendungen auf dem Host-System zuzuweisen. Letzteres kann aufwändig werden, falls die Anwendung viele Dateitypen unterstützt. Sie sind alle von Hand anzulegen, da Virtual Application Studio nicht in der Lage ist, diese Informationen während der Datenerfassung zu extrahieren.
Verteilung virtualisierter Anwendungen
Installation: Einfachere Anwendungen, für die keine Integration in den Desktop erforderlich ist, kann der Administrator über eine Netzfreigabe oder einen Web-Server bereitstellen. Die Installation auf dem Desktop entfällt in diesem Fall. Auch der Start von externen Datenträgern, wie USB-Sticks, ist möglich. Für komplexere Anwendungen wird man häufig nicht um die Installation der MSI-Datei umhinkommen. Da Virtual Application Studio keine Backend-Komponente mitbringt, müssen die MSI-Dateien mit der Client-Management-Lösung eines Drittanbieters verteilt werden. Die MSI-Datei enthält dabei nicht nur die Einstellungen für die Desktop-Integration, sondern auch das Virtualisierungsprogramm. Das hat den Vorteil, dass sich dieses auch wieder über eine MSI-Datei entfernen lässt. Leider wird bei der Deinstallation mit Hilfe der von Virtual Application Studio erzeugten MSI-Datei nicht auch die zur virtualisierten Anwendung gehörige Sandbox gelöscht.
Aktualisierung: Virtual Application Studio unterstützt die Aktualisierung von virtualisierten Anwendungen. Allerdings muss der Administrator dies schon bei der Erstellung der MSI-Datei berücksichtigen. Mithilfe von Versionsnummern lässt sich steuern, ob eine virtualisierte Anwendung durch eine neue MSI-Datei aktualisiert wird. Die benutzerspezifischen Einstellungen in der Sandbox bleiben bei einem Update erhalten. Alternativ kann der Administrator eine neue Version der virtualisierten Anwendung bereitstellen. Die neue und die alte Version lassen sich dann auch parallel betreiben. Dabei legt Xenocode OS eine weitere Sandbox für die neue Version an, weshalb der Anwender die Applikation dann unter Umständen neu konfigurieren muss.
Xlayer-Komponenten: Möchte der Administrator für verschiedene Benutzergruppen unterschiedliche Einstellungen vorgeben, kann er sogenannte Xlayer-Dateien mit einer virtualisierten Anwendung verknüpfen. Eine Xlayer-Komponente ist eine virtuelle Umgebung ohne Xenocode OS. Sie kann deshalb nur in Verbindung mit einer virtualisierten Anwendung zum Einsatz kommen. Dabei haben Xlayer-Objekte Vorrang gegenüber ihren Pendants in der Applikation, weshalb sie sich auch zum Einspielen von Updates eignen. Einsetzen lässt sich dieses Verfahren ferner, um eine Laufzeitumgebung, wie etwa eine bestimmte Java-Runtime-Version, mit der Anwendung auszuliefern. Virtual Application Studio bringt für einige Laufzeitumgebungen schon die entsprechenden Xlayer-Komponenten mit. Bei Bedarf werden sie automatisch vom jeweiligen Hersteller heruntergeladen. Virtual Application Studio integriert Xlayer-Komponenten in das Virtualisierungsprogramm bei dessen Erzeugung. Sie werden also nicht wie beim Application-Link-Feature von VMware ThinApp zur Laufzeit dynamisch nachgeladen.
Verfügbarkeit
Xenocode Virtual Application Studio ist ab 499 US-Dollar zu haben. Fünf Endanwender-Lizenzen sind darin bereits enthalten. Für jeden weiteren Anwender fallen 40 Dollar an. Die jeweils aktuelle Version von Virtual Application Studio kann innerhalb eines Jahres nach dem Lizenzerwerb kostenlos bezogen werden. Für zusätzliche 10 Dollar gibt es eine Maintenance-Lizenz, die zu einem Preisnachlass von 25 Prozent bei Erwerb einer neuen Version nach Ablauf eines Jahres berechtigt. Xenocode bietet eine vierzehntägige Demoversion zum Download an. Das Produkt wird auch von Novell unter der Bezeichnung ZENworks Application Virtualization Solution vertrieben.
Fazit
Xenocode Virtual Application Studio ist eine einfach zu bedienende Anwendungs-Virtualisierungs-Lösung. Im Gegensatz zu VMware ThinApp lässt sich die gesamte Konfiguration über die komfortable graphische Benutzeroberfläche erledigen. Das Hantieren mit INI-Dateien entfällt also. Administratoren, die Erfahrung bei der Erstellung von Installationspaketen haben, werden die Oberfläche sehr schnell beherrschen lernen. Leider bietet Xenocode kein Streaming von virtualisierten Anwendungen, was insbesondere die Bereitstellung von umfangreichen Anwendungen über das Web erschwert. Auch ThinApps Application-Sync-Feature, das die automatisierte Aktualisierung von virtualisierten Anwendungen erlaubt, fehlt Xenocode. Der größte Vorteil gegenüber ThinApp dürfte Xenocodes deutlich niedrigerer Einstiegspreis sein.
Stärken und Schwächen
- Niedriger Einstiegspreis
- Sehr einfache Handhabung dank komfortabler graphischer Benutzeroberfläche
- Isolierungsgrade lassen sich für jedes Verzeichnis einzeln konfigurieren
- Diagnosemodus erleichtert die Fehlersuche
- Keine Unterstützung von Streaming
- Keine automatisierte Aktualisierung von Anwendungen
- Keine dynamische Verlinkung von virtualisierten Anwendungen zur Laufzeit
- Erstellung von Dateitypenverknüpfungen ist umständlich
Weblinks
Fakten im Überblick
| * Allgemeine Kriterien | |
| Unterstützte Betriebssysteme | 32-Bit2000, 2000 Server, XP, 2003 Server, Vista, PE (eingeschränkt) 64-Bit: Windows XP, Windows 2003, Windows Vista |
| Lizenzmodell | Suite mit 5 Usern, danach einzeln lizenzierbar |
| Lizenkosten | ab 499 US-Dollar |
| * Technik und Architektur | |
| Eingesetzte Protokolle und Technologien | Kein Streaming. Deployment über SMB/CIFS, HTTP, … |
| Unterstützte Betriebssysteme der Applikationen | 32-bit Anwendungen auf 32- und 64-Bit Windows (alle Plattformen) |
| Unterstützte / Nicht unterstützte Applikationen | unter anderem: Anwendungen mit Kernel-Mode-Treibern, 16-Bit und 64-Bit Anwendungen |
| Client-Infrastruktur installationsfrei | Ja |
| Bereitgestellte Pakete updatefähig | Ja |
| Verknüpfung verschiedener voneinander abhängiger Applikationen (z.B. Java-VM oder .Net-Framework) | Ja, mittels Xlayer |
| Mehrere Versionen einer Applikation gleichzeitig | Ja |
| Bandbreitesteuerung beim Streaming | - |
| User-Experience: Handling der Anwendung transparent, z.B. Copy+Paste | Ja |
| Offline-Nutzung möglich | Ja |
| * Administration | |
| Unterstützung bei Paketgenerierung | Ja, Setup Capture |
| Unterstützung bei Publishing/Verteilung | Nein |
| Anwendungen in den Desktop integrieren („publizieren“) | Ja (MSI) |
| Gruppen- und User-spezifische Pakete | Nein |
— Autor: Michael Pietroforte 12.08.2008, 20:41


