Remote-Desktop
如何強制 32 位版本的遠端桌面客戶端在 64 位 Vista 上執行?
通常從命令行執行 32 位版本的 windows 應用程序是很容易的,例如執行視窗:
C:\Windows\SysWOW64\Notepad.exe
您可以通過簽入 task monitor\processes 來判斷該程序是 32 位的,因為它的文件名旁邊將有一個 *32。
但是,遠端桌面客戶端 (mstsc.exe) 不想玩球。無論我如何啟動它(執行視窗、32 位 cmd 視窗等),它總是從 C:\Windows\System32\mstsc.exe 執行 64 位版本。我什至嘗試編寫一個 32 位 C++ 程序來創建它(通常子程序也是 32 位的),但這不起作用。
我們需要執行 32 位版本,因為我們有一些與遠端桌面集成的自定義 dll,並且無法在 64 位程序中載入 32 位 dll。
有人知道解決這個問題的方法嗎?
我找到了一個簡單的方法來解決這個問題。
http://www.davidmoore.info/2009/12/02/running-32-bit-remote-desktop-connection-on-windows-64-bit/
解決方法:將 64 位的 mstsc.exe 從 System32 重命名,以防止其替換 32 位程序。
如果您有權重命名該文件,這很簡單。如果您使用的是 NTFS,您可能會收到“您需要 TrustedInstaller 的許可才能更改此文件”錯誤。
要解決此錯誤,您可以獲取文件的所有權並賦予自己完全權限:
- 瀏覽到 %SystemRoot%\System32
- 右鍵點擊 mstsc.exe 並選擇屬性
- 轉到安全選項卡
- 點擊高級
- 轉到所有者選項卡
- 點擊編輯
- 從“將所有者更改為:”列表中,選擇您的使用者名
- 點擊確定
- 轉到權限選項卡
- 點擊更改權限…
- 點擊添加
- 輸入您的使用者名,然後點擊確定
- 勾選允許列中的框以獲得完全控制
- 點擊確定
- 點擊確定
- 將出現 Windows 安全警告;點擊是繼續
- 點擊確定
現在,您可以將文件 mstsc.exe 重命名為 mstsc.exe.bak
然後,您可以從 %SystemRoot%\SysWOW64 啟動 mstsc.exe,您將執行 32 位遠端桌面連接。