1

最近、Windows 2003 ターミナル サービスの 1 つで更新を実行していました。更新中に、以前の Java RE バージョンをすべてアンインストールし、再起動してから、[プログラムの追加と削除] (ターミナル サービス インストール モード用) を使用して管理者ログインで Java RE 1.7.0 をインストールしました。1.7.0 をインストールした後、Internet Explorer 8 の [インターネット オプション] ページで [(再起動が必要) に JRE 1.7.0_5 を使用する] がオンになっているにもかかわらず、RDP クライアントで Java を実行できません。

インストールに使用したアカウント以外の管理者権限を持つアカウントでも、Java RE 1.7.0 を使用することはできません。

以下を使用してテスト済み (セキュリティ設定が低下していることを確認するために「信頼済みサイト」として設定):

これをテストするために、グループ ポリシーとターミナル サービスが同じようにセットアップされた Windows 2003 VM をいくつか起動してテストしました。他の 2 つの VM はまったく同じ方法で動作し、インストール ユーザー以外のユーザーは Java RE 1.7.0 を使用できませんでした。

テスト中に、私は先に進み、次のことを行いました。

  1. アンインストールされた Java RE 1.7.0
  2. 再開しました
  3. 管理者アカウントで、同じ [プログラムの追加と削除] メソッドを使用して Java RE 1.6 Update 33 をインストールしました。
  4. 再開しました
  5. 標準ユーザーとしてマシンにRDPを接続し、Java REをテストしたところ、完全に機能しました

Java RE 1.7.0 に、Windows Server 2003 でのターミナル サービス用に正しくインストールされていないものがあると思います。

4

1 に答える 1

1

Sysinternals Procmon.exe で多くのトレースを行った後、Installed Console ユーザーと RDP ユーザーの間でレジストリ キーに特定の違いがあることがわかりました。

HKCU\Software\Classes\CLSID\{CAFEEFAC-0017-0000-0005-ABCDEFFEDCBB}\ HKCU\Software\Classes\CLSID\{CAFEEFAC-0017-0000-0005-ABCDEFFEDCBB}\InprocServer32

これらのキーは機能しているユーザーには存在していましたが、RDP ユーザー アカウントにはありませんでした。そのため、最初にこのキーをRDPユーザーにインポートするだけで、特定のユーザーアカウントで機能しました。ただし、すべてのユーザーが機能するようにしたいので、キーを HKLM (HKEY_LOCAL_MACHINE) に変更してからキーをインポートしました。これにより、すべてのユーザーの Java RE 1.7.0 の問題が解決されました。

私の状況では、Java RE は D:\Program Files\Java\Jre7\ にインストールされています。インストール パスに従ってレジストリ キーを変更する必要があります。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{CAFEEFAC-0017-0000-0005-ABCDEFFEDCBB}]

@="Java Plug-in 1.7.0_05"

[HKEY_LOCAL_MACHINE\Software\Classes\CLSID\{CAFEEFAC-0017-0000-0005-ABCDEFFEDCBB}\InprocServer32]

@="D:\\Program Files\\Java\\jre7\\bin\\jp2iexp.dll"

"ThreadingModel"="Apartment"
于 2012-07-17T21:21:58.200 に答える