次の方法で共有


<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>

関連項目