Takayuki Okazaki's Weblog
ブログ: 岡崎 - Okazaki's blog
20070115 2007年 1月 15日 月曜日
Windows VistaにおけるJava
English Translation: (Yahoo!) / (Google)
最近JavaのWindows Vista上での対応状況とかを聞かれることが多くなってきたので、知っている限りのことを少しまとめておきます。なお、ここにまとめているのは個人的なメモの集約であって、Sunの正式なサポート情報ではないことをご注意ください。

Java SE 6

Java SE 6はリリースノートのJava SE 6 Supported System Configurationsにも載っている通り、正式にWindows VistaおよびInternet Explorer 7を実行環境としてサポートしています。
しかしながら、現時点ではいくつかの制約などがあるようでその内容はリリースノートにWindows Vista Notesとしてまとめられています。

Windows Vista Notesから一つ影響がありそうなところをピックアップしておくと次のものが結構影響大きそうだなーと思っています。

On Windows Vista, there is a more restrictive sandbox for signed applets. A user has fewer privileges than if they were running on another Windows OS.


On a Windows OS other than Windows Vista, when running a signed applet, a user is prompted with a security warning dialog box and must respond. If "Yes" is clicked, the applet will have AllPermissions to run on the user's machine. This includes permission to write/delete a file from the local disk.

On a Windows Vista OS, this is no longer true. Instead, AllPermissions is limited to Java Applet scope, not Windows scope. Because a process running in IE has a low integrity level, it will not be able to write/delete a file from a medium/high integrity level directory.

これはWindows Vistaではセキュリティ関係の問題でアプレットの動作が今までのWindowsと異なってしまうという制約です。Windows Vistaでは署名済みのアプレットの安全なサンドボックス上でのアクセス範囲がより限定されるというものです。従来のWindowsではAllPermissionsを要求しているアプレットを実行する際に、実行前のセキュリティの警告においてユーザが信頼するように選択すると、すべてのローカルディスクに対する読み書きが可能でした。一方、Windows VistaではInternet Explorer自身が「低い」一貫性レベルで動作するので、そこで実行されているアプレットは「中」あるいは「高い」一貫性レベルのディレクトリに対する書き込み・削除ができなくなりました。

J2SE 5.0

Windows Vista上で動作するようにいくつもの修正が加えられている最中のようです。この修正が完了するのはChet Haase's Blog: Java on Vista: Yes, it Worksによれば全般的な修正はJ2SE 5.0_11で入るようです。今日時点の最新版はJ2SE 5.0_10ですが、同ブログ・エントリによれば2007年1月ごろに出るということですから、あと数週間で出るのかもしれません。(この手のスケジュールは予告なく変更されますので、ご参考まで・・)

この5.0_11で修正される問題のうち一つ例を挙げておくと次のものがあります。

この二つは重複として登録されているので問題の原因は同じようですが、現象としてはjusched(Java Update Scheduler)が起動時に「Program Incompatible (互換性のないプログラムです)」というメッセージを表示する、というものです。これはJavaが非互換だといわれているのではなくて、内部的なバージョン番号の食い違いによって表示されているものです。なので、本当は問題ないんだけど、表示されちゃう。という種類の問題のようです。

J2SE 1.4.2

1.4.2系もWindows Vistaのための修正をバックポートしている、あるいはバックポートしつつあるようです。しかし上記ブログエントリにも載っていますが、対応の優先度はJava SE 6やJ2SE 5.0ほど高くなく、軽微な問題や実現が困難な問題については修正が先延ばしされるか、修正されない可能性があります。


過去の記事
« 1月 2007 »
 
1
2
3
4
5
6
7
8
9
10
12
13
14
17
20
21
22
23
27
28
29
30
31
   
       
今日
Click me to subscribe このブログを購読(RSS)
検索

このブログ著者について
ソフトウエア・インフラストラクチャー・ソリューション本部のソリューション・アーキテクトでした(2008年8月退職)。 本業はSOAソリューションならびにSun Java CAPSによるソリューションのプリセールスをお手伝いするエンジニア、とJavaエバンジェリストグループに参加してセミナーに行ったり、趣味のプログラミング・ネタをこのブログで紹介したりしていました。現在は、ふらふらとwatermint.orgで活動中〜。
リンク
 
SunホットトピックPodcast - SunホットトピックPodcast
 


 

Today's Page Hits: 805