Close

February 20, 2010

RemoteApp for Windows XP and Windows Vista, the missing pieces

You may recall from my last post on RemoteApp, that we can get RemoteApp for Hyper-V works on other platforms too. While it was straight-forward publishing applications from a Windows 7 host, the client would report this error when connecting to Windows XP and Windows Vista hosts:
RemoteAppNotSupported

Kind of annoying, because the original RemoteApp for Hyper-V post on the RDS blog, showed us something cool but left out the important part on how to get it working. Well, thanks to Justin and this comment, I’ve been able to fix the issue and get RemoteApp running on XP and Vista (unfortunately I can’t take any of the credit).

Liam Westley has already done a great job of documenting the complete process for setting up RemoteApp, so for full details go there – I’ll just summarise and fill in the missing pieces.

What You’ll Need

First up there is a set of minimum components that will need to be in place:

Configure the RemoteApp Host

When configuring the host, I’ve been using been using a 1-to-1 setup, I haven’t tested this with pooled virtual desktops yet.

To enable RemoteApp on the host, install the hotfix, then configure the TsAppAllowList key in the registry. In this example, I’ve configured the required entries for running Calculator. Here’s a listing of the registry values I added with the pertinent values highlighted.

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList]
"fDisabledAllowList"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList\Applications\calc]
"CommandLineSetting"=dword:00000000
"RequiredCommandLine"=""
"IconIndex"=dword:00000000
"IconPath"="%windir%\\system32\\calc.exe"
"Path"="C:\\Windows\\system32\\calc.exe"
"VPath"="%SYSTEMDRIVE%\\Windows\\system32\\calc.exe"
"ShowInTSWA"=dword:00000001
"Name"="Calculator"
"SecurityDescriptor"=""

The simplest method of discovering the required registry keys for each RemoteApp entry is to configure the applications on Windows XP Mode or Windows Server 2008 running Remote Desktop Services.

Creating RemoteApp Connections

I’ve originally based the .RDP file on those created by the RemoteApp Manager in Windows Server. There is documentation on TechNet on how to configure RemoteApp programs and creating the .RDP file for each application here: Configuring RemoteApp Programs.

The important entries for connecting to Windows XP and Windows Vista, that you may need to add manually, are disableremoteappcapscheck (set to 1) and alternate shell (set to rdpinit.exe). These were the only additional entries I need to add the .RDP file to get this working. DisableRemoteAppCapsCheck fixes the ‘remote computer does not support RemoteApp’ error, and Alternate Shell makes sure you actually get a published application and not a remote desktop.

An .RDP file to connect to a RemoteApp program then looks like this (the added lines are highlighted):

redirectclipboard:i:1
redirectposdevices:i:0
redirectprinters:i:1
redirectcomports:i:1
redirectsmartcards:i:1
devicestoredirect:s:*
drivestoredirect:s:*
redirectdrives:i:1
session bpp:i:32
prompt for credentials on client:i:1
span monitors:i:1
use multimon:i:1
remoteapplicationmode:i:1
server port:i:3389
allow font smoothing:i:1
promptcredentialonce:i:0
authentication level:i:2
full address:s:winxp1.domain.local
remoteapplicationprogram:s:||calc
remoteapplicationname:s:calculator
remoteapplicationcmdline:s:
alternate full address:s:winxp1.domain.local
disableremoteappcapscheck:i:1
alternate shell:s:rdpinit.exe
screen mode id:i:2
winposstr:s:0,3,0,0,800,600
compression:i:1
keyboardhook:i:2
audiocapturemode:i:0
videoplaybackmode:i:1
connection type:i:2
displayconnectionbar:i:1
disable wallpaper:i:1
allow desktop composition:i:0
disable full window drag:i:1
disable menu anims:i:1
disable themes:i:0
disable cursor setting:i:0
bitmapcachepersistenable:i:1
audiomode:i:0
redirectdirectx:i:1
autoreconnection enabled:i:1
prompt for credentials:i:0
negotiate security layer:i:1
remoteapplicationicon:s:
shell working directory:s:
gatewayhostname:s:
gatewayusagemethod:i:4
gatewaycredentialssource:i:4
gatewayprofileusagemethod:i:0
use redirection server name:i:0

RemoteApp in Action

When launching the RemoteApp program, the UI isn’t quite as seamless as you get with the XenApp client. You will first see a warning prompt if the .RDP file is not signed, and then a dialog box while the client connects:

If the RemoteApp host is Windows XP, the user will be required to click the Details button to see the remote login dialog box and enter their credentials:

If the client is Windows XP or above and the host is Windows Vista or above, you can configure credential pass-through (single sign-on) to make connecting seamless. You must first enable CredSSP on Windows XP SP3 clients. Pass-through won’t work for Windows XP hosts – although you may be able to save the username and password in the .RDP file instead.

So finally with all of the pieces in place, here’s what you’ll see with applications running via RemoteApp. In this screenshot I have Calculator running remotely from Windows XP and Windows Vista next to the local version.

DesktopWithCalculator

One thing to note is that the remote applications are all group together on the taskbar; in this screenshot, the two remote Calculators are grouped with Remote Desktop Connection – users’ won’t see separate remote buttons as you get in competing products.

So What’s Left?

Use of RemoteApp is not restricted to the brand of hypervisor – RemoteApp will be available on Windows XP+ regardless of where it is running. You could, for example, use blade PCs as hosts.

If you have Citrix XenApp or Quest vWorkspace, you already have tools to publishing applications from virtual desktops, so where would this actually be useful? SMBs without either product would benefit (although I have had one enterprise customer ask me about this feature) or perhaps this would work as a replacement for Windows XP Mode if you don’t like Windows Virtual PC (and who does?).

Deploying and managing the .RDP files could be fun. A simple method of deployment would involve the use of Windows Installer packages adapted from those generated by RemoteApp Manager. You could also use your user environment management tool of choice; however the option that holds most promise is extending RD Web Access. Custom code will be required, but it would replace copying .RDP files to users’ desktops and could even support pooled virtual desktops.

Ultimately it would be nice to see this documented on TechNet. Apparently though, the RDS team are working on a follow up post that should give us all the info we need and more.

Update (October 2011)

Kim Knight has written a GUI tool to configure the RemoteApp application and create an RDP file to deliver to clients. This will automate the entire process for you. RemoteApp Tool.

Print Friendly
  • Aaron, thanks for the elusive RDP settings that were causing my XP SP3 virtual machines to refuse RemoteApp connections. I’ve updated my blog post with those settings and will be refreshing the screen shots and testing in VMWare as well as VirtualBox in the next week or so.

    It would have been nice if the patches had come with a brief blog post from the RDP team that detailed how this all worked, and what settings are required.

    Many thanks,

    Liam

  • Synapse Syndrome

    I find that when fDisabledAllowList is set to 1, any program on the host can be run simply by editing the .rdp file, as the registry allow list is disabled. That is very insecure. When the allow list is disabled, remoteapplicationprogram in the .rdp file has to be the full path, without the double pipe to work. I think it is probably working for you because you have added remoteapplicationname to find the key, which I have not added.

    Do you know if Windows Server 2003 can be made to run RemoteApps? Maybe if the XP hotfix is installed in XP Compatibility Mode?

    I would like to add Win7 and XP/RemoteApps to RD Web Access, but I really do not understand the link you gave. Have you tried it?

    Cheers.

  • @Liam, absolutely, a hotfix without documentation doesn’t make much of a solution.

    @Synapse Good point about the value of fDisabledAllowList. I’m unsure about getting this to work on Windows 2003 – setting the hotfix to compatibility mode probably won’t get the hotfix installed if file versions are incompatible.

  • Frank Xia

    Hi, thanks for the great post!
    I setup a RemoteApp between two Win7s – it works great. However I don’t know how to “redirect” local file system to the remote application. That is, if I click File-Open menu in the remoteapp, can it bring up a dialog displaying my local file system instead of server’s? I remember I watched a demo by Citrix and it seems XenApp (or XenDesktop) has this kind of capability. (some users don’t want to save all data in server)

  • Sam

    Hi,
    I am having windows 7 professional 32bit and there is no entry in registry for Terminal Server .
    I want to know can we host remoteapps on windows 7 professional or do we need windows 7 ultimate only to host remote apps or is it available to 64bit version only?

    Thanks

  • Hi Sam, if you don’t see the Terminal Server key you can created using the registry values listed in the example in this post. Windows 7 Professional has Remote Desktop built in, so you should have no problems using it has a RemoteApp host.

  • Sam

    Hi,
    Thanks for replying , i have tried adding registry keys and then creating .rdp as mentione in post above but it is not working. When i execute .rdp from other PC and login details , rdp windows goes off and there is nothing.

    Is there any way to check if Remoteapp host is working fine on win 7 pro ?

    Normal Remote desktop works fine but not remote apps ?

    Can you please help me out with this ?

    Regards

  • Sam

    Hi,
    Has anyone tried running remoteApp on windows 7 professional as host ?

    Regards

  • I haven’t attempted with Professional, but I can give it a test later in the week and let you know what I find. Do you have another edition to test with?

    • Josh

      I don’t have the Terminal Server registry key in my Professional either. I look forward to the results of your test!

  • Sam

    Hi Aaron,
    Thanks for replying, I am only having win 7 profesional and premium editions , as remote desktop is availble in windows 7 pro and not in home premium so i guess remoteapps host(if it works) will work with win 7 pro and not home premium. So i am trying to figure out how to make it work on win 7 pro.

    Also do let me know if there is any other windows feature required to be installed from Program and features or If there is a way to test if Terminal server is working or not.

    I am eagerly waiting for your response and visit this page couple of times in a day to check for your response 😉

    Thanks alot

    Regards

  • Sam

    Hi Aaron
    Have you have tried it on win 7 pro 32bit and were you able to make it work ?

    Regards
    sam

  • Sam

    Is there anyone else who have tried remoteapps on win7 pro 32 bit as host?

  • Hi Sam, until myself or someone else can get around to testing this, I would recommend posting your question in the Remote Desktop forum at TechNet: http://social.technet.microsoft.com/Forums/en-gb/windowsserver2008r2rds/threads

  • If you read the original post from the RDS blog, it states that RemoteApp host is only available in the Enterprise and Ultimate SKUs of Windows 7 http://blogs.msdn.com/rds/archive/2009/12/15/remoteapp-for-hyper-v.aspx. So you won’t be able to get this working on Professional.

    SKU support: RemoteApp for Hyper-V is supported on the following SKUs running as the guest OS:
    – Windows XP SP3: Professional
    – Windows Vista SP1 and above: Enterprise and Ultimate
    – Windows 7: Enterprise and Ultimate

  • inter-rupteur

    Hi all,

    I’m on Seven 64 bits business and i don’t see the Terminal Server key in the registry… So i created using the registry values listed in the example in this post. But it is not working when i connect from a XP to my Seven ! It is working from my Seven to the XP ! I think that the values in the registry of the Seven 64, is not in the good place !!

    Any Idea ?????
    Thanks a lot

  • As mentioned in my last comment, the RemoteApp hosts features are only available in the Enterprise and Ultimate SKUs of Windows 7:

    From here: http://blogs.msdn.com/rds/archive/2009/12/15/remoteapp-for-hyper-v.aspx:

    SKU support: RemoteApp for Hyper-V is supported on the following SKUs running as the guest OS:
    – Windows XP SP3: Professional
    – Windows Vista SP1 and above: Enterprise and Ultimate
    – Windows 7: Enterprise and Ultimate

  • Dpunkt

    Hello,

    thank you for this great Post – now i got the remoteapp windows with the desktop inside: I connect to an xpsp3 host, my client is windows 7 32bit
    I don’t have credssp and don’t want to enter my Credentials every time.

    But why do I get just the Full Desktop below the “REMOTE APP -Starting – Test” and not just a single window?

    mfg

    D.

  • Mike

    Yeah, same thing… Using Win 7 as client and XP SP3 as host, I get the full desktop instead of the seamless window.

    Any ideas ?

    Thanks in advance

    • You’ll be getting the full desktop instead of the RemoteApp window if you have not installed the hotfix (for Windows XP or Windows Vista) or if the settings inside the RDP file are not correct.

  • Pingback: App-V FAQ #18: Can I virtualise Internet Explorer with App-V?()

  • wwwwa

    It worked for me. I have my app with RemoteApp running on a Windows XP as a server, but.. there is a way to publish it in web?