Normally it is quite easy to run the 32 bit version of a windows application from the command line, e.g. run window:
C:\Windows\SysWOW64\Notepad.exe
You can tell that the process is 32-bit by checking in task monitor\processes as it will have a *32 next to the filename.
However, the remote desktop client (mstsc.exe) does not want to play ball. It always runs the 64-bit version from C:\Windows\System32\mstsc.exe regardless of how I start it (run window, 32-bit cmd windows etc). I've even tried writing a 32-bit C++ program to create it (normally child processes are also 32-bit) but this did not work.
We need to run the 32-bit version because we have some custom dlls that are integrated with remote desktop and it is not possible to load a 32-bit dll in a 64-bit process.
Anyone know a way around this?
Best Answer
I've found a simple way to get by this.
http://www.davidmoore.info/2009/12/02/running-32-bit-remote-desktop-connection-on-windows-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:
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.