Windows 2008 Remote App Hangs. Is It Waiting for a Dialog Box?
We have started to see a rise in the number of customers complaining about their hosted applications hanging and becoming unresponsive. On initial investigation the customers application, which could be anything from hosted Sage to a bespoke hosted application would suddenly become totally unresponsive to keyboard or mouse inputs. The only way to get the customer working again with their hosted remote desktop application would be to terminate the session using Remote Desktop Services Manager. The only problem with this is that the customer would lose anything they had been working on, which makes for an unhappy customer.
When the same customer contacted us again with the very same issue we decided to dig a little deeper and what we found was the application wasn’t actually hanging but had presented the customer with a dialog box. (The kind of Yes/No boxes that most applications present at some point) However, what had happened here is the dialog box had been displayed behind the hosted application rather in the foreground.
Because the application is running as a hosted app rather than a hosted desktop you cannot minimize the application to get to the dialog box, nor can you ALT+TAB or open task manager to get to it because doing this brings up iTunes on your local PC and not the
stupid dialog box that you can’t get to.
As we were helping develop the bespoke SQL based hosted application with the customer we could try various programmatic solutions to try and get round the issue. Unfortunately one of these helped but some investigation revealed that this is a known issue with Windows 2008 remote app that had been around for quite some time without any resolution from Microsoft. One of the solutions that had been suggested was to change the following registry key:
What does this mean then: Specifies the time, following user input, during which the system keeps applications from moving into the foreground.
The default setting is 200000 milliseconds which is 200 seconds or just over 3 minutes. If you are as impatient as I am then this is an eternity. Setting the value to 0 will always bring the dialog box to the foreground.
The keen eyed among you will have noticed that this is a user specific setting so needs to be set for every single user that logs into the system and uses the application. If you are using Group Policies then I suggest you use Group Policy Preferences to set this or if you are old school you could create a .REG file that is run each time the user logs into the system.