Host RemoteApps from Windows PCs (Part 1)

by [Published on 6 June 2013 / Last Updated on 5 July 2013]

This article looks at the benefits of launching a RemoteApp versus using the app in a traditional Remote Desktop session.

If you would like to read the next part of this article series please go to Host RemoteApps from Windows PCs (Part 2).

Introduction

RemoteApp is a feature of Windows Remote Desktop that allows individual programs to be remotely accessed via the Remote Desktop Protocol (RDP). Instead of seeing the host’s entire desktop, remote users see just the program when launching a RemoteApp.

Though it appears as Microsoft only officially supports the hosting of RemoteApps on Windows Server 2008 and later with Terminal Server, with some modifications you can host them from the client versions of Windows XP and later that support traditional Remote Desktop hosting. And Microsoft actually uses RemoteApp for running individual programs with the Windows XP Mode of Windows 7.

Launching a RemoteApp versus using the app in a traditional Remote Desktop session has some real benefits. For instance, if all you need from the remote or virtual machine is a program then launching it as a RemoteApp is more user-friendly; you can minimize, maximize, and it appears on the taskbar like any other running program.

Host Requirements

The PC hosting the RemoteApps can be running Windows XP SP3, Windows Vista SP1+, Windows 7, or Windows 8. RemoteApps are hosted via the Remote Desktop Protocol (RDP) like Remote Desktop, so the Windows edition needs to be one that supports incoming Remote Desktop connections, such as the Professional, Business, Enterprise or Ultimate editions.

To host RemoteApps on Windows XP and Vista, you’ll need to install updates. If needed, downloads are available for Windows XP and Windows Vista.

Client Requirements

The client computers you use to access the RemoteApps can be Windows XP SP3, Windows Vista SP1+, Windows 7, or Windows 8. But for Windows XP and Vista, the Remote Desktop Connection client software must be upgraded. If needed, downloads are available for Windows XP and Windows Vista.

Enable Remote Desktop Connections

Like when hosting traditional Remote Desktop sessions, you must enable remote connections on the PC you’re going to host the RemoteApps with.

In Windows Vista and later, click Start, right-click Computer and select Properties. Then on the System window, click the Remote settings link on the left. And on the System Properties window, select one of the choices in the Remote Desktop section. If you only plan to have Windows Vista and later computers connecting, choose the more secure option with Network Level Authentication.

Configure the PC Firewall

When enabling remote connections Windows should take care of opening up the Windows Firewall on the PC, but if you have a third-party firewall you may have to allow the connection the first time a remote connection is attempted. Or you can manually open the TCP port 3389.

Configure the Network Router/Firewall

To enable Remote Desktop or RemoteApp connections via the Internet you must configure your network router to forward TCP port 3389 to the local IP address of the hosting PC. Some routers call this port forwarding while others might call it something like virtual server settings. Additionally if you have a separate network firewall you might have to open up TCP port 3389 there as well.

Use the RemoteApp Tool to Configure RemoteApps

To host RemoteApps with client versions of Windows you must edit the Registry. However, there’s a utility called RemoteApp Tool that offers a GUI to do this. Simply download, unzip, and run the program.

If you receive errors try running the program with elevated permissions: right-click it and select Run as administrator.

Ensure you check the RemoteApp host enabled option. And then click Create new and enter a Short Name. Then select the icon from the top to at least enter the Path to the desired program and click Save to apply the settings.

For each individual RemoteApp you configure you can create a RDP file to use when remotely connecting. Simply select the desired RemoteApp icon, enter the Internet IP address of where the host PC is connected in the server addressfields if you want to connect via the Internet, and click Create RDP file on the bottom.

Edit Registry to Configure RemoteApps

You can also edit the Registry to turn on and configure RemoteApp support. Maybe manually configure a single PC or create .reg file with the changes to run on multiple PCs. Whatever the case, I’ll share what changes and additions need to be made.

To enable RemoteApp support you must modify the fDisabledAllowList value:

Hive: HKEY_LOCAL_MACHINE
Key:
 SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList
Name:
 fDisabledAllowList
Type:
 REG_DWORD
Value:
 1 Enable, 0 Disable

Then you need to create a new key named Applications:

Hive: HKEY_LOCAL_MACHINE
Key:
 SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList
Name:
 Applications
Type:
 Key

Next you need to create a new key inside Applications for each application you want to host as a RemoteApp named to describe the RemoteApp:

Hive: HKEY_LOCAL_MACHINE
Key:
 SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList\Applications
Name:
 (short name for the application you want to host as a RemoteApp)
Type:
 Key

Then you must at least create a string value named Path for each application to point to the application you want to host as a RemoteApp:

Hive: HKEY_LOCAL_MACHINE
Key:
 SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList\Applications\application_name
Name:
 Path
Type:
 REG_SZ

Then for each application you can optionally add additional string values (REG_SZ):

  • IconPath
  • Name
  • RequiredCommandLine
  • SecurityDescriptor
  • VPath

And optional DWORD values for each application:

  • CommandLineSetting
  • IconIndex
  • ShownInTSWA

What’s Next

In this part we discovered how Windows client PCs can also host RemoteApps via RDP, similar to what Windows Servers offer. Once you enable remote connections and configure the firewall and router you can use the RemoteApp Tool or make manual Registry modifications to enable RemoteApp connections and setup individual programs to remotely access.

In Part 2 of this two-part tutorial we’ll see how to manually create RDP files to use when connecting to RemoteApps and how to setup a web interface offering shortcuts to RemoteApps, similar to TS Web Access.

If you would like to read the next part of this article series please go to Host RemoteApps from Windows PCs (Part 2).

Featured Links