これによると(PintSizedCat に感謝)、Excel 2003 では次のことが起こります。
Microsoft Office アプリケーションは、カスタム ドキュメント プロパティをチェックして、ドキュメントに関連付けられたマネージ コード拡張があるかどうかを確認します。詳細については、「カスタム ドキュメント プロパティの概要」を参照してください。
マネージ コード拡張がある場合、アプリケーションは AddinLoader.dll を読み込みます。これは、Visual Studio 2005 Tools for Office Second Edition ランタイムのローダー コンポーネントであるアンマネージ DLL です。詳細については、「Visual Studio Tools for Office ランタイムの概要」を参照してください。
AddinLoader.dll は、.NET Framework を読み込み、Visual Studio Tools for Office ランタイムのマネージド部分を開始します。
Visual Studio Tools for Office ランタイムは、アプリケーション ドメインを作成し、アプリケーション ドメインがマイ コンピューター ゾーンを信頼しないようにポリシーを設定し、コード アクセス セキュリティ ポリシー ストアをチェックして、カスタマイズ アセンブリのポリシーを見つけます。
.NET Framework は、ポリシーに対してアセンブリによって提示された証拠を検証します。失敗すると、エラーが発生します。合格した場合、プロセスは続行されます。
カスタマイズで配置マニフェストを使用する場合、Visual Studio Tools for Office ランタイムはそれを使用してアセンブリの更新を確認します。更新が必要な場合は、すぐに実行されます。
Visual Studio Tools for Office ランタイムは、アセンブリをアプリケーション ドメインに読み込みます。
Visual Studio Tools for Office ランタイムは、カスタマイズ アセンブリで Startup イベント ハンドラーを呼び出します。詳細については、「Office プロジェクト イベント用の Visual Studio ツール」を参照してください。
私のテスト プロジェクトの Excel ワークブックには、次の 2 つのカスタム プロパティがあります。
_AssemblyName、値 = * _AssemblyLocation、値 = {533b2c13-a125-418a-bfff-9546b0762807}
これらは、VSTO ランタイムをアセンブリに向けるプロパティだと思います。