Symptom

In case you encounter a crash in Royal TS with one of the following:

  • Royal TS crashes, without showing our crash reporter.
  • In the Windows Event Viewer - Application log, you might be able to see a log entry like this:
    Faulting application name: RoyalTS.exe, version: 4.3.61022.10000, time stamp: 0x5bcdaa8a
    Faulting module name: Windows.UI.XamlHost.dll, version: 10.0.17134.319, time stamp: 0xb6116fca
    [...]
    Faulting application path: C:\Program Files (x86)\code4ward.net\Royal TS V4\RoyalTS.exe
    Faulting module path: C:\Windows\System32\Windows.UI.XamlHost.dll
  • The crash happens when a Remote Desktop connection is established (or when auto-reconnect is done in the background)

Explanation

The crash is caused by the Windows DLL "Windows.UI.XamlHost.dll", which is responsible for the "Windows Security" dialog in Windows 10. This dialog is invoked by the Microsoft ActiveX RDP control we use to establish the RDP connections in our application. This is a component shipped with every Windows operating system directly by Microsoft.

More technical background: Once a RDP connection gets opened, the ActiveX RDP control is being initialized by our application. For example, when no or wrong credentials are provided, the said ActiveX control shows the "Windows Security Dialog". Unfortunately this kind of crash cannot be handled gracefully by Royal TS.

Based on our experience, similar crashes can happen because of faulty drivers (especially fingerprint-, graphics- or Thunderbolt-drivers).

Other products (like Microsoft Remote Desktop Manager or even Microsoft Outlook are suffering from these crashes). Microsoft has been made aware of the bug (see: Visual Studio developer community). We are still waiting for Microsoft to fix this. If you are experiencing these crashes, feel free to comment here and let Microsoft know.

Solution

The only workaround so far and preventing the crash, is to provide a valid username and password or configure the Credential Mode of your Remote Desktop connection to use "Credential by name" and specify "?" as credential name (without the double-quotes) to invoke our own credential prompt. If you have setup a group policy to now allow password submission for Remote Desktop connections, there's no workaround.

We're waiting for a fix on Microsoft-side. There is unfortunately nothing we might be able to try preventing Royal TS from crashing in this scenario.

Update from Microsoft

Microsoft acknowledged the bug and according to them, the fix has been approved and it’s making its way to 19H2 at the moment. Afterwards, it will get ported to 19H1 and RS5.