Remote-Desktop

如何強制 32 位版本的遠端桌面客戶端在 64 位 Vista 上執行?

  • May 30, 2012

通常從命令行執行 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 的許可才能更改此文件”錯誤。

要解決此錯誤,您可以獲取文件的所有權並賦予自己完全權限:

  1. 瀏覽到 %SystemRoot%\System32
  2. 右鍵點擊 mstsc.exe 並選擇屬性
  3. 轉到安全選項卡
  4. 點擊高級
  5. 轉到所有者選項卡
  6. 點擊編輯
  7. 從“將所有者更改為:”列表中,選擇您的使用者名
  8. 點擊確定
  9. 轉到權限選項卡
  10. 點擊更改權限…
  11. 點擊添加
  12. 輸入您的使用者名,然後點擊確定
  13. 勾選允許列中的框以獲得完全控制
  14. 點擊確定
  15. 點擊確定
  16. 將出現 Windows 安全警告;點擊是繼續
  17. 點擊確定

現在,您可以將文件 mstsc.exe 重命名為 mstsc.exe.bak

然後,您可以從 %SystemRoot%\SysWOW64 啟動 mstsc.exe,您將執行 32 位遠端桌面連接。

引用自:https://serverfault.com/questions/25969