Windows Server 2008 RemoteApp Architecture
Microsoft’s “Ask the Performance Team” recently posted a new article about the Windows Server 2008 Terminal Services RemoteApp feature. If you have read any of their articles in the past, you know that they do a good job of getting in the “nuts and bolts” of technology. This new article on RemoteApp is no exception. Here is an excerpt from the article:
“There are two executables in particular to be aware of:
- RDPINIT.EXE
- RDPSHELL.EXE
An instance of RDPINIT.EXE runs on the Terminal Server for each users RemoteApp session. RDPINIT.EXE is loaded by USERINIT.EXE as a RemoteApp specific implementation of USERINIT.EXE. RDPINIT.EXE acts as a watchdog to launch RDPSHELL.EXE and monitor process startup and shutdown. RDPSHELL.EXE is the shell that is used instead of EXPLORER.EXE to provide RemoteApp functionality. RDPINIT.EXE monitors the process lifecycle of RDPSHELL.EXE and restarts it in the event that it abnormally terminates. RDPSHELL.EXE loads a set of Windows event hooks onto each user desktop in the session. These event hooks allow RDPSHELL.EXE to monitor the state of all windows on the desktop. When a Remote Application is terminated, the process on the Terminal Server that is associated with that application is terminated. However, the Terminal Server session itself remains in a disconnected state until it is reset by an administrator or the Group Policy setting that defines the time limit for disconnected sessions to remain in that state.”
The article goes on to explain how to publish RemoteApps, as well as some nuances in a 64 bit environment.
Technorati : Architecture, RemoteApp, Seamless, Terminal Services, Windows Server 2008
Del.icio.us : Architecture, RemoteApp, Seamless, Terminal Services, Windows Server 2008
Ice Rocket : Architecture, RemoteApp, Seamless, Terminal Services, Windows Server 2008



Mark Says:
March 7th, 2008 at 4:41 pm
Hey Jason, the new Terminal Services feature RemoteApps is what’s really got the company I work for interested in Server 2008. What we’re wondering specifically though is if there’s any chance RemoteApps will ever work on a Mac (OSX). I know OSX has an RDP client, but I believe protocol 6.0 is required for this to work. What’s your take?
Vlad Samoylenko Says:
May 28th, 2009 at 10:56 pm
I’m totaly agree with previous question.
Can MAC OS client use RemoteApp with it’s own RDP client
Larry Q. Says:
October 16th, 2009 at 8:59 am
The closest you seem to be able to get on the Macintosh is limiting the user to running the single application but you don’t have the ability to share just the application window. For example, take an RDP that you’ve created on the server and copy it to your Mac. Use the Mac Remote Desktop tool to edit that connection file. In the connection properties dialog, click on the Applications Tab. Check the box that reads “Start only the following Windows-based application when you log into the remote computer”. Leave everything else on that tab set to the defaults and then save the RDP file. When this RDP file is then used, you get only the one application but it is displayed inside a window with a black background. You get the ability to limit what apps can be run but don’t have the Window resizing flexibility that you get on a Windows PC.