.NET Framework Client Profile
まず、.NET Framework Client Profileについてはディベロッパー製品開発統括部Blogに説明がありますので、こちらをご参照ください。
このClient Profile、.NET Framework 3.5 SP1と同時にリリースされたものの、日本でこれを取り上げている記事やblogはあまり見かけません。ということで、実際に試してみました。
下記のリリースノートにも記載があります通り、Clinet Profileはどのバージョンの.NET Frameworkもインストールされていないことが検出されたWindows XP SP2以降のコンピュータにのみインストールされます。
この「どのバージョンの.NET Framework」というのは、.NET 2.0以降に限定されるわけではなく、.NET 1.1がインストールされていてもだめでした。そのため、現時点でClient ProfileがインストールできるOSは必然的にWindows XPのみとなります。Windows XP Media Center Edition 2005などは、.NET Framework 1.1 が初めからインストールされていますのでNGです。条件の確認方法はいたってシンプルで、「C:\WINDOWS\assembly」フォルダが存在しない状態であれば良いわけです。
Client Profileのインストーラーは日本語だとオンライン版のみが公開されていますが、
Download Microsoft .NET Framework 3.5 Client Profile from Official Microsoft Download Center
英語版ですとオフライン版もあります。
ここで注意したいのは、上記のインストーラーは必ずClinet Profileをインストールするわけではないということです。リリースノートにも記載があるように、すでにいずれかのバージョンの.NET Frameworkがインストールされてしまっている環境の場合には、Client Profileではなく普通の.NET Framework 3.5 SP1がインストールされてしまいます。しかも、これは何の問い合わせもなく自動で行われますので、注意が必要です。また、そういうことになるのは当然ですが、オフライン版の容量が255.6MBとなっていることにも注意が必要でしょう。
Clinet Profileがインストールされた環境では、assemblyフォルダやMicrosoft.NETフォルダにインストールされるアセンブリ(.NET Frameworkクラスライブラリ)がクライアントに必要なものだけに限られているのはもちろんですが、通常一緒にインストールされるツール類も存在しません。
たとえば、Clinet Profile環境ではアセンブリキャッシュビューア(Shfusion.dll)が存在しないため、エクスプローラでassemblyフォルダを表示すると、本来のフォルダ構造がそのまま表示されてしまいます。
Clinet Profile環境でアプリケーションを動作させるにはビルド時にひと工夫必要です。プロジェクトのプロパティで「クライアントのみのフレームワーク サブセット」チェックボックスをチェックします。
このチェックをつけずにビルドしたアプリケーションの場合、Clinet Profile環境では実行時に以下のメッセージが表示されます。