
Understanding Xenocode virtualization technology
Xenocode application virtualization technology allows complex applications to be deployed in lightweight, pre-configured virtual executables that run instantly, anywhere. Xenocode virtualized applications require no setup, configuration, client, or device drivers, are isolated from external DLL and dependency conflicts, and run properly on locked-down desktops.
What is Xenocode virtualization?
Xenocode is a next-generation virtualization technology that allows applications to be deployed in lightweight, pre-configured, single-executable files that execute instantly on any Windows desktop. Unlike hardware virtualization solutions such as VMware and Virtual PC, which emulate the underlying hardware and therefore require an entire copy of the host operating system, Xenocode application virtualization technology emulates operating system features required for application execution. As a result, Xenocode-virtualized applications have essentially the same performance characteristics as native executables, allowing for easy deployment on corporate Intranets, the web, USB keys, or existing infrastructure such as Microsoft SMS, LANDesk, Altiris, ZENWorks, Unicenter, or AppStream
Xenocode application virtualization technology allows IT administrators, system integrators, and software publishers to dramatically reduce the costs and complexity associated with development, setup, configuration, deployment, and maintenance of software applications, and to deploy legacy applications on Windows Vista.
The Xenocode Virtual Operating System
The core of Xenocode virtualization technology is the Xenocode Virtual Operating System. The Xenocode Virtual OS kernel is a lightweight implementation of core Windows operating system APIs, including the filesystem, registry, process, and threading subsystems, completely implemented within the Windows user-mode space. The Xenocode Virtual OS kernel is embedded within each virtualized application executable, allowing virtual applications to be executed without any separate client install, device drivers, or player software.
Applications executing within the Xenocode Virtual OS environment interact with a virtualized filesystem, registry, and process environment, rather than directly with the host device operating system. The virtualization engine handles requests within the virtualized environment internally or, when appropriate, routes requests to the host device filesystem and registry, possibly redirecting or overriding requests as determined by the virtual application configuration:
The Xenocode engine supports both merge and override virtualization semantics, down to individual file and folder granularity. This allows virtual operating system contents to be either entirely isolated from or merged with corresponding locations on the host device. The Xenocode virtualization engine dynamically remaps shell folder locations such as My Documents so that proper application behavior is preserved across different operating system versions and deployment structures.
The Xenocode Virtual OS kernel occupies roughly 400K of disk space uncompressed, with negligible runtime performance overhead. And, because Xenocode transparently compresses all virtual environment data, virtual applications typically consume only half as much disk space as the same application installed directly on the host device.
Xenocode application virtualization versus hardware virtualization
Unlike hardware virtualization systems such as Microsoft Virtual PC and VMware, the Xenocode virtualization system works at the application level and virtualizes only those operating system features required for application execution. This allows virtualized applications to operate extremely efficiently, with essentially the same performance characteristics as native executables.
Comprehensive operating system feature support
Xenocode virtual applications support customization of shell metadata in executables, including customized icons, publisher descriptions, and versions. The Xenocode Virtual OS kernel dynamically remaps shell folders (for instance, the My Documents and Application Data folders) to the appropriate location on each host device. Similarly, registry key values containing explicit path names or prefixes are dynamically remapped to the appropriate values for the executing host device.
Xenocode also fully supports Windows side-by-side (SxS) deployment manifests, should you have applications that use this isolation technology. As an added benefit, virtual applications containing SxS assemblies execute properly on Windows 2000, even though SxS was not implemented in this version of the Windows operating system.
Supported platforms and technologies
The Xenocode Virtual Operating System kernel supports the Windows XP, Windows 2000 and later, Windows Server, and Windows Vista operating systems. Virtual Application Studio creates 32-bit executables, which can be run under 32-bit mode on x64 platforms. Xenocode supports common runtime environments such as the .NET Framework 1.1, 2.0, 3.0, and 3.5, Java 5.0 and 6.0, Flash, and Shockwave.
To simplify runtime and component setup, the Xenocode Virtual Application Studio and Postbuild authoring environments provide one-click configuration of popular runtimes and components.