Language

<file> 要素 (ClickOnce アプリケーション)

アプリケーションによってダウンロードおよび使用されるすべての非アセンブリ ファイルを識別します。

構文

<file
    name
    size
    group
    optional
    writeableType
>
    <typelib
        tlbid
        version
        helpdir
        resourceid
        flags
    />
    <comClass
        clsid
        description
        threadingModel
        tlbid
        progid
        miscStatus
        miscStatusIcon
        miscStatusContent
        miscStatusDocPrint
        miscStatusThumbnail
    />
    <comInterfaceExternalProxyStub
        iid
        baseInterface
        numMethods
        name
        tlbid
        proxyStubClass32
    />
    <comInterfaceProxyStub
        iid
        baseInterface
        numMethods
        name
        tlbid
        proxyStubClass32
    />
    <windowClass
        versioned
    />
</file>

要素と属性

file要素は省略可能です。 要素には次の属性があります。

特性 Description
name Required. ファイルの名前を識別します。
size Required. ファイルのサイズをバイト単位で指定します。
group optional属性が指定されていない場合、または false に設定されている場合は省略可能。optionalがtrue場合は必須。 このファイルが属するグループの名前。 名前には、開発者が選択した任意の Unicode 文字列値を指定でき、 ApplicationDeployment クラスを使用して必要に応じてファイルをダウンロードするために使用されます。
optional Optional. アプリケーションの初回実行時にこのファイルをダウンロードする必要があるかどうか、またはアプリケーションがオンデマンドで要求するまでファイルをサーバーにのみ配置するかどうかを指定します。 falseまたは未定義の場合、アプリケーションの初回実行時またはインストール時にファイルがダウンロードされます。 true場合、アプリケーション マニフェストを有効にするには、groupを指定する必要があります。 optional値applicationDataでwriteableTypeが指定されている場合は true にできません。
writeableType Optional. このファイルがデータ ファイルであることを指定します。 現在、唯一有効な値は applicationDataです。

typelib

typelib要素は、ファイル要素の省略可能な子です。 この要素は、COM コンポーネントに属するタイプ ライブラリを記述します。 要素には次の属性があります。

特性 Description
tlbid Required. タイプ ライブラリに割り当てられた GUID。
version Required. タイプ ライブラリのバージョン番号。
helpdir Required. コンポーネントのヘルプ ファイルを含むディレクトリ。 長さが 0 の場合があります。
resourceid Optional. ロケール識別子 (LCID) の 16 進文字列表現。 プレフィックスが 0 の 16 進数から 4 桁の数字で、先頭に 0 が付いていません。 LCID には、ニュートラルサブ言語識別子が含まれている場合があります。
flags Optional. このタイプ ライブラリのタイプ ライブラリ フラグの文字列形式。 具体的には、"RESTRICTED"、"CONTROL"、"HIDDEN"、"HASDISKIMAGE" のいずれかである必要があります。

comClass

comClass要素は、file要素の省略可能な子ですが、ClickOnce アプリケーションに登録不要の COM を使用して配置する COM コンポーネントが含まれている場合に必要です。 要素には次の属性があります。

特性 Description
clsid Required. GUID として表される COM コンポーネントのクラス ID。
description Optional. クラス名。
threadingModel Optional. インプロセス COM クラスで使用されるスレッド モデル。 このプロパティが null の場合、スレッド モデルは使用されません。 コンポーネントはクライアントのメイン スレッドに作成され、他のスレッドからの呼び出しはこのスレッドにマーシャリングされます。 有効な値を次の一覧に示します。

Apartment、Free、Both、Neutral。
tlbid Optional. この COM コンポーネントのタイプ ライブラリの GUID。
progid Optional. COM コンポーネントに関連付けられているバージョン依存のプログラム識別子。 ProgIDの形式は<vendor>.<component>.<version>。
miscStatus Optional. アセンブリ マニフェスト内で、 MiscStatus レジストリ キーによって提供される情報を複製します。 miscStatusIcon、miscStatusContent、miscStatusDocprint、またはmiscStatusThumbnail属性の値が見つからない場合は、miscStatusに示されている対応する既定値が不足している属性に使用されます。 値には、次の表の属性値のコンマ区切りのリストを指定できます。 COM クラスが、レジストリ キー値を必要とする OCX クラス MiscStatus 場合は、この属性を使用できます。
miscStatusIcon Optional. アセンブリ マニフェストで、DVASPECT_ICONが提供する情報を複製します。 オブジェクトのアイコンを提供できます。 値には、次の表の属性値のコンマ区切りのリストを指定できます。 COM クラスが、レジストリ キー値を必要とする OCX クラス Miscstatus 場合は、この属性を使用できます。
miscStatusContent Optional. アセンブリ マニフェスト内で、DVASPECT_CONTENTによって提供される情報を複製します。 これは、画面またはプリンターに表示可能な複合ドキュメントを提供できます。 値には、次の表の属性値のコンマ区切りのリストを指定できます。 COM クラスが、レジストリ キー値を必要とする OCX クラス MiscStatus 場合は、この属性を使用できます。
miscStatusDocPrint Optional. アセンブリ マニフェストで、DVASPECT_DOCPRINTが提供する情報を複製します。 プリンターに印刷されるかのように、画面に表示可能なオブジェクト表現を提供できます。 値には、次の表の属性値のコンマ区切りのリストを指定できます。 COM クラスが、レジストリ キー値を必要とする OCX クラス MiscStatus 場合は、この属性を使用できます。
miscStatusThumbnail Optional. アセンブリ マニフェストで、DVASPECT_THUMBNAILが提供する情報を複製します。 閲覧ツールで表示できるオブジェクトのサムネイルを提供できます。 値には、次の表の属性値のコンマ区切りのリストを指定できます。 COM クラスが、レジストリ キー値を必要とする OCX クラス MiscStatus 場合は、この属性を使用できます。

comInterfaceExternalProxyStub

comInterfaceExternalProxyStub要素は、file要素の省略可能な子ですが、ClickOnce アプリケーションに登録不要の COM を使用して配置する COM コンポーネントが含まれている場合に必要になる場合があります。 要素には、次の属性が含まれています。

特性 Description
iid Required. このプロキシによって提供されるインターフェイス ID (IID)。 IID の周囲には中かっこが必要です。
baseInterface Optional. iidによって参照されるインターフェイスの派生元インターフェイスの IID。
numMethods Optional. インターフェイスによって実装されるメソッドの数。
name Optional. コードに表示されるインターフェイスの名前。
tlbid Optional. iid属性で指定されたインターフェイスの説明を含むタイプ ライブラリ。
proxyStubClass32 Optional. IID を 32 ビット プロキシ DLL の CLSID にマップします。

comInterfaceProxyStub

comInterfaceProxyStub要素は、file要素の省略可能な子ですが、ClickOnce アプリケーションに登録不要の COM を使用して配置する COM コンポーネントが含まれている場合に必要になる場合があります。 要素には、次の属性が含まれています。

特性 Description
iid Required. このプロキシによって提供されるインターフェイス ID (IID)。 IID の周囲には中かっこが必要です。
baseInterface Optional. iidによって参照されるインターフェイスの派生元インターフェイスの IID。
numMethods Optional. インターフェイスによって実装されるメソッドの数。
Name Optional. コードに表示されるインターフェイスの名前。
Tlbid Optional. iid属性で指定されたインターフェイスの説明を含むタイプ ライブラリ。
proxyStubClass32 Optional. IID を 32 ビット プロキシ DLL の CLSID にマップします。
threadingModel Optional. Optional. インプロセス COM クラスで使用されるスレッド モデル。 このプロパティが null の場合、スレッド モデルは使用されません。 コンポーネントはクライアントのメイン スレッドに作成され、他のスレッドからの呼び出しはこのスレッドにマーシャリングされます。 有効な値を次の一覧に示します。

Apartment、Free、Both、Neutral。

windowClass

windowClass要素は、file要素の省略可能な子ですが、ClickOnce アプリケーションに登録不要の COM を使用して配置する COM コンポーネントが含まれている場合に必要になる場合があります。 要素は、バージョンが適用されている必要がある COM コンポーネントによって定義されたウィンドウ クラスを参照します。 要素には、次の属性が含まれています。

特性 Description
versioned Optional. 登録で使用される内部ウィンドウ クラス名に、ウィンドウ クラスを含むアセンブリのバージョンを含めるかどうかを制御します。 この属性の値は、 yes または noできます。 既定値は yes です。 no値は、同じウィンドウ クラスが side-by-side コンポーネントと同等の非サイド バイ サイド コンポーネントによって定義され、それらを同じウィンドウ クラスとして扱う場合にのみ使用する必要があります。 ウィンドウ クラスの登録に関する通常の規則が適用されることに注意してください。ウィンドウ クラスを登録できるのは、ウィンドウ クラスを登録する最初のコンポーネントだけです。これは、バージョンが適用されていないためです。

ハッシュ

hash要素は、file要素の省略可能な子です。 hash要素には属性がありません。

ClickOnce は、アプリケーション内のすべてのファイルのアルゴリズム ハッシュをセキュリティ チェックとして使用して、配置後にどのファイルも変更されないようにします。 hash要素が含まれていない場合、このチェックは実行されません。 そのため、 hash 要素を省略することはお勧めしません。

ハッシュされていないファイルがマニフェストに含まれている場合、ユーザーはハッシュされていないファイルの内容を確認できないため、そのマニフェストをデジタル署名できません。

dsig:Transforms

dsig:Transforms要素は、hash要素の必須の子です。 dsig:Transforms要素には属性がありません。

dsig:Transform

dsig:Transform要素は、dsig:Transforms要素の必須の子です。 dsig:Transform要素には、次の属性があります。

特性 Description
Algorithm このファイルのダイジェストの計算に使用されるアルゴリズム。 現在、ClickOnce で使用される唯一の値は urn:schemas-microsoft-com:HashTransforms.Identityです。

dsig:DigestMethod

dsig:DigestMethod要素は、hash要素の必須の子です。 dsig:DigestMethod要素には、次の属性があります。

特性 Description
Algorithm このファイルのダイジェストの計算に使用されるアルゴリズム。 現在、ClickOnce で使用される唯一の値は http://www.w3.org/2000/09/xmldsig#sha1です。

dsig:DigestValue

dsig:DigestValue要素は、hash要素の必須の子です。 dsig:DigestValue要素には属性がありません。 そのテキスト値は、指定されたファイルの計算されたハッシュです。

解説

この要素は、アプリケーションを構成するすべての非アセンブリ ファイル、特にファイル検証のハッシュ値を識別します。 この要素には、ファイルに関連付けられているコンポーネント オブジェクト モデル (COM) 分離データを含めることもできます。 ファイルが変更された場合は、変更を反映するようにアプリケーション マニフェスト ファイルも更新する必要があります。

例

次のコード例は、ClickOnce を使用して配置されたアプリケーションのアプリケーション マニフェスト内の file 要素を示しています。

<file name="Icon.ico" size="9216">
  <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>lVoj+Rh6RQ/HPNLOdayQah5McrI=</dsig:DigestValue>
  </hash>
</file>

こちらも参照ください