ページ

2007年7月31日火曜日

Silverlight Update とは

How Silverlight Update Works より

どうやら Silverlight ランタイムには自分自身を更新する機能が含まれているようです。

Silverlight Update は、

  1. セキュリティアップデート。24時間ごとにセキュリティアップデートがあるかどうかチェックする。
  2. 機能アップデート。30日ごとに機能アップデートがあるかどうかチェックする。たとえば、Silverlight RC は 30日ごとに 1.0 リリースをチェックするなど。

の 2種類があって、アップデートがあると自動的にバックグラウンドでダウンロードして、サイレントモードでインストールしてくれる。ロードされた DLL をアンロックする必要があるなどブラウザをリスタートする必要があるときでも、機能アップデートのときはプロンプトを表示したりしない (次回にブラウザを起動したときにアップデートされる)。ただし、セキュリティアップデートのときはプロンプトを表示して、ブラウザを再起動するように要求する。

というようなものだそうです。他にもいろいろと書いてありますので、興味のある人は上記記事を参照してみてください。

今まで Silverlight なところで右クリックすると 「About Silverlight」 といった感じのコンテキストメニューが出ていたと思います。これが RC からは 「Silverlight Configuration」 に変わっています。これの Update タブで自動的にアップデートするかどうかを設定できるようです。

この設定ダイアログについて
Michael's Blog: 「Silverlight Configuration Tool」
で紹介されていました。

c:\Program Files\Microsoft Silverlight\ フォルダの slup.exe がこのダイアログの本体だそうです。
また、Updates の設定によって変更されるレジストリ値も紹介されています。
# できれば slup.exe から slconfig.exe にでもリネームして IsolatedStrage なんかの設定とかもできるようにしてよ。みたいなことも書かれてますね。そりゃそうだな。

Silverlight 1.0 RC1 と 1.1 Alpha Refresh がリリース

すでに先週末のことですが、Silverlight 1.0 RC1 がリリースされました。
また、あわせて 1.1 Alpha も 1.0 RC1 にあわせたバージョン (1.1 Alpha Refresh と呼ばれています) がリリースされました。
ダウンロード先については↓がわかりやすそうです(英語ですが)
Tim Sneath: 「Silverlight 1.0 RC1 is Here!」
また、ここに beta リリースをアンインストールする必要は無い、単に RC1 のインストーラを実行すれば OK、とあります。あと、今までの beta と RC1 は互換性がないから多くのサンプルは動かないとあります。

もちろん、Silverlight を使ったページ、たとえば http://silverlight.net/quickstarts/ なんかを表示すると

Get Silverlight RC

なんていう画像が表示されて、これをクリックしてもダウンロードサイトにいけます。
(↑は単なる画像です。ダウンロードサイトへのリンクにはなっていません)
この画像経由で 1.0 beta、1.1 alpha が入っている環境に 1.0 RC1 を入れてみましたがちゃんと入りました。ただ、IE を再起動してやる必要はありました。これは 1.1 alpha とかのせいかもしれません。
さらにこの環境に 1.1 Alpha Refresh を入れてみました。マシンをリブートしてから入れないとうまく入りませんでしたが、ちゃんと動くようになりました。

2007年7月27日金曜日

Visual Studio 2008 beta 2 と .NET Framework 3.5 beta 2 がリリース

すでにあちこちで書かれてますが、予定通り Visual Studio 2008 beta 2 と .NET Framework 3.5 beta 2 がリリースされたみたいですね。

VS2008 のダウンロードは
http://msdn2.microsoft.com/en-us/vstudio/default.aspx
にまとまってるみたいです。
Standard、Professional、Team Suite の各エディションや Virtual PC イメージなんかもあるようです。
あと、どうやら MSDN Subscriber Downloads だけではなく、Download Center から誰でもダウンロードできるみたいですね。

Express Edtion もあるみたいです。
http://msdn2.microsoft.com/ja-jp/express/future/default.aspx
# しかし、この VS2008 Express Edtion のサイトはえらくかっこいいな

ところで、.NET Framework 3.5 の方はどこがどれくらい変わってるんでしょう?
Lester's WPF blog: 「3.5 released with many features!!!」 なんかみると WPF なんかは細々と変わっているみたいなんですが。

2007年7月25日水曜日

Visual Studio 2008 Beta 2 はもうすぐ?

BetaNews: 「Visual Studio 2008 Beta 2 Coming Thursday」

Visual Studio 2008 Beta 2 が今週の木曜日に出るとあります。
元記事として ScottGu's Blog: 「First Look at IronRuby」 が紹介されています。けど、この記事ってタイトルどおり IronRuby の紹介で (これはこれでおもしろいですが)、いったいこれのどこに VS2008 の話があるんだろうとすぐにはわかりませんでした。
で、よく見ると、この記事についた最初のコメントに 「VS2008 をめっちゃ待ってるんだけど、もうすぐ?」 みたいなことが書かれて、それに対して ScottGu 氏が 「今週後半に出るからもうちょっとだけ待ってね」 なんて答えてるんですね(^^
さらにもうちょっと下のコメントで 「beta 2 の機能は完璧?」 という質問があって、それに対して 「今週後半に出る VS2008 と .NET 3.5 beta 2 の機能はほとんど完璧。beta 2 のフィードバックに基づいていくつかの小さな機能の追加・変更はするだろうけど、機能の 99% はもうあるよ」 なんて感じのことを答えています。

# Silverlight もサポートしてくれるとうれしいけど、時期的に考えて無理だろうなぁ

2007年7月18日水曜日

Silverlight 1.0 RC がもうすぐらしい

Preparing for Silverlight 1.0 RC and Beyond より

Silverlight 1.0 RC が 2週間以内くらいに出てくるそうです。
基本的にいくつかのバグを直した安定バージョンということみたいですが、beta と RC との間ではいくつかの breaking change もあるそうです。
上記の記事から SDK の special preview がダウンロードできます。これには beta と RC との両方に対応した silverlight.js、beta と RC との間の変更点についてのドキュメント、などが含まれています。(こういったものが入っているだけで SDK 自体が入っているわけではありません)

# けど、私の興味はすっかり Silverlight 1.1 にいっちゃってるんですけどね

2007年7月11日水曜日

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 と同じ機能をサポートしているということみたいです。