RDM 2026.2.18.0 works fine
RDM 2026.3.2.0 crashes when trying to establish a RDP connection to a remote host.
Crash summary: RDM crashes with an unhandled exception while instantiating the RDP ActiveX COM control (RdpActiveXSession.CreateComInstance), triggered when the user double-clicks a connection entry to open an embedded RDP session. The exception happens during Avalonia's native control host attachment (layout/measure pass), not during actual RDP protocol negotiation - so this fails before any connection is even attempted.
Here is the record from the application event log - event 1026 .NET Runtime:
Application: RemoteDesktopManager.exe
CoreCLR Version: 10.0.1126.37416
.NET Version: 10.0.11
Description: The process was terminated due to an unhandled exception.
Stack:
at Devolutions.MsRdpEx.Avalonia.RdpActiveXSession.CreateComInstance(IntPtr, System.Guid)
at Devolutions.MsRdpEx.Avalonia.RdpActiveXSession+<>c__DisplayClass78_0.<Start>b__0()
at Devolutions.MsRdpEx.Avalonia.RdpActiveXSession.WithAxNameEnvironment[[System.IntPtr, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]](System.String, System.Func`1<IntPtr>)
at Devolutions.MsRdpEx.Avalonia.RdpActiveXSession.Start(IntPtr, Int32, Int32, System.Guid, System.String, System.String)
at Devolutions.MsRdpEx.Avalonia.RdpClientView.StartSession(IntPtr)
at Devolutions.MsRdpEx.Avalonia.RdpClientView.CreateNativeControlCore(Avalonia.Platform.IPlatformHandle)
at Avalonia.Controls.NativeControlHost.<UpdateHost>b__18_0(Avalonia.Platform.IPlatformHandle)
at Avalonia.Win32.Win32NativeControlHost.CreateNewAttachment(System.Func`2<Avalonia.Platform.IPlatformHandle,Avalonia.Platform.IPlatformHandle>)
at Avalonia.Controls.NativeControlHost.UpdateHost()
at Devolutions.MsRdpEx.Avalonia.RdpClientView.OnAttachedToVisualTree(Avalonia.VisualTreeAttachmentEventArgs)
at Avalonia.Visual.OnAttachedToVisualTreeCore(Avalonia.VisualTreeAttachmentEventArgs)
at Avalonia.Controls.Control.OnAttachedToVisualTreeCore(Avalonia.VisualTreeAttachmentEventArgs)
at Avalonia.Visual.SetVisualParent(Avalonia.Visual)
at Avalonia.Visual.SetVisualParent(System.Collections.IList, Avalonia.Visual)
at Avalonia.Collections.AvaloniaList`1[[System.__Canon, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].Add(System.__Canon)
at Avalonia.Controls.Presenters.ContentPresenter.UpdateChild(System.Object)
at Avalonia.Controls.Presenters.ContentPresenter.ApplyTemplate()
at Avalonia.Layout.Layoutable.MeasureCore(Avalonia.Size)
at Avalonia.Layout.Layoutable.Measure(Avalonia.Size)
at Avalonia.Layout.Layoutable.MeasureOverride(Avalonia.Size)
at Avalonia.Layout.Layoutable.MeasureCore(Avalonia.Size)
at Avalonia.Layout.Layoutable.Measure(Avalonia.Size)
at Avalonia.Controls.Grid.MeasureCell(Int32, Boolean)
at Avalonia.Controls.Grid.MeasureCellsGroup(Int32, Boolean, Boolean, Boolean ByRef)
at Avalonia.Controls.Grid.MeasureOverride(Avalonia.Size)
at Avalonia.Layout.Layoutable.MeasureCore(Avalonia.Size)
at Avalonia.Layout.Layoutable.Measure(Avalonia.Size)
at Avalonia.Controls.Presenters.ContentPresenter.MeasureOverride(Avalonia.Size)
at Avalonia.Layout.Layoutable.MeasureCore(Avalonia.Size)
at Avalonia.Layout.Layoutable.Measure(Avalonia.Size)
at Avalonia.Layout.Layoutable.MeasureOverride(Avalonia.Size)
at Avalonia.Layout.Layoutable.MeasureCore(Avalonia.Size)
at Avalonia.Layout.Layoutable.Measure(Avalonia.Size)
at Avalonia.Controls.Border.MeasureOverride(Avalonia.Size)
at Avalonia.Layout.Layoutable.MeasureCore(Avalonia.Size)
at Avalonia.Layout.Layoutable.Measure(Avalonia.Size)
at Avalonia.Controls.Presenters.ContentPresenter.MeasureOverride(Avalonia.Size)
at Avalonia.Layout.Layoutable.MeasureCore(Avalonia.Size)
at Avalonia.Layout.Layoutable.Measure(Avalonia.Size)
at Avalonia.Controls.Border.MeasureOverride(Avalonia.Size)
at Avalonia.Layout.Layoutable.MeasureCore(Avalonia.Size)
at Avalonia.Layout.Layoutable.Measure(Avalonia.Size)
at Avalonia.Layout.Layoutable.MeasureOverride(Avalonia.Size)
at Avalonia.Layout.Layoutable.MeasureCore(Avalonia.Size)
at Avalonia.Layout.Layoutable.Measure(Avalonia.Size)
at Avalonia.Controls.Presenters.ContentPresenter.MeasureOverride(Avalonia.Size)
at Avalonia.Layout.Layoutable.MeasureCore(Avalonia.Size)
at Avalonia.Layout.Layoutable.Measure(Avalonia.Size)
at Avalonia.Layout.LayoutManager.Measure(Avalonia.Layout.Layoutable)
at Avalonia.Layout.LayoutManager.ExecuteMeasurePass()
at Avalonia.Layout.LayoutManager.InnerLayoutPass()
at Avalonia.Layout.LayoutManager.ExecuteLayoutPass()
at Devolutions.AvaloniaUI.Docking.DockingHostView.SynchronizeSelection()
at Devolutions.AvaloniaUI.Docking.DockingHostView.SynchronizeActiveDocument()
at Devolutions.RemoteDesktopManager.AvaloniaUI.ViewModels.Docking.DockingHostViewModel.Workspace_OnDocumentActivated(System.Object, Devolutions.RemoteDesktopManager.Forms.SessionDocumentEventArgs)
at Devolutions.RemoteDesktopManager.Forms.SessionDocumentWorkspace.Add(Devolutions.RemoteDesktopManager.Managers.IFormConnectionContainer, Int32)
at Devolutions.RemoteDesktopManager.Forms.FrmMainDocumentManager.AddDocument(Devolutions.RemoteDesktopManager.Managers.IFormConnectionContainer, System.String, Devolutions.RemoteDesktopManager.Business.OpenConnectionParameter)
at Devolutions.RemoteDesktopManager.Managers.EmbeddedViewManager.OpenEmbedded(Devolutions.RemoteDesktopManager.Managers.ConnectionEngine, Devolutions.RemoteDesktopManager.Frames.Embedded.IEmbeddedSession, Devolutions.RemoteDesktopManager.Business.Connection, Boolean, Devolutions.RemoteDesktopManager.Business.OpenConnectionParameter, System.Drawing.Image, System.Drawing.Image, System.String, System.Nullable`1<Devolutions.Images.ImagePaletteType>, System.String)
at Devolutions.RemoteDesktopManager.Managers.EmbeddedViewManager.Open(Devolutions.RemoteDesktopManager.Managers.ConnectionEngine, Devolutions.RemoteDesktopManager.Business.Connection, Devolutions.RemoteDesktopManager.Frames.Embedded.IEmbeddedSession, Boolean, Devolutions.RemoteDesktopManager.Business.OpenConnectionParameter, Boolean, System.Drawing.Image, System.Drawing.Image, System.String, System.Nullable`1<Devolutions.Images.ImagePaletteType>, System.String)
at Devolutions.RemoteDesktopManager.Business.Connectors.EmbeddedConnector.Connect(Devolutions.RemoteDesktopManager.Business.Connection, Devolutions.RemoteDesktopManager.Business.OpenConnectionParameter)
at Devolutions.RemoteDesktopManager.Managers.ConnectionManager.OpenConnection(Devolutions.RemoteDesktopManager.Managers.ConnectionEngine, Devolutions.RemoteDesktopManager.Business.Connection, Devolutions.RemoteDesktopManager.Business.OpenConnectionParameter)
at Devolutions.RemoteDesktopManager.Managers.ConnectionManager.OpenConnections(Devolutions.RemoteDesktopManager.Managers.ConnectionCollection, Devolutions.RemoteDesktopManager.Business.OpenConnectionParameter, Boolean)
at Devolutions.RemoteDesktopManager.Managers.ActionManager.DoOpenConnection(Devolutions.RemoteDesktopManager.Managers.ConnectionCollection, Devolutions.RemoteDesktopManager.Business.OpenConnectionParameter, Devolutions.RemoteDesktopManager.IConnectionSource)
at Devolutions.RemoteDesktopManager.Managers.ActionManager.OpenOrExecuteConnections(Devolutions.RemoteDesktopManager.Managers.ConnectionEngine, Devolutions.RemoteDesktopManager.Business.Connection[], Devolutions.RemoteDesktopManager.OpenConnectionMode, Devolutions.RemoteDesktopManager.IConnectionSource, Boolean)
at Devolutions.RemoteDesktopManager.Frames.NavigationPaneController.InvokeConnectionTreeEntryAction(Devolutions.RemoteDesktopManager.AvaloniaUI.ViewModels.ConnectionTreeViewNodeViewModel)
at Devolutions.AvaloniaUI.Controls.SelectableTreeView.OnTreeDoubleTapped(System.Object, Avalonia.Input.TappedEventArgs)
at Avalonia.Interactivity.EventRoute.RaiseEventImpl(Avalonia.Interactivity.RoutedEventArgs)
at Avalonia.Interactivity.EventRoute.RaiseEvent(Avalonia.Interactivity.Interactive, Avalonia.Interactivity.RoutedEventArgs)
at Avalonia.Interactivity.Interactive.RaiseEvent(Avalonia.Interactivity.RoutedEventArgs)
at Avalonia.Input.Gestures.PointerPressed(Avalonia.Interactivity.RoutedEventArgs)
at Avalonia.Reactive.LightweightObservableBase`1[[System.__Canon, System.Private.CoreLib, Version=10.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].PublishNext(System.__Canon)
at Avalonia.Interactivity.EventRoute.RaiseEvent(Avalonia.Interactivity.Interactive, Avalonia.Interactivity.RoutedEventArgs)
at Avalonia.Interactivity.Interactive.RaiseEvent(Avalonia.Interactivity.RoutedEventArgs)
at Avalonia.Input.MouseDevice.MouseDown(Avalonia.Input.IMouseDevice, UInt64, Avalonia.Input.IInputRoot, Avalonia.Point, Avalonia.Input.PointerPointProperties, Avalonia.Input.KeyModifiers, Avalonia.Input.IInputElement, System.Object)
at Avalonia.Input.MouseDevice.ProcessRawEvent(Avalonia.Input.Raw.RawPointerEventArgs)
at Avalonia.Threading.Dispatcher.Send(System.Threading.SendOrPostCallback, System.Object, System.Nullable`1<Avalonia.Threading.DispatcherPriority>)
at Avalonia.Controls.PresentationSource.HandleInput(Avalonia.Input.Raw.RawInputEventArgs)
at Avalonia.Win32.WindowImpl.AppWndProc(IntPtr, UInt32, IntPtr, IntPtr)
at Avalonia.Win32.WindowImpl.WndProcMessageHandler(IntPtr, UInt32, IntPtr, IntPtr)
at Windows.Win32.PInvokeCore.CallWindowProc(Windows.Win32.Foundation.LRESULT (Windows.Win32.Foundation.HWND, UInt32, Windows.Win32.Foundation.WPARAM, Windows.Win32.Foundation.LPARAM), Windows.Win32.Foundation.HWND, UInt32, Windows.Win32.Foundation.WPARAM, Windows.Win32.Foundation.LPARAM)
at Windows.Win32.PInvokeCore.CallWindowProc(Windows.Win32.Foundation.LRESULT (Windows.Win32.Foundation.HWND, UInt32, Windows.Win32.Foundation.WPARAM, Windows.Win32.Foundation.LPARAM), Windows.Win32.Foundation.HWND, UInt32, Windows.Win32.Foundation.WPARAM, Windows.Win32.Foundation.LPARAM)
at System.Windows.Forms.NativeWindow.DefWndProc(System.Windows.Forms.Message ByRef)
at System.Windows.Forms.NativeWindow.Callback(Windows.Win32.Foundation.HWND, UInt32, Windows.Win32.Foundation.WPARAM, Windows.Win32.Foundation.LPARAM)
at Windows.Win32.PInvoke.DispatchMessage(Windows.Win32.UI.WindowsAndMessaging.MSG*)
at System.Windows.Forms.Application+LightThreadContext.FPushMessageLoop(Microsoft.Office.msoloop)
at System.Windows.Forms.Application+LightThreadContext.RunMessageLoop(Microsoft.Office.msoloop, Boolean)
at System.Windows.Forms.Application+ThreadContext.RunMessageLoopInner(Microsoft.Office.msoloop, System.Windows.Forms.ApplicationContext)
at System.Windows.Forms.Application.Run(System.Windows.Forms.Form)
at Devolutions.RemoteDesktopManager.Program.RunApplication(System.String[])
at Devolutions.RemoteDesktopManager.Program.Main(System.String[])