Aside from the financial costs, one of the most common complaints about Windows Terminal Services is that it lacks flexibility. Terminal Services generally works really well if you want all users to run a common set of applications on a uniform desktop, but things can get complicated if users have different needs.
An easy way to manage the diversity of user needs is to take advantage of a Windows Server 2008 feature called Terminal Services RemoteApp.
Terminal Services RemoteApp, which I'll call RemoteApp for short, allows Terminal Server to host individual applications without forcing users to work within the confines of a full-blown Remote Desktop session. In fact, users can continue to work in their local Windows desktops, and remotely hosted applications can run seamlessly alongside applications that are locally installed on the desktop. Users would be hard pressed to tell the difference between a local and a hosted application.
The RemoteApp feature allows you to centralize application management without giving up flexibility. Furthermore, RemoteApp is likely to reduce support costs since hosted applications are not actually installed on users' PCs.
Hosting remote applications
You're probably wondering how it is possible to host an individual application outside of a full-blown Remote Desktop session. The key to hosting individual applications is the TS RemoteApp Manager console, which is installed by default with the Terminal Services role service.
To remotely host an application:
- Install the application on your Terminal Server as if you were going to make the application available through Remote Desktop session.
- Next, open the TS RemoteApp Manager and click the "Add RemoteApp Programs" link, found on the console's Actions pane. This will cause Windows to launch the RemoteApp wizard.
- Click Next to bypass the wizard's welcome screen.
At this point, a screen will list the applications available for hosting. Normally, you would select the check box that corresponds to the application you want to host. If the application you want to host isn't listed, click the Browse button and manually select the application's executable file. Click Next.
Click Finish to host the application.
Accessing hosted applications
As you can see, hosting an application on a Terminal Server is easy.
Of course, hosting the application is only half the battle. Your clients still need to have access to the hosted application. The easiest way to do this is to create a Windows Installer package (an .MSI file) for each hosted application.
To create the Windows Installer package:
- Right-click on the hosted application within the TS RemoteApp Manager console
- Select the "Create Windows Installer Package" command from the resulting shortcut menu. This will cause Windows to launch the RemoteApp Wizard.
- Click Next to bypass the wizard's welcome screen.
- You will be taken to a screen that asks for some basic information about the hosted application. For example, this screen asks you which server the application is hosted on, whether or not you want to require server authentication for users who are running the application, and which port number should be used when accessing the application. All of these fields are automatically populated, and unless you want to digitally sign an application or forgo the required server authentication, you can usually just accept the defaults.
- Click Next, and you'll be asked to choose whether you want to create a desktop shortcut for the hosted application and whether the hosted application should appear on the client machine's Start menu. You can even specify which Start menu folder the application should appear within.
This screen also gives you the option of associating client extensions with the remote application. For example, if you were going to be remotely hosting Microsoft Excel, then associating client extensions with the application would mean that Excel would be automatically opened any time a user double clicked on a .XLS file, even though Excel isn't installed locally.
- After specifying the configuration options you want to use, click Next
- Click Finish to create the Windows Installer package. The package will be placed in the server's \Program Files\Packaged Programs folder.
Remotely hosting an application with the RemoteApp feature is easy. You'll still have to run the Windows Installer package on the client computers to allow those computers access to remote applications. You can manually run the Windows Installer packages that you create, but it is usually more efficient to use some sort of automatic deployment mechanism. For example, you might publish the Windows Installer packages through Group Policy settings.
ABOUT THE AUTHOR:
Brien M. Posey, MCSE, is a Microsoft Most Valuable Professional for his work with Exchange Server and has previously received Microsoft's MVP award for Windows Server and Internet Information Server (IIS). He has served as CIO for a nationwide chain of hospitals and was once responsible for the Department of Information Management at Fort Knox. As a freelance technical writer, Posey has written for Microsoft, TechTarget, CNET, ZDNet, MSD2D, Relevant Technologies and other technology companies. You can visit his personal website at www.brienposey.com.