32ビットバージョンのリモートデスクトップクライアントを64ビットVistaで実行する必要があります。これは、製品の一部がリモートデスクトップクライアントと統合され、仮想チャネルを介してターミナルサーバー側のアプリと通信するためです。統合により、一部のサードパーティの32ビットドライバーが読み込まれ、64ビットプロセスで32ビットdllを読み込むことはできません。
通常、コマンドラインから32ビットバージョンのWindowsアプリケーションを実行するのは非常に簡単です。例:runwindow:
C:\Windows\SysWOW64\Notepad.exe
ファイル名の横に*32があるため、タスクmonitor\processesをチェックインすることでプロセスが32ビットであることがわかります。
ただし、リモートデスクトップクライアント(mstsc.exe)はボールをプレーしたくありません。起動方法(実行ウィンドウ、32ビットcmdウィンドウなど)に関係なく、常にC:\ Windows \ System32\mstsc.exeから64ビットバージョンを実行します。32ビットのC++プログラムを作成して作成しようとしましたが(通常、子プロセスも32ビットです)、これは機能しませんでした。
私も電話してみました:
Wow64DisableWow64FsRedirection
Wow64RevertWow64FsRedirection
mstsc.exeを開始する前後ですが、これも役に立ちませんでした。
誰かがこれを回避する方法を知っていますか?
[編集]プロセスモニターでさらに調査を行ったところ、32ビットバージョンのmstscが最初に開始されたようですが、これにより2番目の64ビットプロセスが作成され、32ビットバージョンが終了します。