Saltar al contenido principal

 locked
Terminal Server 非対応アプリケーションで、Microsoft IME による日本語入力ができない。 RRS feed

  • Debate general

  • こんにちは、Platform SDK (Windows SDK) サポートチームです。
    今回は、Windows Server 2019 において、アプリケーション上で Microsoft IME による日本語入力ができない不具合についてご案内します。


    現象
    ========
    RemoteDesktop サービスが有効な Windows Server 2019 において、Terminal Server 非対応のアプリケーション (※ 1) を実行すると、そのアプリケーション上で以下のように Microsoft IME による日本語入力ができない不具合が発生します。

    • [半角/全角漢字] キーを押下して Microsoft IME の入力モードを日本語入力 ON にしようすると、[Japanese IME in note ready yet] というトースト通知が表示されます。
    • Microsoft IME の入力モードが、日本語入力 OFF のまま切り替わりません。

    (※ 1) Terminal Server 非対応アプリケーションに該当するものとしては、以下があげられます。

    • Visual Basic 6.0アプリケーション
    • Visual Studioを使ってビルド、またはMicrosoft (R) Incremental Linkerを使ってリンクされたアプリケーションで、且つリンカー オプション /TSAWARE を指定せずにリンク (※ 2) されたアプリケーション

    (※ 2) Visual Studio 2008以前またはMicrosoft (R) Incremental Linker 9.00 以前を利用してリンクされたアプリケーションの場合は、規定では/TSAWAREは指定されません。Visual Studio 2010以降またはMicrosoft (R) Incremental Linker 10.00 以降を利用してリンクされたアプリケーションの場合は、/TSAWAREが既定で指定されます。


    原因
    ========
    Windows Server 2019 の Microsoft IME は、アプリケーションの起動時に、%WINDIR% 配下のシステム辞書ファイルを参照して初期処理を行います。
    ところが、RemoteDesktop サービスが有効な Windows Server 2019 において、Terminal Server 非対応のアプリケーションを実行した場合は、%WINDIR% ではなく、ユーザー プロファイル配下へシステム辞書ファイルを参照しようとします。
    その結果、Microsoft IME は初期化処理に失敗し、そのアプリケーション上で日本語入力ができない不具合が発生します。

    状況
    ========
    マイクロソフトではこの不具合を調査中です。

    回避策
    ========
    以下、二つの回避策のいずれかをご検討ください。

    回避策 (1) リンカー オプションから、下記 /TSAWARE オプションを有効にしてアプリケーションをビルドしなおしてください。

    /TSAWARE オプションを有効にした時のアプリケーションへの影響については、上記ドキュメントの Remarks をご参照ください。

    回避策 (2) Visual Studio に同梱されている Microsoft COFF Binary File Editor (EDITBIN.EXE) ツールを用いて、アプリケーションの実行可能ファイルに対して TSAWARE リンカーオプションを有効にしてください。

    例) Editbin.exe /TSAWARE Project1.exe

    参考情報
    ========
    Legacy Applications in a Terminal Services Environment
    < https://msdn.microsoft.com/library/aa382957.aspx >


    martes, 27 de agosto de 2019 12:53
    Propietario