An Introduction to Terminal Services Remote Programs (Part 1)

by [Published on 11 Oct. 2006 / Last Updated on 11 Oct. 2006]

This article will introduce you to a new type of Terminal Service session called Terminal Services Remote Programs.

If you would like to read the other articles in this series please go to:

When you think of a Terminal Services session, you probably think of a thin client environment in which all of a user’s applications run on a terminal server, and the user’s PC simply acts as a dumb terminal. Although this has traditionally been the case with the Windows Terminal Services, Windows Longhorn Server will offer a new type of Terminal Service session called Terminal Services Remote Programs. Longhorn Server will continue to offer the type of Terminal Server environment that you are already used to, but you will now have the option of using Terminal Services Remote Programs to create a sort of hybrid user environment in which some applications are installed locally and other applications transparently run on a terminal server. Applications running on a Terminal Server provide the illusion of running locally. In this article, I will introduce you to this new Terminal Service environment.

Why Use Remote Programs?

The first thing that you’re probably wondering about Terminal Services Remote Programs is why in the world you would ever want to use them? One possible reason for running Terminal Services Remote Programs is to be able to run an application on a client that would not normally support the application. The way that Terminal Services Remote Programs works, users may have no idea that an application isn’t being run locally.

Of course this still doesn’t answer the question of why you would want to use Terminal Services Remote Programs. Imagine a situation in which you need to deploy a new application, but the user’s workstations are outdated and incapable of running the application. In such a situation, you would normally have two options. One option would be to purchase new hardware for the users, thus allowing them to run the application. The other option would be to deploy a Terminal Services environment and have the users work through a Terminal Services session rather than working off of the computer locally.

There are several problems with switching the users over to a Terminal Services environment. For starters, the organization would have the expense of purchasing a server that can be used to host the Terminal Services, and the expense of the associated licenses. There is also the issue of training the administrative staff on how to manage a Terminal Services environment. Another possible issue is the amount of time that it would take to deploy a full blown Terminal Services environment. Depending on the organization’s business need, and how critical the new application is, waiting for a Terminal Services deployment to be completed might not be an option.

Purchasing new computers for the users is not a perfect solution either. The most obvious issue is the cost of the new computers, which could be significant depending on how many users need new hardware. Another possible issue is the amount of time that it would take the administrative staff to configure the new computers before they are ready to be used.

Using Terminal Services Remote Programs won’t solve all of these problems, but in a situation like this it might be the best solution. Like any Terminal Services environment, you will need a server to host the Terminal Services sessions. However, depending on your organization’s needs, using the Terminal Services to host remote programs probably isn’t going to be nearly as complicated as running a full blown Terminal Services environment.

In a situation like this, you would still have the cost of a server that could be used to host the remote programs, and of course you would need to purchase the necessary licenses. However, depending on how many users have obsolete computers, this might be cheaper than trying to replace a bunch of desktops. Furthermore, using a terminal server to host remote programs should represent less of a learning curve for both the users and the administrative staff than switching to a full blown Terminal Service environment.

A completely different benefit to using Terminal Services Remote Programs is that you can provide access to remote programs over the Internet. The original intention of this feature was so that mobile users could access their applications from anywhere, so long as they have an Internet connection Longhorn server contains a new component called a Terminal Service Gateway, which allows access to either remote programs or to a full-blown Terminal Service session over the Internet (I have already written a series of articles on the Terminal Service Gateway). According to a friend at Microsoft, it is theoretically possible to build your own website, and host an application within it using this technology.

Installing the Terminal Server Role Service

Longhorn Server is designed to be role based. In most cases, configuring the server involves applying a role to the server rather than installing individual components.  Before you can post Terminal Services Remote Programs, you need to apply the Terminal Server role to the Longhorn Server that will be hosting the remote programs.

Before I show you how to apply the Terminal Server roles to the server, there is one thing that I need to mention. At the time that this article was written, Longhorn Server was still in beta testing. As such, it is possible that the technique that I’m about to describe could change by the time that Longhorn Server is released.

Applying the Terminal Server role is fairly straightforward. Begin by selecting the Server Manager command from the Administrative Tools menu. In case you’re not familiar with the Server Manager, it is a new tool in Longhorn Server that you can use to perform most server management tasks.

When the Server Manager opens, select the Manage Roles container from the console tree. When you do, the details pane will display a summary of the roles that are currently installed on the server, as shown in Figure A.

Figure A: When you select the Manage Roles container, the Server Manager will display a list of the roles that are installed on the server

At this point, you must click the Add Roles link found in the console’s Details pane. When you do, Longhorn Server will launch the Add Roles Wizard. Click Next  to bypass the wizard’s welcome screen. You will now see a screen containing the check boxes corresponding to all of the various roles that can be installed, as shown in Figure B. Select  the checkbox corresponding to the Terminal Services role.

Figure B: Select  the checkbox corresponding to the Terminal Services role

Click Next and you will see a brief introduction to the Terminal Services. Since this introduction does not address Terminal Services Remote Programs, just click Next to ignore it. You will now see a screen that displays check boxes corresponding to several other Terminal Service sub-components. None of these sub-components are required to host remote programs, so just click Next.

You should now see a warning message indicating that some applications may not work correctly after installing the Terminal Services. Click Next  to acknowledge this warning and you will be prompted to specify a licensing mode. Choose whatever licensing mode corresponds to the licenses that you’ve purchased and click Next.

You will now see a summary screen that displays the installation options that you’ve chosen. Click the Install button and the Terminal Services will be installed. When the installation process completes, you’ll see a message indicating that the server must be restarted in order for the change to take effect. Click the Close button, and then click Yes when prompted to restart the server.


Now that you’ve installed the Terminal Server role onto the server that will host the remote programs, it’s time to begin configuring the Terminal Services to support remote programs. I will explain how to do so in part two of this article series.

If you would like to read the other articles in this series please go to:

See Also

The Author — Brien M. Posey

Brien M. Posey avatar

Brien Posey is an MCSE and has won the Microsoft MVP award for the last few years. Brien has written well over 4,000 technical articles and written or contributed material to 27 books.


Featured Links