On Windows Vista 64 and Windows 7 64, there is a 32 bit version of Remote Desktop Connection (Microsoft Terminal Services Client, mstsc.exe) in %SystemRoot%\SysWOW64.
Running this mstsc.exe will launch the 32 bit process but it will instantly launch the 64-bit mstsc.exe from System32 and shut itself down. This makes it impossible to run Remote Desktop Connection 32 bit.
This is a problem when you have 32 bit Terminal Services add-ins (which won’t run under 64 bit).
Solution: Rename the 64-bit mstsc.exe from System32 to prevent it from replacing the 32-bit process.
This is simple if you have rights to rename that file. If you’re on NTFS you may get a “You require permission from TrustedInstaller to make changes to this file” error.
To get by this error, you can take Ownership of the file and give yourself full permissions:
- Browse to %SystemRoot%\System32
- Right click mstsc.exe and choose Properties
- Go to the Security tab
- Click Advanced
- Go to the Owner tab
- Click Edit
- From the “Change owner to:” list, choose your user name
- Click OK
- Go to the Permissions tab
- Click Change Permissions…
- Click Add
- Enter your user name and click OK
- Tick the box in the Allow column for Full control
- Click OK
- Click OK
- A Windows Security warning will come up; click Yes to proceed
- Click OK
Now, you can rename the file mstsc.exe to something like mstsc.exe.bak
Then, you can launch mstsc.exe from %SystemRoot%\SysWOW64 and you will have 32-bit Remote Desktop Connection running.
oh man…it works! I’ve been having this problem for 3 weeks now, and i’ve been trying to find a solution to it.. and it turns out it’s pretty simple, just as most wonderful solutions are — simply rename the 64-bit mstsc.exe from System32. Works like a charm!
Yes it works for a time. Unfortunately, something in Windows 7 recognizes that the mstsc.exe file has gone missing and replaces it, which renders the fix un-fixed. I haven’t figured out exactly what it is that is replacing the file yet. Any suggestions?
Hi Wade.
It’s probably the System File Checker in Windows. It’s there to prevent core system files from being changed or removed.
I’m not sure what the best way around this would be. You can turn this feature off but I wouldn’t recommend that.
Hi,
I was just confronted with this issue. Here’s a simple solution:
Create a .bat file with the following three lines:
@echo off
set WinDir=
start C:\Windows\SysWow64\mstsc.exe
Note that the WinDir variable is only deleted locally for the session that starts mstsc.exe and not for the entire system. This prevents the 32-bit version from finding the 64-bit version.