RDP virtual channels failing on Windows 8

RDP virtual channels failing on Windows 8

avatar

My company relies on RDM for supporting all our hosted client terminal server environments. We use a universal printing solution called UniPrint, which relies on a virtual RDP channel for transferring print jobs to a UniPrint client application on local PCs. It establishes the virtual channel via a key under HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Default\AddIns that points to a DLL file. Many third party apps create virtual RDP channels in this manner.

The issue is that when attempting to use RDM on a Windows 8 PC, the UniPrint virtual channel fails. If I use the full mstsc.exe, the virtual channel works fine, but when embedding a session within the RDM window (which means it's using the RDP activex control), the virtual channel fails every time. We are currently using RDM 6.0, and I had no issues with the virtual channel with RDM 6 on Windows 7.

However, before we blame the outdated RDM version, I have also tested RDM 8.0 on Windows 8, and the virtual channel still fails, so it would seem that this is some sort of Windows 8 problem. Again, this problem only exists using embedded (activex) sessions in RDM on Windows 8. Embedded sessions work fine on Windows 7, and external RDP sessions on Windows 8 also work fine.

I'm uncertain if this is a bug in Windows, or if something changed with how the RDP activex control works in Windows 8 that now requires a coding change in RDM. Windows 8 does have a new RDP client that uses the new RDP 8.0 protocol, so I suspect that may be the issue.

All Comments (20)

avatar

Could you try forcing the 6.0 activex? Options -> Advanced -> Force RDP 6.0

FYI, RDM 8.0 is already supoorts the new RDP 8.0 activex

Stéfane Lavergne

avatar

Just tried that, but it did not fix the issue. Also, forcing that option apparently causes my saved connections to ignore the RD Gateway settings, which are required, so that wouldn't work anyway.

avatar

Sorry to double post, but I have also just confirmed that RemoteScan, a product we use for terminal server TWAIN redirect that also works via RDP virtual channel, also fails to work in an embedded session, but works fine from the same Windows 8 PC through a standalone RDP session. That would seem to rule out compatibility issues with the applications attempting to use virtual channels.

avatar

What version are you running? 8.0.15?

Could you please try this (sounds crazy I know)
- restart RDM
- open your RDP Embedded (that one using virtual chanels)

Did that work? If so, disconnect the RDP session & re-connect? Now did the reconnect fail?

Stéfane Lavergne

avatar

I downloaded the latest "current" version for download, which is 8.0.12. I have restarted, rebooted, connected, disconnected, and reconnected in every manner I could imagine, and have not been able to produce a single instance of an embedded session where the virtual channels work on Windows 8.

Also, in addition to my own production Windows 8 workstation, I'm also testing on a virtual machine running Windows 8 RTM with absolutely zero modification, customizations, third party applications (other than RDM and the client applications that require the virtual channels), or even Windows Update patches installed, to ensure that nothing is polluting the test results.

EDIT: FWIW, also tried forcing RDM to run in full Administrator mode, same result.
edited by ivorycruncher on 1/30/2013

avatar

Hi,
RDM is a 32 bit application and sometime an add-on is only installed for 64 bit. Could you verify if a 32 bit version of the driver exists?

David Hervieux

avatar

If you're referring to the virtual channel DLL when you say "add-on" and "driver", that has nothing to do with it. The exact same versions of those files are installed on both Windows 7 and Windows 8 PCs, and RDM on Windows 7 64-bit has no issues using them in embedded sessions.

avatar

Hi,
Could you try the latest beta (8.0.16.0)

http://remotedesktopmanager.com/Home/Download

David Hervieux

avatar

Same result.

avatar

Hi,
Perhaps the driver on Windows 8 are only for 32 bit?

David Hervieux

avatar

Please clarify what you mean when you say "driver". These are not device drivers or browser add-ons or anything like that. They are virtual channel client DLL files, as documented here: http://msdn.microsoft.com/en-us/library/windows/desktop/aa383509(v=vs.85).aspx.

Just for the record, RemoteScan installs both 32-bit and 64-bit versions of its virtual channel client DLLs, no matter what version of Windows you're actually running, so whatever version is needed should be automatically loaded. UniPrint installs either a 32-bit or 64-bit version of its virtual channel client DLL, depending on what version of Windows the client application is being installed on. If there was any issue with these client DLLs, they would not operate correctly in full, external RDP sessions, which they do. Once again, only embedded RDP sessions within RDM fail to load these client DLLs.

The one and only issue here is that no virtual channels are being loaded within embedded RDP sessions within Remote Desktop Manager. What I am trying to determine is if this is a flaw with the RDP activex implementation in Windows 8, meaning we have to wait for a fix from Microsoft, or if there is a bug in RDM that's causing it to not work properly with Windows 8, which I'm hoping you can fix. Demo versions of both RemoteScan and UniPrint are available from the vendors if you would like to test this yourself.

avatar

Could you try with RDCMan?

http://www.microsoft.com/en-us/download/details.aspx?id=21101

We use the same ActiveX. We will try to test it but I can't tell you when exactly.

David Hervieux

avatar

Thanks, I will give that a try when I get a chance.

avatar

Same result with RDCMan. However, I see that it's not listed as compatible with Windows 8, and was released a couple years ago, so it's possible there is a compatibility issue.

avatar

Perhaps but we share the same exact ActiveX. I'm not sure what I can do. I will keep looking for a solution and let you know as soon as I find something.

David Hervieux

avatar

Well, as I said, Windows 8 uses the new RDP 8.0 protocol, so I'm wondering if something changed in the APIs regarding virtual channels in the new version. Unfortunately I can't seem to find much detailed technical info about the new RDP version as of yet. If it is a bug, not an API change, hopefully the problem is found and corrected soon by Microsoft. Thanks for your help with this.

avatar

Is there any way to install an older version of the activex files and force RDM to use those instead of the primary ones?

avatar

I have a setting in the application option. Perhaps you could give it a try:

File->Options

Advanced tab

in the List, Force RDP6

David Hervieux

avatar

I have been following this thread and have the exact same issues. We cannot print from RD Manager when connected to our terminal services using Uniprint as the print client. It works perfectly fine in the Microsoft RDC (mstsc.exe) from a windows 8 or 8.1 PC, but thru RD Manager, the print jobs simply disappear?

I have tried the setting notes above to no avail as well.

avatar

It could be because you use RDM 32 bit and you only have the 64 bit drivers installed. Could you try RDM 64 bit or the opposite?

David Hervieux