|Virtualization Overview||Virtualization Resources||Application Virtualization Solutions||Application Virtualization Resources|
"Virtualization" is a buzzword with many meanings. Below is an overview of various virtualization types and scenarios.
The virtualization software creates virtualized hardware, in which the guest operating system and its applications run. So there can be multiple "virtual PCs" (pieces of virtualized hardware) running on one physical PC. This type of virtualization, which is commonly used in software and setup development and testing, is covered in more detail in the following chapter.
Products in this category are for example: VMware Workstation and Server, Microsoft Virtual PC and Virtual Server.
In contrast to the previous category, only a single application is executed in a partially virtualized operating system. It's running on the physical hardware and is using most of the resources from the "real" operating system. Application virtualization can be an alternative approach to software packaging and deployment, and it might even be an alternative to setup programs for ISVs. For more details read below and on the Application Virtualization page.
Products in this category include Microsoft SoftGrid (formerly Softricity), Altiris SVS, or Thinstall virtualization suite.
This is a shim that Microsoft introduced in Windows Vista to enable restriction of user rights without breaking too many existing applications. If an application tries to write data into locations like the Windows or the Program Files folder, those write accesses are redirected to a special directory in the user's data folder. This happens transparently so the application doesn't notice. The same happens if the application tries to write to the local machine hive of the registry.
The redirection only happens if User Account Control (UAC) is enabled and it doesn't apply to setup programs. Application developers can avoid this resource virtualization by adding a manifest including the requiredPrivileges element.
The advantage is that older applications that don't follow Microsoft's application development guidelines and best practices still work on Windows Vista. The disadvantage is that these redirected data are kept in a per-user location so the changes of user A are not visible to user B.
According to Microsoft this shim is going to be removed in some future version. So if your application writes to the Windows or Program files folder you better fix it sooner than later.
More information about registry virtualization can be found at MSDN.
Here the application runs in a sandbox and is often not compiled in native machine code but run though an interpreter.
Java and the Visual Basic Virtual Machine fall in this category.
The virtualization software creates virtualized hardware, in which the guest operating system and its applications run. So there can be multiple "virtual PCs" (pieces of virtualized hardware) running on one physical PC. There are actually two sub-types in this category: the virtualization software can either run on a host operating system (VMware Workstation, Microsoft Virtual PC) or directly on the hardware (VMware Server, Microsoft Virtual Server).
The virtual PCs are isolated from each other and from the host operating system, but can communicate via (virtual) network adapters or drive shares, and can access devices on the host machine such as the CD-ROM drive or USB devices (there's no USB support in Virtual PC).
The advantage of this technology is that you can run any operating systems side by side: you can run a Linux and a Windows Vista guest on a Windows XP host for instance. VMware even supports Linux as a host.
Virtual machines can easily be reset to their previous configuration which makes them a great tool for testing software in a reproducible configuration. It also helps to test your (setup) program on older versions of Windows and on different service pack levels. And if your setup wrecked the operating system, just reset and you're ready for another try.
For a systems administrator, running multiple operating systems on one piece of hardware can reduce IT costs by consolidating multiple servers into one machine. Virtual machines can also easily be moved from one physical machine to another, for instance in case of a hardware failure.
The disadvantages of operating system virtualization are the disk space and memory use and CPU load they create. All the virtual machines share the resources of the host machine with each other and with the host itself. Another disadvantage is a result of isolation: by default applications in virtual machines can't read or write to the physical hard disk in a way that the host or other virtual machines can share the data. Also an application running in the virtual machine can't integrate or interact with applications on the host (as an office add-in for instance).
Note that there are ways for an application to detect that it is running in a virtual machine, so that it might refuse to run to avoid by-passing of license enforcement tools. It's also possible that malware behaves differently on virtual machines to make it harder for anti-virus experts to analyze it. Malware authors also found ways to escape the virtual glass tube and to infect the host operating system.
You may also need to acquire additional licenses for each operating system instance you install in a virtual machine, depending on the respective license agreement. Therefore it's typically not an option for ISVs to ship their (Windows) software in form of a virtual machine, because they would have to redistribute the operating system with it. Microsoft however uses this technology to make pre-release builds of products like the next version of Visual Studio (code named Orcas) available for download as virtual disk images.
Application virtualization aims to combine the best of both worlds: the efficiency of locally installed software and the convenience of virtual machines. While the technology has been around for quite some time, it was almost unnoticed. But recently the market is evolving, and you can read about company acquisitions and strategic partnerships frequently.
Application virtualization works by placing an application in a "semi-transparent Petri-dish". The application runs on the local operating system, but its access to the file system and registry gets filtered and redirected to a virtual store on a case-by-case basis. This means that the program can load system DLLs from the real machine, but if it requests a DLL that's specific to the virtualized application, this read access is redirected to the virtual file system. The same is true for registry access.
Benefits compared to operating system virtualization:
Benefits compared to local software installation:
There are various application virtualization solutions available. Some require a client or a server, others are self contained. Streaming support, network bandwidth usage and application startup times are also quite different, as discussed recently in an InfoWorld article.
A related trend is to combine virtualization and Windows Installer (MSI): Microsoft offers a utility which wraps a SoftGrid virtualized application in a .msi file to make it easily deployable with existing systems like SMS. Macrovision's AdminStudio can repackage applications as .msi file or for Citrix Presentation Server and Thinstall, or convert MSI packages to virtual applications.
Software & training available at the InstallSite Shop
Software & training available at the InstallSite Shop
|News||Discussions||Windows Installer||Virtualization||Related Tools||More Help||InstallScript||About InstallSite||Shop||Site Search|
|Neuigkeiten||Diskussionsgruppen||Windows Installer||MSI FAQ||Artikel||Shop||Suche|
Copyright © 1997-2013 by InstallSite Stefan
Krueger. All rights reserved. Legal
By using this site you agree to the license agreement. Webmaster contact