アプリケーションのターミナル サーバー レジストリ設定

この記事では、ターミナル サーバー コンピューターでのアプリケーションの動作を変更するために使用できるレジストリ設定について説明します。

適用対象: Windows Server 2012 R2
元の KB 番号: 186499

実行モードでのアプリケーション実行の制御

アプリケーション、レジストリ パス、または .ini ファイルに対していくつかの互換性ビットを設定して、セッションが実行モードのときにターミナル サーバー コンピューターがアプリケーション初期化データのマージを処理する方法を変更できます。 これらの互換性ビットは、レジストリで次のサブキーの下に設定されます。

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility

このレジストリ パスには、アプリケーション、.ini ファイル、レジストリ エントリの 3 つのキーがあります。

既定の設定はほとんどのアプリケーションで機能しますが、次の互換性ビットを使用してさらに調整できます。

警告

これらの互換性ビットは、アプリケーションが正常に動作していない場合にのみ変更する必要があります。

互換性ビットの最初のセットは、設定の対象となるアプリケーションのバージョンを示します。 すべての組み合わせが役に立つわけではありません (たとえば、MS-DOS アプリケーションでレジストリ呼び出しが行われます)。 ファイルへのパスは指定されておらず、複数のアプリケーションで同じファイル名を使用する場合があるため (たとえば、Setup.exe と Install.exe は、インストール プログラムに定期的に使用されるようになりました)、互換性設定が同じファイル名を持つ他のアプリケーションに影響しないようにアプリケーションの種類を指定します。

文字列値を決定するには、設定するビットの値を追加します。 たとえば、16 ビットバージョンと 32 ビットバージョンの両方の Myapp.exe のコンピューター名の代わりにユーザー名を返すには、次の手順を実行してレジストリにサブキーを作成します。

重要

このセクション、方法、またはタスクには、レジストリの編集方法が記載されています。 レジストリを誤って変更すると、深刻な問題が発生することがあります。 レジストリを変更する際には十分に注意してください。 保護を強化するため、レジストリを変更する前にレジストリをバックアップします。 こうしておけば、問題が発生した場合にレジストリを復元できます。 レジストリをバックアップおよび復元する方法の詳細については、次の記事番号をクリックして、「Microsoft サポート技術情報: Windows でレジストリをバックアップおよび復元する方法 」322756 の記事を参照してください

  1. レジストリ エディターを起動します。

  2. 次のレジストリ サブキーを見つけます。
    HKEY_LOCAL_MACHINE \Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\Applications\Myapp

  3. [編集] メニューの [値の追加] をクリックし、次の情報を入力します。

    値名: フラグ
    種類: REG_DWORD

  4. [データ] ボックスに 11C の 16 進値を入力します (16 ビット Windows アプリケーションの0x00000004を追加し、32 ビット Windows アプリケーションの0x00000008を追加し、コンピューター名の代わりにユーザー名を返す0x00000010を追加し、レジストリ マッピングを無効にする0x00000100を追加します)。

アプリケーション

次の互換性ビットは、実行中のアプリケーションに影響します。 これらは次のレジストリ サブキーにあります ( Appname はアプリケーションの実行可能ファイルの名前です)。

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\Applications\\Appname

互換性ビット

  • MS-DOS アプリケーション: 0x00000001
  • OS/2 アプリケーション: 0x00000002
  • Windows 16 ビット アプリケーション: 0x00000004
  • Windows 32 ビット アプリケーション: 0x00000008
  • コンピューター名の代わりにユーザー名を返す: 0x00000010
  • ターミナル サーバーのビルド番号を返す: 0x00000020
  • このアプリケーションのレジストリ マッピングを無効にする: 0x00000100
  • ユーザーの Windows ディレクトリを置き換えないでください: 0x00000400
  • 報告されるメモリを制限する: 0x00000800

コンピューター名を一意の識別子として使用するアプリケーションでは、"コンピューター名ではなくユーザー名を返す" ビットを使用します。 これにより、ユーザーの名前がアプリケーションに返され、アプリケーションの各ユーザーに一意の識別子が与えられます。

アプリケーションで使用されるレジストリ変数のグローバル コピーを 1 つだけ保持するには、"このアプリケーションのレジストリ マッピングを無効にする" ビットを使用します。

"ユーザーの Windows ディレクトリを置き換えないでください" ビットが設定されている場合、GetWindowsDirectory API 呼び出しの SystemRoot ディレクトリが保持されます。 このビットが設定されていない場合、Windows ディレクトリへのすべてのパスは、ユーザーの Windows ディレクトリへのパスに置き換えられます。

.Ini ファイル

次の互換性ビットは、ファイルの伝達 .ini 制御します。 これらは次のレジストリ サブキーにあります ( Inifile は .ini ファイルの名前です)。

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\IniFiles\\Inifile

互換性ビット

  • Windows 16 ビット アプリケーション: 0x00000004
  • Windows 32 ビット アプリケーション: 0x00000008
  • ユーザー .ini ファイルをシステム バージョンに同期する: 0x00000040
  • ユーザーの Windows ディレクトリに置き換えないでください: 0x00000080

"ユーザー .ini ファイルをシステム バージョンに同期する" ビットが設定されている場合、アプリケーションの起動時にシステム マスター .ini ファイルから新しいエントリが追加されますが、ユーザーの .ini ファイル内の既存のデータは削除されません。 このビットが設定されていない場合は、システム マスター .ini ファイルよりも古い場合、ユーザーの .ini ファイルが上書きされます。

"ユーザーの Windows ディレクトリを置き換えない" ビットが設定されている場合、.ini ファイルのシステム マスター バージョンがユーザーの Windows ディレクトリにコピーされるときに、.ini ファイル内のファイル パスの SystemRoot ディレクトリが保持されます。 このビットが設定されていない場合は、Windows ディレクトリへのすべてのパスがユーザーの Windows ディレクトリへのパスに置き換えられます。

レジストリ パス

次の互換性ビットは、レジストリの伝達を制御します。 これらは次のレジストリ サブキーにあります ( PathName はキー HKEY_CURRENT_USER\Software) の下のレジストリ パスです)。

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Terminal Server\Compatibility\RegistryEntries\\PathName

互換性ビット

  • Windows 32 ビット アプリケーション: 0x00000008
  • アプリケーションのレジストリ マッピングを無効にする: 0x00000100

"アプリケーションのレジストリ マッピングを無効にする" ビットが設定されている場合、システム マスター レジストリ イメージからの新しいエントリはユーザーのレジストリに追加されません。 さらに、システムはユーザーのレジストリ内の既存のデータを削除しません。 このビットが設定されていない場合、データがシステム マスター レジストリ データより古い場合、システムはユーザーのレジストリ データを削除して上書きします。 ビットが設定されていない場合、システムはユーザーのレジストリにない新しいキーも追加します。