I am having an issue with RemoteApp through a Remote Desktop Gateway. The Remote Desktop Server and Gateway services are running on the same server running Windows Server 2012. The client is Windows 7 Professional. For the gateway web site, HTTPS is enabled, HTTP is disabled. UDP is also enabled on the gateway. Does not seem to be a network/firewall issue, but I could reconsider if this is a known explanation for this problem.

For this test, the application to be run is calc.exe.

  1. Run the .rdp file. It prompts me with the certificate info, I click Connect, enter credentials, click OK. It connects and shows the calculator.
  2. Close the calculator.
  3. Wait for the connection to time out and drop from the Remote Desktop Server (e.g., a couple minutes). This can be verified in Server Manager.
  4. Run the .rdp file. It prompts me with the certificate info, I click Connect. The certificate window disappears, but nothing further happens. The calculator does not launch.

It seems as if the client and server are in disagreement whether there is a usable connection still established.

No error message is displayed, and I could not find any error message in client or server event logs. Even if one waits many minutes thinking a timeout-related error message will eventually appear, none does. If I use Task Manager to end all instances of mstsc.exe, it will work again.

Hopefully, someone has seen these symptoms before!

The contents of the .rdp, with sensitive parts removed:

redirectclipboard:i:1
redirectprinters:i:0
redirectcomports:i:0
redirectsmartcards:i:0
devicestoredirect:s:
drivestoredirect:s:
redirectdrives:i:0
session bpp:i:16
prompt for credentials on client:i:1
span monitors:i:1
use multimon:i:1
remoteapplicationmode:i:1
server port:i:3389
allow font smoothing:i:1
promptcredentialonce:i:1
videoplaybackmode:i:0
audiocapturemode:i:0
gatewayusagemethod:i:1
gatewayprofileusagemethod:i:1
gatewaycredentialssource:i:0
full address:s:REMOVED.DOMAIN.LOCAL
alternate shell:s:||calc
remoteapplicationprogram:s:||calc
gatewayhostname:s:rdp.removed.com:removed
remoteapplicationname:s:calc
workspace id:s:REMOVED.DOMAIN.local
use redirection server name:i:1
audiomode:i:0
authentication level:i:0
username:s:DOMAIN\
alternate full address:s:REMOVED.DOMAIN.LOCAL
signscope:s:Full Address,Alternate Full Address,Use Redirection Server Name,Server Port,GatewayHostname,GatewayUsageMethod,GatewayProfileUsageMethod,GatewayCredentialsSource,PromptCredentialOnce,Alternate Shell,RemoteApplicationProgram,RemoteApplicationMode,RemoteApplicationName,Authentication Level,AudioMode,RedirectDrives,RedirectPrinters,RedirectCOMPorts,RedirectSmartCards,RedirectClipboard,DevicesToRedirect,DrivesToRedirect
signature:s:REMOVED

Solution 1:

"Wait for the connection to time out and drop from the Remote Desktop Server (e.g., a couple minutes). This can be verified in Server Manager."

Is the disconnect verified on the client as well? Windows 7 will attempt to reconnect to a disconnected server for a default of 20 times, but those 20 times start when you activate the RDP window.

It is possible that the rdp connection isn't actually timing out for the client, and so when you "reconnect" the rdp sessions are queueing on top of each other.