青柳臣一 blog : .NET や C# がメインの blog

.NET や C# がメインの blog
投稿数 - 548, コメント - 259, トラックバック - 205

Silverlight 1.0 beta と 1.1 alpha の両方をインストールできる?

Silverlight 1.0 beta と 1.1 alpha が同時にリリースされたわけですが、これらをいっしょに入れることができるのか?が気になりました。

Silverlight Feb 2007 CTP まで
Silverlight コントロールを貼り付ける場合は、HTML 内で agHost.js を <SCRIPT src="agHost.js" type="text/javascript"></SCRIPT> しておいて、new agHost( ... ); としてました。(agHost.js は SDK に入っていました)

Silverlight 1.0 beta
agHost.js に代わり Silverlight.js が SDK と共に提供されるようになりました。
また、Sys.Silverlight.createObject( ... ) or createObjectEx( ... ) と namespace 風の関数名になりました(この namespace 風の手法は Microsoft AJAX Library と同じです)。createObject() には要求するバージョンを指定する引数がありますが、1.0 beta の場合は "0.9" と指定するそうです。

ついでに Silverlight の本体を調べてみると、IE アドオンは AgControl Class (ProgID は AgControl.AgControl) という名前で、本体は C:\Program Files\Microsoft Silverlight\npctrl.dll です。同じフォルダに agcore.dll というのもあり、どちらもバージョンは 0.8.5.0 でした。

Silverlight 1.1 alpha
1.1 alpha も 1.0 beta と同じく Silverlight.js を使用します。1.1 alpha SDK に入っている Silverlight.js を見てみると 1.0 SDK に入っているものと冒頭のコメント以外は同じでした。冒頭のコメントには 「このファイルは 1.0 beta と 1.1 alpha の両方にコンパチブルで、1.1 alpha を使うときは 0.95.0 と指定しろ」 とちゃんと書いてあります。ちなみに 1.0 beta の Silverlight.js も冒頭のコメントには書いてありませんが、コードの中では 0.95.x を判定していたりするのでもともと両方に対応していることになります。
というわけで、Sys.Silverlight.createObject() に "0.95.0" と指定すると 1.1 alpha になります。

で、どうやら 1.1 alpha の本体は 1.0 beta と同じく AgControl Class (ProgID は AgControl.AgControl) みたいです。ProgID も同じで、入ってる場所も 1.0 beta と同じく C:\Program Files\Microsoft Silverlight\ でした。すなわち 「1.1 alpha を入れると 1.0 beta が上書きされる」 ということになってるようです。ただ、npctrl.dll も agcore.dll もバージョンは 0.8.5.0 のままになっています。ファイルの内容が同じなのかどうかまでは調べてませんが、1.0 beta と互換性はあるんでしょう (Silverlight.js みたいに 1.0 beta のものも実は 1.1 alpha に対応しているのかも知れませんが)。

この C:\Program Files\Microsoft Silverlight\ を見てみるとなかなか興味深いです。
mscorlib.dll、System.dll、System.Silverlight.dll などなどが入っています。で、.NET Framework 2.0 SDK の ildasm で見てみるとちゃんと中身が見れました。
"mini-CLR" の本体は coreclr.dll なのかな?

まとめ
はっきりしたことは言えませんが、1.0 beta と 1.1 alpha の両方を入れられるか?と言うよりも、1.1 alpha を入れると 1.0 beta が上書きされるということみたいです。で、1.1 alpha が 1.0 beta と同じ機能をサポートしているということみたいです。

投稿日時 : 2007年5月1日 21:02

トラックバックは下記のURLにpingを送信してください。
TrackBack URL: http://www.divakk.co.jp/blog/aoyagi/services/trackbacks/7928.aspx

フィードバック

# Silverlightの1.0と1.1は同じ環境にインストールできるか?

Silverlightの1.0と1.1は同じ環境にインストールできるか?
2007/05/01 21:36 | ひろえむの日々是勉強 (トラックバック)

# re: Silverlight 1.0 beta と 1.1 alpha の両方をインストールできる?

"AgControl"って、なんで"Ag"なんでしょうね?
"Avalon Graphics"の略なのかな??
2007/06/20 2:11 | 社本@ワック

# re: Silverlight 1.0 beta と 1.1 alpha の両方をインストールできる?

元素記号だそうです。
2007/07/04 23:42 | さまよう人

コメントの投稿

タイトル  
名前  
URL
コメント   
Protected by Clearscreen.SharpHIPこの絵に表示されている文字列を入力してください (半角で4文字です):