Today, we want to talk about a little known feature in Windows Server 2008 R2 that could be described as RemoteApp for Hyper-V. Like Microsoft RemoteApp, it allows users to access a specific hosted application remotely, as opposed to the entire desktop. With RemoteApp, the application runs in the context of a server session; however, RemoteApp for Hyper-V enables remote access to an application running in a Hyper-V VM.
With the advent of Windows 7, some enterprise customers were facing application compatibility issues with line-of-business applications that were specifically written for Windows XP and would not work on Windows 7.
One obvious way to resolve this issue is to run those incompatible applications in Windows XP Mode, a new feature that is available in certain Windows 7 SKUs and which simplifies migration to the new OS by allowing legacy XP applications to seamlessly run in their own context within a Windows 7 environment. Windows XP mode has specific hardware, OS and memory requirements. While this solution works well on newer machines with hardware virtualization support, the hardware requirements for XP mode might be prohibitive for some older PCs.
RemoteApp for Hyper-V allows users to remotely access Windows XP applications from their Windows 7 desktop with no additional hardware requirements.
Here are some examples of applications that will benefit from this feature:
To use this feature, a user connects remotely from a client computer to the VM-hosted application. To host the applications, an administrator sets up a virtual machine with a guest OS on a Hyper-V server hosting the virtual machine.
The client computer must run Windows 7, but the guest OS on the virtual machine can run Windows XP SP3, Windows Vista (with SP1 and above) or Windows 7. For a guest OS running Windows XP SP3, an update is required; for a guest OS running Windows Vista SP1 or above, another update is needed.
There are two ways in which RemoteApp for Hyper-V can be deployed. The first way is the stand-alone scenario, in which all the administrator needs to do is set up a Hyper-V server with virtual machines running a client OS (for example, Windows XP SP3). The administrator would then set up the application and create RDP files that launch this application. A user can connect to the application via a simple Remote Desktop connection using the RDP file.
Here’s how this setup would look:
While this is a simple setup that an administrator can use to pilot the RemoteApp for Hyper-V, it offers no extra efficiency or ability to load balance. One serious drawback of this method is that since only one user can connect to an application at a time, one user connecting to multiple virtual machines effectively blocks out other users.
To get around this problem, the recommended way to install RemoteApp for Hyper-V is over a complete VDI farm or personal virtual desktop setup, including setting up the RD Connection Broker role. An administrator would still need to perform the same manual steps of setting up the application and creating an RDP file, but there are significant advantages to going through the RD Connection Broker. An obvious one is load balancing. In addition, there is increased efficiency, simply because when a user is connected to a virtual machine, all applications launched by that user are redirected to the same virtual machine. Only one user can connect to applications running on a particular virtual machine at a time.
One single user cannot block out an entire farm by holding onto different virtual machines on it at the same time. Until a user’s virtual machine is terminated, redirection is always to the same VM. RD Connection Broker ensures that a user connected to a VM stays connected until logged out.
Here’s how the second setup scenario described above would look (running from a Windows XP SP3 farm, for instance):
Hosting applications in a farm of virtual machines running Windows XP SP3 is a simple way to give multiple people on the domain access to the applications. There is no security filtering for applications on a virtual machine farm. All domain users who have access to the farm will have access to the applications.
If an administrator wants to give only a specific user access to an application, the application should be hosted on a personal desktop. In all cases--farms or personal desktops--an administrator only needs to create an RDP file and hand it over to a user, either via a network share or email.
RemoteApp for Hyper-V is a basic but powerful platform capability which was designed with advanced administrators in mind who are willing to do the manual configuration steps to enable an environment that includes remote access to VM-hosted applications. It serves also as an extensibility point for our RDS partner ecosystem who may want to take advantage of this infrastructure capability and provide additional value-add to RDS customers by streamlining the configuration and expanding the usability and manageability of it. For example, with additional code, it is possible to integrate the RDP files with Remote Desktop Web Access.
Update package for Windows XP SP3:
Update package for Windows Vista SP1 or above:
What are the licensing requirements? Is VECD required? Do the guest OSs need to be licensed? Can any Windows 7 SKU be used on the client machine?
If VECD is not required, what about other VDI solutions like Citrix XenDesktop? Citrix XenDesktop supports publishing an app from a virtual desktop, very similar to RemoteApp for Hyper-V.
How does the licensing for this feature affect other hypervisors? Is this a Hyper-V only licensed feature?
It's not clear how to integrate a VDI pooled RemoteApp with the Connection Broker. Could you detail this scenario?
Some other comments:
- on the client side Win7 is NOT required. RDP7.0 is required. I've tested on a XPembedded thin client updated with RDP7.0 and it works!
- on the guest the application should be added to the TSAppAllowList in the registry
- on the guest the policy "Set time limit for disconnected sessions" should be configured to logoff the user after closing the RemoteApp
Anyway, it's a nice feature, but detailed specs and how-to's are welcome.
Please support CredSSP & NLA (RDP 6.1/7.0) on XP 64-bit. That OS was released in April 2005 and is supported the same as XP SP3 (32-bit).
This works great (we run it already) but it's only useful for stationary users.
Our laptop users are still forced to run legacy apps locally in Win XP mode that, despite using brand new hardware with 4 GB ram on W7 x64, is quite slow (and sometimes /too/ slow).
We are considering an UAG scenario for exposing our RemoteApps externally but this still requires them to be online which isn't always possible.
@ Zoli: RemoteApp on Hyper-V is fully tested and supported only a Win 7 client OS; however, since it uses RDP 7.0, yes, your setup works as expected.
Stay tuned for a detailed SXS coming out after the holidays!
This is so cool!
RemoteApp for Hyper-V is the best!!!
I have installed XP Professional SP3 as a VM in Hyper-v (in Windows Server 2008 R2 Enterprise).
After that I have installed KB961742-v3.exe update in XP Pro SP3.
I have enabled Remote Desktop and can connect using RDP. But when I try to connect to RemoteApp, I get following error:
The remote computer does not support RemoteApp.
I have followed instruction in the following blog to setup remote App and also did regedit in TsAppAllowList to create Applications:
Here what my RDP file has:
BTW: I did same in a Win 7 Ultimate and can connect to remote app fine from a different machine. But cannot connect to XP Pro machine.
Do I need something different for XP (in addition to installing updated that I did)?
Have you installed RDP7 on your XP guest? (kb969084)
Is Intergration Services installed?
Zoli, Thanks for your help. I had not installed kb969084 before. After your reply, I installed it, restarted XP VM but still same problem.
Zoli, would you please show the TSAppAllowList registery entries in your XP system. Thx!
I think you should reapply the kb961742 patch after installing RDP7.
Here is my sample of the calculator TSAppAllowList.
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList\Applications\calc]
Re-applied kb961742 but still same problem. Thanks for your Zoli!
Any tips to get this working with XP SP3 as the guest? I get the same, "The remote computer does not support RemoteApp" error...
Tried with XPMode image from MS running on VirtualPC & no go.
Also tried same vhd on VirtualPC 2007 SP1 & also a no go.
"The remote computer does not support RemoteApp" each time