Three Modes of Windows XP Mode
Enhanced Mode and Basic Mode
Windows® XP Mode provides seamless integration of the VM (guest) with the Windows 7 host desktop, by means of Integration Components (ICs). ICs are a set of binaries which run inside the VM and communicate directly with the host OS. They enable Integration Features like clipboard sharing, printer sharing, file system and drive sharing, Start menu integration and file association with virtual apps. This allows the user to switch freely between the XP VM and Windows 7 desktops and applications. You can run Windows XP Mode as a full Windows XP desktop in two different ways: Enhanced Mode and Basic Mode.
- Enhanced Mode is the default mode in which the Windows XP Mode VM starts. Majority of users will prefer this mode, as it is easy to use and provides the complete set of integration features described above. For example, saved credentials feature is provided in Enhanced Mode, so that users don’t have to login each time they launch Windows XP Mode, whereas this is not available in Basic Mode. Enhanced Mode is implemented using a connection channel based on the Microsoft® Remote Desktop Services RDP protocol. One of the options on the VM Toolbar under Tools is ‘Disable Integration Features’ (Figure 1). Clicking on this option switches the Windows XP VM to Basic Mode.
- Basic Mode provides basic integration features such as mouse and keyboard integration, USB support, time sync and heartbeat parity between the VM and the host. Integration features such as clipboard sharing, drive sharing and printer redirection are not available in this mode. This mode is useful for power users in software dev/test scenarios, where explicitly displaying the system level settings and BIOS messages as the VM boots up is important. Apart from these differences, using the Windows XP desktop environment in Basic Mode is similar to using the Enhanced Mode.
Figure 1. Using XP Mode VM Tool Bar to switch between Basic and Enhanced Modes
Virtual Applications: The ‘Invisible’ Third Mode
Virtual Applications Mode is the third mode – a completely seamless solution to application compatibility. This is the most likely and preferable way to launch and run your virtual applications, as they are seamlessly integrated with the Windows 7 desktop and Start menu. When an application is installed in the Windows XP Mode VM, a shortcut is automatically published to the Start menu of Windows 7, as explained in the previous blog. The key features of using virtual applications are:
- Users can launch and run the legacy apps from Windows 7 Start menu and save the files created using virtual apps to their Windows 7 folders (My Documents, for example).
- Files created using such applications have their file association enabled, which means that, clicking the file’s icon shortcut will also launch the required virtual application and open the file.
- Virtual applications’ icons can be integrated with Windows 7 Super bar and the System Tray as well. In Figure 2, Microsoft Forefront™ Security running as a virtual application is shown in System Tray (within a brick red color outline on the Super bar).
- Language bar support is provided for virtual applications. Users can launch a virtual app in their preferred language, and the Language bar would appear on the host desktop (Figure 2), enabling the user to start using the app in the chosen language. You can see the German language bar outlined in a brick red color rectangle in Figure 2, which enabled the use of Internet Explorer® German version as a virtual application.
Figure 2. Language bar use and System tray integration of virtual applications
- Virtual applications running in the VM have the ability to access the host folders such as My Documents.
- Users can also configure the XP Mode VM to access only specified drives on the host.
- A user can simultaneously use multiple virtual applications. They run in the same RemoteApp session started by the first one. As such, opening the second and subsequent applications is very fast.
- Integration features are also available for virtual applications, enabled by the RDP protocol. USB devices can be attached and used from within a virtual application.
- Users can also configure any virtual application to automatically start upon host start-up, by simply adding the virtual application’s published shortcut to the host’s start-up folder. Microsoft Outlook® shown in Figure 3 would start automatically upon Windows 7 start-up. Microsoft Excel® installed as a virtual application is shown in Figure 3 (among a number of virtual apps), as a short cut published under Windows XP Mode Applications. Using this shortcut user can launch the virtual application.
Figure 3. Adding a Virtual App (MS Outlook) to the Windows 7 Startup Folder
Engineering Overview:
Here is an overview of how Virtual Applications work, with a reference to the RemoteApp technology. Diagrams presented below are only a logical abstraction:
- When a legacy application is installed in the VM, it gets added to a list of virtual applications (called the Allow list) whose shortcuts will be published to the Windows 7 Start menu. A Publisher object in the VM retrieves this list of applications from the VM’s Start menu (All user profile). This list changes only when new applications are installed or uninstalled in the VM.
- The VM also maintains another list which should not be auto published (called the Exclude list). This is a static list.
- Windows Remote Desktop Services RDP and RemoteApp technology is adapted to achieve seamless integration of virtual applications with Windows 7. Windows XP Mode VM functions as an RDP remote ‘server’, whereas the Windows 7 desktop serves as the RDP ‘client’ (Figure 4).
- In case of Windows XP Mode, both the Windows XP Mode VM and the Windows 7 desktop co-exist on the same single machine, and are connected to communicate by a guest host communication channel based on RDP (Figure 4; Right). The VM itself is running in the background and is never visible to the user while using virtual applications.
- Application’s GUI from the RemoteApp session is ‘remoted’ and presented to the Windows 7 desktop. Users see and use the virtual application in the same way as they would see a native Windows application. RemoteApp packages the graphics generated in response to user’s keystrokes and mouse clicks and sends them to the Windows 7 desktop where they are displayed.
- Instead of using the RDP file to launch a remote application, user would be clicking on a virtual application of file icon/short cut to launch the virtual application (shown as Excel icon in Figure 4). Vmsal.exe, a WVPC component, mediates the launching of the virtual application. Since there is no actual network involved, this communication is fast and efficient.
- When the user launches a virtual application, Vmsal.exe first starts the XP Mode VM and then establishes a connection to the VM and starts a RemoteApp session. RDP stack components are started in this session. An RDP virtual channel establishes a handshake between the host and the VM. Requests from the host to the VM, initiated via user’s mouse and keyboard inputs, are executed in the VM, similar to how they are executed in case of RemoteApp.
- The RemoteApp logic checks against the allow list and launches the application in the VM.
- Application in the VM creates a window. The window hook notifications are sent to the Windows 7 desktop. A plug-in creates the corresponding proxy window on Windows 7 desktop, and displays the application UI.
- User’s input events are kept forwarded to the VM. When the user closes the virtual application window, the app exits in the VM. The VM is hibernated within 5 minutes after the last virtual application is closed, to conserve host resources. This time is configurable.
Figure 4. Architecture of XP Mode Virtual Applications (Right) compared to RemoteApp Architecture (Left)
In Closing…
There are three ways of using a Windows XP Mode VM. Virtual Apps and Enhanced Mode typically are preferred for business desktops. Windows XP Mode is prepared such that its configuration and setup are easy for the user and IT Admin. Joining the XP Mode VM to a network domain and using USB devices also is very easy. We will cover these aspects in the next article. Check out Windows XP Mode RC Build today, and let us know what you think, either via the comments section here, or sharing your feedback on the WVPC and Windows XP Mode Forum on Technet here.
Prasad Saripalli
Principal Program Manager
Microsoft Virtualization Team
Comments
Anonymous
January 01, 2003
The comment has been removedAnonymous
January 01, 2003
The comment has been removedAnonymous
January 01, 2003
Although XP mode is great and I have been using it with all of my homework applications, none of the programs that I loaded into XP mode are not showing up in the windows 7 start menu. Am I doing something wrong?Anonymous
August 31, 2009
I find myself using the Basic Mode for most of my work, as you say in a software dev/test scenario. And I really wish that I could get Clipboard functionality and the ability to share drives easily as VPC 2007 allowed me to. I know I can map network drives (which is basically what VPC2007 did), however it's nice to have Windows do it for you. But I can't find a way of making the Clipboard work without enabling the fully blown integration. This to be is a backwards step. Despite that, I'm quite impressed and do love the possibilities that all the new functionality brings. I just wish I hadn't lost any old functionality.Anonymous
September 03, 2009
Is it just me, or does the 'Recent virtual machines' jump list off the Windows 7 start bar only show your top X machines alphabetically? I run 42 different VMs and only the top 10 are ever shown. If I increase the 'Number of recent items to display in Jump Lists' setting then I see more, but always the first ones alphabetically, even if I've not run them for weeks.Anonymous
September 03, 2009
I wiped out one of my VPCs except for the vhd. I then made a new vmc with that vhd and everything seems fine, but the published apps aren't showing up again in my start menu. Is there some way to refresh this? All my settings seem right and it used to work with the same VHD. ThanksAnonymous
September 03, 2009
The comment has been removedAnonymous
September 07, 2009
Guys, when RTM bits are due to arrive? Thank youAnonymous
September 07, 2009
Just to follow-up... re-installing the RemoteApp update seemed to correct my App publishing issue.Anonymous
September 08, 2009
Microsoft confirms the launch date of its newest version of Windows october 22Anonymous
September 10, 2009
I am running Shoretel 7.5 in windows xp mode RC as an application. When I move the call manager towards the edge of the screen the program disappears and I can no longer start it nor see that it is running. I have tried alt-tab also, though it does not show as running. If I do not move it towards the edge it acts correctly.Anonymous
September 10, 2009
Going over it, I find that it is only going to moderately help. This doesn't help with 64bit compatibility as it is only a 32bit OS. Unless i missed something and there is a 64bit version of the XP mode install. I am also interested in the answer the the question posted earlier about antivirus and updates.Anonymous
October 23, 2009
"...User’s input events are kept forwarded to the VM. When the user closes the virtual application window, the app exits in the VM. The VM is hibernated within 5 minutes after the last virtual application is closed, to conserve host resources. This time is configurable..." Where do we configure this app idle time from? I cannot see such an option? Is it .vmc option? Thanks, PetarAnonymous
November 13, 2009
Hello. I want know how I can share an installed printer (32bit) on VM to host machine (Windows 7 64bit).Anonymous
November 21, 2009
Prasad, I am trying to use XP mode to use Smarthome manager. This requires it to communicate with a USB device that plugs into a wall socket. The Smarthome software works fine with the same computer when I had XP installed but in XP mode under windows 7. Do you have any suggestions or will I have to use an XP machine with the program? Thanks RonAnonymous
January 23, 2010
What is the hardware of the virtual XP? Is it exactly the same as that of the Windows 7? If so, does an app in virtual XP have the same 3D acceleration as the host?Anonymous
February 16, 2010
How about drivers (Trust tablet) that do not exist for the 64 bit windows 7, will the original drivers installed in the xp mode VPC enable use of the tablet in programs installed in the xp mode?Anonymous
February 18, 2010
I LOVE this feature. I do have a question. Is there a way to run a host apllication in the virtual PC. Example. I install Office 2007 in Windows 7. It is the same application for Windows XP. How do I use it in the Virtual PC. I found one issue. Using Cisco VPN it works well in the Enhanced mode, but does not work on the Virtual Applications: The ‘Invisible’ Third Mode. It looks like it works but I cannot reach the servers after successfully connecting to the VPN. It does not bother me too much though...Anonymous
March 12, 2010
Howdy from TX! I have a need to run some XPMode apps in AD Integrated Authentication mode, and I have found some other posts stating that the XPMode VPC can be joined to an AD domain. I haven't actually been successful in doing this myself -- unable to get the XPMode VPC to see/join the domain. I noticed the VPC is using a 192.186.x.x ‘virtual’ IP subnet which is not the same as the IP subnet of the host Win7 system's LAN NIC. Can this be changed in the XPMode VPC via the VPC Manager without issues? Or is there another way to get the 'integration' functionality to see the Win7 Host system LAN connections in order to find the AD server and join/credential to the domain? I have tried the usual trickery including adding manual HOSTS file entries to the XPMode VPC to no avail. Suggestions greatly appreciated… Thanks, Bill C.Anonymous
April 17, 2010
The comment has been removedAnonymous
April 30, 2010
I use Virtual PC / XPM for work and accessing multiple client VPNs. Unfortunately, Microsoft's use of RDP for virtualization creates an issue connecting to VPN's that restrict connections from remote computers. In my case, all connections using Cisco Anyconnect is sacrificed. Thanks MS (and Cisco)! I'm now 50% less productive.Anonymous
July 22, 2010
Does anyone out there know if there a way to change the screen resolution on the Virtual PC in XP Mode? When I go to the display properties in the running virtual XP machine, it is fixed at 1360x766 and won't allow me to change it. I tried shutting down the VM, but the settings don't have a display option. I have an application that requires 1024x768 which gives me an error message stating that I need to change the resolution or it won't launch. If you know how I can change the resolution on the Virtual PC in XP Mode, please email me at debbie.collins@usa.net. Thanks!Anonymous
September 03, 2010
The screen resolution in XP Mode appears to be fix according to the screen resolution of the host machine. To increase your XP Mode resolution you can do one of several things: increase the resolution on the host machine, use a higher resolution monitor, or add a second monitor. If you add a second monitor the resolution in XP Mode will be the sum of both screens in one direction and the total size in the other direction. This means that if the monitors are side by side and the same resolution the XP mode horizontal resolution will be twice that of one monitor and the veritical resolution will be the same as either monitor. Now if one of the monitors is configured in Windows 7 to be slightly above or below the other monitor XP Mode's vertical resolution will be the sum of one of the monitors plus the difference between the postitions of the monitors.Anonymous
September 07, 2010
I'm having a problem with file association. I see your article says it should work, but for some reason it doesn't. If the file association isn't automatically created, is there a way to manually add it?Anonymous
September 15, 2010
hi. i got fine window 7 computer in my company, however we need to use a program which only can use window xp pact 2. how could run virtual window xp in pact 2?Anonymous
September 27, 2010
Why does Virtual Application / Invisible mode only works under administrator's account? I' mean, one must be logged in using user name 'Administrator' and not just any account with administrative privileges on the host. It is unreasonable to give out domain administrator password to users that need to run some legacy applications. Is there a workaround to make Virtual Application / Invisible mode to work for any user account with restricted rights?Anonymous
March 06, 2011
running xp fine. my apps insist i go to win7 All is fine but my programs will not run now.I have no cd or dvd recorders I down loaded the latest drivers for both but the are not available in win 7 I tried virtual pc and xp .but when I try to apply the apps that I downloaded . Virtual pc wants me to install the program from a floppy (4,379)from a floppy? get real NO CD OR DVD to install from Help me please I am completely broke from all the upgrades I had tobuy to grt this computer up to date for win7 Thank You (broke) godfatherAnonymous
March 07, 2011
My name is John. Recently, I bought a new computer system with Windows 7 Ultimate 64-bit that was custom built. I seek for help on how to setup Windows XP Mode and Windows Virtual PC programs. I installed Windows XP Mode and Windows Virtual PC programs in my C drive. But, I have been having trouble with learning how to set its settings up in a specific way. There no document instruction appears in my Windows 7 Start Menu. Last month, I created a Virtual Hard Disk in a wrong way. By this, my Virtual Hard Disk won’t let me to access any of my physical hard drives or folders. I don’t fully understand how to change it. If you can help me with my problems, please respond to this post. Then, I would describe my problems. Thank you very much!Anonymous
March 14, 2011
Bill C to join a xp Mode computer ti a domain you must make the windows xp mode windows small then click on tools then settings then change the network adapter from shared nat to the network adapter that is connected on the windows 7 host or click on the windows vertual pc icon in all programs then click xp mode then settings then network then click shared nat and change it to the network adapter that is connected on the win 7 host it will take 30 seconds to get the ip from the dhcp server then you can use the static ip setting just like the win xp pro from before xp mode came outAnonymous
March 25, 2011
To John Byrd, I want to have a full access to everything on my physical computer from the Virtual Machine of Windows XP Mode. This included installing any programs for XP onto my physical hard drives from the Windows XP Mode environment. What I need to do by steps to make it happen? John CTAnonymous
September 27, 2011
I want to run Rbase a 1980's Database program in XP mode. Since this is a 16bit DOS program, I run it now in XP via a Pif shortcut on my desktop which launches a BAT file. Will I be able to create a working short cut to this pif on my Win7 desktop?Anonymous
September 28, 2011
How do I get the XP Virtual Machine to run on my new Fujitsu AH531 Notebook? It downloads, but is not seen on the programs list. Yes, I enabled hardware virtualization mode in Bios setup.Anonymous
November 07, 2011
Welcome to Kryoco Technology, home of the miniFreeze! Kryoco offers Powerpoint Clicker, Live PowerPoint Presentation and more for best price.Anonymous
May 01, 2012
I have a Lenovo ThinkCentre and I was able to get XP Mode to run but after installing my first program in XP mode I don't see it on my Windows 7 Start Menu to run seamlessly?Anonymous
March 20, 2014
Is there a way to connect to a remote location directly from the XP virtual pc? - My host computer (where the virtual pc is installed) has a network drive pointing to computer X. I need to access that drive from the virtual pc, but it has to be done directly to computer X and not through the host computer. I tried to add it to the network drives on the virtual PC, but of course the IP address of computer X is not reachable.
Thanks.Anonymous
March 20, 2014
Found it. Just need to run the network through the host's network card instead of NAT.Anonymous
June 11, 2014
How can I get my virtual machine to save my customised toolbar in Excel.
Everytime I shut the system down, it deletes my customised toolbar
Any suggestions?Anonymous
January 03, 2016
KrojamSoft FilesSearch Tool helped me in this case.Anonymous
January 19, 2016
ho ho ho!