Side-by-Side アセンブリ
- Windows XP で分離アプリケーションと Side-by-Side アセンブリをビルドし、サービスを提供する方法
- http://www.microsoft.com/japan/msdn/windows/windowsxp/sidexsidewinxp.asp
- アプリケーションで共有する Side-by-Side コンポーネントの実装 (拡張)
- http://www.microsoft.com/japan/msdn/windows/windows2000/sidebyside.asp
- Windows XP がもたらす Visual Basic デベロッパーへの福音 〜 第 2 回: 新しいサイド バイ サイド技術 〜
- http://www.microsoft.com/japan/msdn/thisweek/vbxp/vbxp2.asp
Side-by-Side (以下SxSと記します)難しいです.中さんのご指摘があって色々調べてみたんですがだいぶ混乱気味.ただ「WindowsXP 以降でOSに標準で付属するGDIPlus.dll は"Side-by-Side アセンブリ"としてもインストールされている」ということは言及しておいた方が良さそうですね.一番上の資料が,ちょうどGDIPlus.dllを例にとって説明しています.
http://www.microsoft.com/japan/msdn/windows/windowsxp/sidexsidewinxp_fig4.gif
ただ,手元のWindowsXP SP2環境で調べる限りどうも以下のような関係があるようです.
- .NET Framework → SxS 版のGDIPlus.dllを利用 → SxSの恩恵にあずかれる
- Office 2003 → わざわざプライベートにインストールしたGDIPlus.dllを利用 → Office 2003専用のセキュリティアップデートが必要な羽目に
リリース時期を考えるとOffice 2003はSxS版GDI+ランタイムを使っていても良さそうなものですが,何故プライベートなDLLを利用したのかその意図は分かりません.Windows XP/Windows Server 2003にインストールした場合に限りOffice 2003のディレクトリに.manifestファイルを置いてGDIPlus.dllを参照する,という形態であればOffice 2003についてはアップデートは不要だったのではないでしょうか?
ちなみにこの環境でディスクの全ファイルを検索してみましたが,GDIPlus.dllは全部で5つ存在しました
- C:\Program Files\Microsoft Works
- C:\Program Files\Microsoft Office\OFFICE11
- C:\WINDOWS\WinSxS\x86_Microsoft.Windows.GdiPlus_6595b64144ccf1df_1.0.0.0_x-ww_8d353f13
- C:\WINDOWS\WinSxS\x86_Microsoft.Windows.GdiPlus_6595b64144ccf1df_1.0.10.0_x-ww_712befd8
- C:\WINDOWS\WinSxS\x86_Microsoft.Windows.GdiPlus_6595b64144ccf1df_1.0.2600.2180_x-ww_522f9f82
下3つがSxS用のものです.やはりMicrosoft製品のOfficeにはSxS版を利用して欲しい気がします.