<dependency> 要素 (ClickOnce 配置)
インストールするアプリケーションのバージョンと、アプリケーション マニフェストの場所を識別します。
構文
<dependency>
<dependentAssembly
preRequisite
visible
dependencyType
codeBase
size
>
<assemblyIdentity
name
version
publicKeyToken
processorArchitecture
language
type
/>
<hash>
<dsig:Transforms>
<dsig:Transform
Algorithm
/>
</dsig:Transforms>
<dsig:DigestMethod />
<dsig:DigestValue>
</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>
要素と属性
dependency
要素は必須です。 属性はありません。 配置マニフェストには、複数の dependency
要素を含めることができます。
dependency
要素は、通常、ClickOnce アプリケーション内に含まれるアセンブリに対するメイン アプリケーションの依存関係を表します。 実際の Main.exe アプリケーションが DotNetAssembly.dll という名前のアセンブリを使用している場合は、そのアセンブリを、依存関係セクションの一覧に示す必要があります。 ただし依存関係を使用すると、特定のバージョンの共通言語ランタイム、グローバル アセンブリ キャッシュ (GAC) 内のアセンブリ、COM オブジェクトに対する依存関係など、その他の種類の依存関係も表現できます。 これは非介入の配置テクノロジであるため、ClickOnce では、これらの種類の依存関係のダウンロードとインストールを開始することはできませんが、指定された依存関係が 1 つ以上が存在しない場合は、確かにアプリケーションの実行が妨げられます。
dependentAssembly
必須。 この要素には、assemblyIdentity
要素が含まれています。 次の表に、dependentAssembly
でサポートされている属性を示します。
属性 | 説明 |
---|---|
preRequisite |
省略可能。 このアセンブリが既に GAC 内に存在している必要があることを指定します。 有効値は true または false です。 true の場合、指定されたアセンブリが GAC 内に存在しないとアプリケーションの実行が失敗します。 |
visible |
省略可能。 最上位レベルのアプリケーション ID を、その依存関係を含めて識別します。 アプリケーションのストレージとアクティブ化を管理するため、ClickOnce によって内部的に使用されます。 |
dependencyType |
必須。 この依存関係とアプリケーションとの関係。 次の値を指定できます。 - install 。 コンポーネントは、現在のアプリケーションからは独立したインストールを表します。- preRequisite 。 コンポーネントは、現在のアプリケーションに必要とされています。 |
codebase |
省略可能。 アプリケーション マニフェストへの完全なパス。 |
size |
省略可能。 アプリケーション マニフェストのサイズ (バイト単位)。 |
assemblyIdentity
必須。 この要素は dependentAssembly
要素の子です。 assemblyIdentity
の内容は、ClickOnce アプリケーション マニフェストに記述されている内容と同じである必要があり ます。 次の表に、assemblyIdentity
要素の属性を示します。
属性 | 説明 |
---|---|
Name |
必須。 アプリケーションの名前を識別します。 |
Version |
必須。 アプリケーションのバージョン番号を次の形式で指定します: major.minor.build.revision |
publicKeyToken |
必須。 アプリケーションまたはアセンブリが署名されたときに使われた公開キーの、SHA-1 ハッシュの最後の 8 バイトを表わす 16 文字の 16 進数文字列を指定します。 署名に使用する公開キーは、2048 ビット以上である必要があります。 |
processorArchitecture |
必須。 マイクロプロセッサを指定します。 有効な値は、32 ビット Windows の場合は x86 、64 ビット Windows の場合は IA64 です。 |
Language |
省略可能。 アセンブリの、2 つの部分から成る言語コードを識別します。 たとえば EN-US は、英語 (米国) を表します。 既定では、 neutral です。 この要素は asmv2 名前空間内にあります。 |
type |
省略可能。 Windows のサイド バイ サイドのインストール テクノロジとの下位互換性用です。 使用できる値は win32 のみです。 |
ハッシュ
hash
要素は、file
要素の省略可能な子です。 hash
要素に属性はありません。
ClickOnce では、アプリケーション内のすべてのファイルのアルゴリズム ハッシュをセキュリティ チェックとして使用し、配置後にどのファイルも変更されていないことを確認します。 hash
要素が含まれていない場合、このチェックは実行されません。 そのため、hash
要素を省略することはお勧めできません。
dsig:Transforms
dsig:Transforms
要素は、hash
要素の必須の子です。 dsig:Transforms
要素に属性はありません。
dsig:Transform
dsig:Transform
要素は、dsig:Transforms
要素の必須の子です。 次の表に、dsig:Transform
要素の属性を示します。
属性 | 説明 |
---|---|
Algorithm |
このファイルのダイジェストの計算に使用されるアルゴリズム。 現在 ClickOnce によって使用されている値は urn:schemas-microsoft-com:HashTransforms.Identity のみです。 |
dsig:DigestMethod
dsig:DigestMethod
要素は、hash
要素の必須の子です。 次の表に、dsig:DigestMethod
要素の属性を示します。
属性 | 説明 |
---|---|
Algorithm |
このファイルのダイジェストの計算に使用されるアルゴリズム。 現在 ClickOnce によって使用されている値は http://www.w3.org/2000/09/xmldsig#sha1 のみです。 |
dsig:DigestValue
dsig:DigestValue
要素は、hash
要素の必須の子です。 dsig:DigestValue
要素に属性はありません。 そのテキスト値は、指定されたファイルについて計算されたハッシュです。
解説
配置マニフェストには、一般に、アプリケーション マニフェストの名前とバージョンを識別する assemblyIdentity
要素が 1 つあります。
例 1
次のコード例は、ClickOnce 配置マニフェストの dependency
要素を示しています。
<!-- Identify the assembly dependencies -->
<dependency>
<dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="MyApplication.exe" size="16384">
<assemblyIdentity name="MyApplication" version="0.0.0.0" cultural="neutral" processorArchitecture="msil" />
<hash>
<dsig:Transforms>
<dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<dsig:DigestValue>YzXYZJAvj9pgAG3y8jXUjC7AtHg=</dsig:DigestValue>
</hash>
</dependentAssembly>
</dependency>
例 2
次のコード例では、既に GAC 内にインストールされているアセンブリに対する依存関係を指定しています。
<dependency>
<dependentAssembly dependencyType="preRequisite" allowDelayedBinding="true">
<assemblyIdentity name="GACAssembly" version="1.0.0.0" language="neutral" processorArchitecture="msil" />
</dependentAssembly>
</dependency>
例 3
次のコード例では、共通言語ランタイムの特定のバージョンに対する依存関係を指定しています。
<dependency>
<dependentAssembly dependencyType="preRequisite" allowDelayedBinding="true">
<assemblyIdentity name="Microsoft.Windows.CommonLanguageRuntime" version="2.0.50215.0" />
</dependentAssembly>
</dependency>
例 4
次のコード例では、オペレーティング システムの依存関係を指定しています。
<dependency>
<dependentOS supportUrl="http://www.microsoft.com" description="Microsoft Windows Operating System">
<osVersionInfo>
<os majorVersion="4" minorVersion="10" />
</osVersionInfo>
</dependentOS>
</dependency>