web-dev-qa-db-ja.com

32ビットバージョンのリモートデスクトップクライアントを64ビットVistaで強制的に実行するにはどうすればよいですか?

通常、32ビットバージョンのWindowsアプリケーションをコマンドラインから実行するのは非常に簡単です。実行ウィンドウ:

C:\Windows\SysWOW64\Notepad.exe

ファイル名の横に* 32が付いているので、タスクmonitor\processesをチェックインすると、プロセスが32ビットであることがわかります。

ただし、リモートデスクトップクライアント(mstsc.exe)はボールをプレーしたくありません。起動方法(実行ウィンドウ、32ビットcmdウィンドウなど)に関係なく、常にC:\ Windows\System32\mstsc.exeから64ビットバージョンを実行します。私はそれを作成するために32ビットC++プログラムを作成しようとしました(通常、子プロセスも32ビットです)が、これは機能しませんでした。

リモートデスクトップと統合されているカスタムdllがいくつかあり、64ビットプロセスで32ビットdllをロードすることができないため、32ビットバージョンを実行する必要があります。

誰かがこれを回避する方法を知っていますか?

7
John Sibly

これを手に入れる簡単な方法を見つけました。

http://www.davidmoore.info/2009/12/02/running-32-bit-remote-desktop-connection-on-windows-64-bit/

解決策:System32から64ビットのmstsc.exeの名前を変更して、32ビットプロセスを置き換えないようにします。

そのファイルの名前を変更する権限がある場合、これは簡単です。 NTFSを使用している場合は、「このファイルを変更するにはTrustedInstallerからの許可が必要です」というエラーが表示されることがあります。

このエラーを回避するには、ファイルの所有権を取得して、完全な権限を自分に付与します。

  1. %SystemRoot%\ System32を参照します
  2. Mstsc.exeを右クリックし、[プロパティ]を選択します
  3. [セキュリティ]タブに移動します
  4. Advancedをクリックします
  5. [所有者]タブに移動します
  6. 編集をクリックします
  7. 「所有者の変更先」リストから、ユーザー名を選択します
  8. OKをクリックします
  9. [権限]タブに移動します
  10. [権限を変更…]をクリックします
  11. 追加をクリックします
  12. ユーザー名を入力して[OK]をクリックします
  13. フルコントロールの[許可]列のボックスにチェックを入れます
  14. OKをクリックします
  15. OKをクリックします
  16. Windowsセキュリティ警告が表示されます。 [はい]をクリックして続行します
  17. OKをクリックします

これで、mstsc.exeファイルの名前をmstsc.exe.bakのような名前に変更できます。

次に、%SystemRoot%\ SysWOW64からmstsc.exeを起動すると、32ビットのリモートデスクトップ接続が実行されます。

3
David Moore

Mstscを32ビットで強制的に実行する唯一の方法は、(sysinternalsから)依存関係を実行して、syswow64からmstsc.exeを開くことです。起動後、プロファイリングを使用して、オプションをデフォルトのままにします。これにより、mstsc * 32ビットが実行されます。現在、私は同じことをする他の方法を見つけていません。ホーこれはフラビオを助ける

3
Flavio

これは64ビットバージョンのウィンドウについては混乱を招きますが、SysWOW64ディレクトリにあるものは、 'WOW'(Windows on Windows)で実行される32ビット実行可能ファイルです。 System32ディレクトリにあるものは64ビットのバイナリであり、32ビットに相当するものはありません。ここでの命名は互換性の理由によるものであり、不完全ですが、一部のソフトウェアは、そうでなければ機能しないために機能すると確信しています。

32ビットインストールから64ビットマシンにmstsc.exeをコピーして実行することもできますが、私の知る限り、64ビットウィンドウにはmstsc用の64ビットexeしかないため、強制的に32ビットモードで実行することはできません。

2
Jim

以下のスクリプトを.batファイルとして使用して、mstsc.exe x32を強制的に開始します。

@echo off
set WinDir=
start C:\Windows\SysWow64\mstsc.exe 
2
Prem Ananthu

既存の32ビットインストールから32ビット実行可能ファイルをコピーして実行しましたか?

1
Kevin Kuphal

私の答えは:Is mstsc.exeの32ビットバージョンはありますか? 64ビットWindowsに同梱されているmstscは、mstscの64ビットバージョンであると想定しています。

本当の答えは: 64ビットアプリケーション用のdll拡張機能を記述したい場合は、dllを64ビットとして再コンパイルする必要があります。マイクロソフトは、すべてのオペレーティングシステムコンポーネントの32ビットバージョンを出荷する義務を負いません。

別の例:64ビットWindowsエクスプローラーのシェル拡張を作成する場合、それは64ビットdllでなければなりません。 Windowsエクスプローラの32ビットバージョンはありません。 64ビットWindowsをサポートしているか、サポートしていないかのいずれかです。

0
Ian Boyd

古いオペレーティングシステムを使用して互換モードを試しましたか?システムは実行可能ファイルのマニフェストを見て、それがVista用に開発されている場合、そのタブは表示されないと思います。しかし、マニフェストを編集できると思います。

0
Knox