プライベート アセンブリについて
プライベート アセンブリは、アプリケーションと共にデプロイされ、そのアプリケーションを排他的に使用できるアセンブリです。 つまり、他のアプリケーションはプライベート アセンブリを共有しません。 プライベート アセンブリは、 分離されたアプリケーションを作成するために使用できるメソッドの 1 つです。 詳細については、「 分離アプリケーションとサイド バイ サイド アセンブリについて」を参照してください。
プライベート アセンブリは、システム上の他のバージョンのアセンブリと並行して動作するように設計する必要があります。 詳細については、「 サイド バイ サイド アセンブリの作成に関するガイドライン」を参照してください。
プライベート アセンブリには、 アセンブリ マニフェストを伴う必要があります。 DLL をプライベート アセンブリとしてパッケージ化する場合、Windowsがプライベート アセンブリを検索する方法に対応するために、名前の制限が適用されることに注意してください。 プライベート アセンブリを検索する場合、推奨される方法は、アセンブリ マニフェストをリソースとして DLL に含める方法です。 この場合、リソース ID は 1 である必要があり、プライベート アセンブリの名前は DLL の名前と同じにすることができます。 たとえば、DLL の名前がMICROSOFT.WINDOWS.MYSAMPLE.DLLされている場合、マニフェストの assemblyIdentity 要素で使用される name 属性の値も Microsoft である可能性があります。Windows.mysample. プライベート アセンブリを検索する別の方法は、アセンブリ マニフェストを別のファイルに提供することです。 この場合、アセンブリの名前とそのマニフェストは、DLL の名前と異なる必要があります。 たとえば、Microsoft などです。Windows.mysampleAsm, Microsoft.Windows.mysampleAsm.manifest、および Microsoft.Windows.mysample.dll。 プライベート アセンブリのサイド バイ サイド検索の詳細については、「 アセンブリ検索シーケンス」を参照してください。
プライベート アセンブリは、アプリケーションのディレクトリ構造のフォルダーにインストールされます。 通常、これはアプリケーションの実行可能ファイルを含むフォルダーです。 プライベート アセンブリは、アプリケーションと同じフォルダー、アセンブリと同じ名前のフォルダー、またはアセンブリと同じ名前の言語固有のサブフォルダーに配置できます。 たとえば、次のいずれかのディレクトリ構造を使用して、言語が指定されていないプライベート アセンブリである Microsoft.tools.pop を展開します。
| ディレクトリの構造 | 説明 |
|---|---|
| APPDIR\MICROSOFT.TOOLS.POP.DLL | マニフェストは、DLL 内のリソースとしてデプロイされます。 |
| Appdir\Microsoft.Tools.Pop.MANIFEST | マニフェストは別のファイルとしてデプロイされます。 |
| APPDIR\MICROSOFT.TOOLS.POP\MICROSOFT.TOOLS.POP.DLL | マニフェストは DLL 内のリソースとしてデプロイされます。これは、アセンブリの名前を持つサブフォルダーにあります。 |
| Appdir\Microsoft.Tools.Pop\Microsoft.Tools.Pop.MANIFEST | マニフェストは、アセンブリの名前を持つサブフォルダー内の別のファイルとしてデプロイされます。 |
重要
Windows 7 および Windows Server 2008 R2 より前のWindows オペレーティング システムのバージョンでは、アプリケーションの実行可能ファイルを含むフォルダーにネイティブ プライベート アセンブリを展開する必要があります。 ネイティブ プライベート アセンブリでは、言語固有のフォルダーまたはアセンブリと同じ名前のフォルダーへのインストールはサポートされていません。
次のいずれかのディレクトリ構造を使用して、指定した言語でプライベート アセンブリ Microsoft.tools.pop を展開します。 次の例では、Microsoft.Tools.Pop で使用される言語は英語 (米国) で、言語コードは en-us です。 アセンブリの正しい DHTML 言語コードを置き換える必要があります。
appdir\en-us\Microsoft.tools.pop.DLL
appdir\en-us\Microsoft.tools.pop.MANIFEST
appdir\en-us\Microsoft.tools.pop\Microsoft.tools.pop.DLL
appdir\en-us\Microsoft.tools.pop\Microsoft.tools.pop.MANIFEST
プライベート アセンブリは、 xcopy コマンドなど、アセンブリのファイルをこのフォルダーにコピーできる任意のインストール方法でインストールできます。 Windows インストーラーを使用してプライベート アセンブリをインストールする方法の詳細については、「Win32 アセンブリのインストール」を参照してください。
プライベート アセンブリは、Windows XP より前のオペレーティング システムにもインストールできます。 この場合、アセンブリを登録する必要があり、これらのオペレーティング システムではマニフェストは使用されません。 プライベート アセンブリのコピーは、アプリケーションを排他的に使用するためにプライベート フォルダーにインストールされます。 アセンブリの別のバージョンは、システムにグローバルに登録でき、そのアセンブリにバインドするすべてのアプリケーションで使用できます。 アセンブリのグローバル バージョンは、アプリケーションまたは以前のバージョンでインストールされているバージョンである可能性があります。 詳細については、Windowsでの DLL/COM リダイレクトに関するページを参照してください。 アセンブリは、複数のアプリケーションで使用する共有アセンブリとしてインストールすることもできます。 詳細については、「 共有アセンブリ」を参照してください。
プライベート アセンブリを作成する手順は、次の 2 つの例外を除き、共有アセンブリを作成する手順と同じであることに注意してください。
- プライベート アセンブリは署名する必要はありません。また、アセンブリ マニフェストの assemblyIdentity 要素では publickeyToken は必要ありません。
- プライベート アセンブリは、任意のインストール テクノロジを使用して、アプリケーションのフォルダーにインストールできます。 プライベート アセンブリは、Windows インストーラーを使用してインストールする必要はありません。