分離アプリケーションとSide-by-Sideアセンブリ
分離アプリケーションとは、後述するアプリケーションマニフェストに自己の使用するコンポーネント(Side-by-Sideアセンブリ)を記述したアプリケーションである。分離アプリケーションの実行時、Win32システムはアプリケーションマニフェストを見て、読み込むべきアセンブリ (DLL/EXE) のバージョンを決定する。アセンブリは自身専用のプライベートアセンブリか、複数のバージョンが共存する共有アセンブリとして存在するため、他のアプリケーションによるアセンブリの追加・削除・更新などの影響を受けずに済む。
マニフェストは分離アプリケーション、Side-by-Sideアセンブリの双方で自己について記載するXMLファイルであり、拡張子manifestを持つ。分離アプリケーションが用いるものをアプリケーションマニフェスト、Side-by-Sideアセンブリが用いるものをアセンブリマニフェストと呼ぶ。
Microsoft Docs(旧MSDNライブラリ)の「Windows XP ビジュアル スタイルの使用」に記載されてあるアプリケーションマニフェストの例を以下に引用する。
assemblyIdentity要素およびdescription要素では、分離アプリケーション自身の情報について記述する。そして、dependentAssembly要素でこのアプリケーションが参照するSide-by-Sideアセンブリの情報を記載する。assemblyIdentity要素1つがアセンブリ1つに対応する。