<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
要素は省略可能です。 要素には、次の属性があります。
属性 | 説明 |
---|---|
name |
必須。 ファイルの名前を識別します。 |
size |
必須。 ファイルのサイズを指定します (バイト単位)。 |
group |
optional 属性が指定されていないか、false に設定されている場合は省略可能で、optional が true である場合は必須です。 ファイルが所属するグループの名前。 名前には、開発者が選択した任意の Unicode 文字列値を使用できます。また、名前は、ApplicationDeployment クラスを使用してオンデマンドでファイルをダウンロードするために使用されます。 |
optional |
省略可能。 アプリケーションの初回実行時にこのファイルをダウンロードする必要があるかどうかや、アプリケーションがオンデマンドで要求するまでそのファイルをサーバーにのみ配置する必要があるかどうかを指定します。 false または未定義の場合、アプリケーションが最初に実行またはインストールされるときに、ファイルがダウンロードされます。 true の場合、アプリケーション マニフェストを有効にするためには group を指定する必要があります。 値が applicationData である writeableType が指定されている場合は、optional を true にすることはできません。 |
writeableType |
省略可能。 このファイルがデータ ファイルであることを指定します。 現在、有効値は applicationData のみです。 |
typelib
typelib
要素は、file 要素の省略可能な子です。 この要素では、COM コンポーネントに属するタイプ ライブラリについて記述します。 要素には、次の属性があります。
属性 | 説明 |
---|---|
tlbid |
必須。 タイプ ライブラリに割り当てられている GUID。 |
version |
必須。 タイプ ライブラリのバージョン番号。 |
helpdir |
必須。 コンポーネントのヘルプ ファイルが含まれるディレクトリ。 長さがゼロの場合があります。 |
resourceid |
省略可能。 ロケール識別子 (LCID) の 16 進文字列表現。 これは、0x プレフィックスがなく、先頭のゼロがない、1 ~ 4 桁の 16 進数です。 LCID には、中立の副言語識別子が含まれている場合があります。 |
flags |
省略可能。 このタイプ ライブラリのタイプ ライブラリ フラグの文字列表現。 具体的には、これは "RESTRICTED"、"CONTROL"、"HIDDEN"、"HASDISKIMAGE" のいずれかである必要があります。 |
comClass
comClass
要素は、file
要素の省略可能な子ですが、登録を必要としない COM を使用して配置する予定の COM コンポーネントが ClickOnce アプリケーションに含まれている場合は必須です。 要素には、次の属性があります。
属性 | 説明 |
---|---|
clsid |
必須。 GUID として表現された COM コンポーネントのクラス ID。 |
description |
省略可能。 クラス名。 |
threadingModel |
省略可能。 インプロセス COM クラスによって使用されるスレッド モデル。 このプロパティが null の場合、スレッド モデルは使用されません。 コンポーネントはクライアントのメイン スレッドで作成され、他のスレッドからの呼び出しはこのスレッドにマーシャリングされます。 次の一覧に有効な値を示します。Apartment 、Free 、Both 、Neutral 。 |
tlbid |
省略可能。 COM コンポーネントのタイプ ライブラリの GUID。 |
progid |
省略可能。 COM コンポーネントに関連付けられている、バージョン依存のプログラム識別子。 ProgID の形式は <vendor>.<component>.<version> です。 |
miscStatus |
省略可能。 MiscStatus レジストリ キーによって提供される情報を、アセンブリ マニフェスト内に複製します。 miscStatusIcon 、miscStatusContent 、miscStatusDocprint 、miscStatusThumbnail 属性の値が見つからない場合、不足している属性には、miscStatus に示されている対応する既定値が使用されます。 値として、次の表に示す属性値のコンマ区切りの一覧を指定できます。 COM クラスが、MiscStatus レジストリ キー値を必要とする OCX クラスである場合は、この属性を使用できます。 |
miscStatusIcon |
省略可能。 DVASPECT_ICON によって提供される情報を、アセンブリ マニフェスト内に複製します。 これにより、オブジェクトのアイコンを提供できます。 値として、次の表に示す属性値のコンマ区切りの一覧を指定できます。 COM クラスが、Miscstatus レジストリ キー値を必要とする OCX クラスである場合は、この属性を使用できます。 |
miscStatusContent |
省略可能。 DVASPECT_CONTENT によって提供される情報を、アセンブリ マニフェスト内に複製します。 これにより、画面またはプリンターに表示できる複合ドキュメントを提供できます。 値として、次の表に示す属性値のコンマ区切りの一覧を指定できます。 COM クラスが、MiscStatus レジストリ キー値を必要とする OCX クラスである場合は、この属性を使用できます。 |
miscStatusDocPrint |
省略可能。 DVASPECT_DOCPRINT によって提供される情報を、アセンブリ マニフェスト内に複製します。 プリンターに印刷されるかのように画面に表示できるオブジェクト表現を提供できます。 値として、次の表に示す属性値のコンマ区切りの一覧を指定できます。 COM クラスが、MiscStatus レジストリ キー値を必要とする OCX クラスである場合は、この属性を使用できます。 |
miscStatusThumbnail |
省略可能。 DVASPECT_THUMBNAIL によって提供される情報を、アセンブリ マニフェスト内に複製します。 閲覧ツールで表示できるオブジェクトのサムネイルを提供できます。 値として、次の表に示す属性値のコンマ区切りの一覧を指定できます。 COM クラスが、MiscStatus レジストリ キー値を必要とする OCX クラスである場合は、この属性を使用できます。 |
comInterfaceExternalProxyStub
comInterfaceExternalProxyStub
要素は、file
要素の省略可能な子ですが、登録を必要としない COM を使用して配置する予定の COM コンポーネントが ClickOnce アプリケーションに含まれている場合は、必要とされる可能性があります。 この要素には、以下の属性が含まれています。
属性 | 説明 |
---|---|
iid |
必須。 このプロキシによってサービスが提供されるインターフェイスの ID (IID)。 IID は中かっこで囲む必要があります。 |
baseInterface |
省略可能。 iid によって参照されているインターフェイスの派生元であるインターフェイスの IID。 |
numMethods |
省略可能。 そのインターフェイスによって実装されているメソッドの数。 |
name |
省略可能。 コード内に記述されるインターフェイスの名前。 |
tlbid |
省略可能。 iid 属性によって指定されたインターフェイスの説明が含まれるタイプ ライブラリ。 |
proxyStubClass32 |
省略可能。 IID を、32 ビット プロキシ DLL 内の CLSID にマップします。 |
comInterfaceProxyStub
comInterfaceProxyStub
要素は、file
要素の省略可能な子ですが、登録を必要としない COM を使用して配置する予定の COM コンポーネントが ClickOnce アプリケーションに含まれている場合は、必要とされる可能性があります。 この要素には、以下の属性が含まれています。
属性 | 説明 |
---|---|
iid |
必須。 このプロキシによってサービスが提供されるインターフェイスの ID (IID)。 IID は中かっこで囲む必要があります。 |
baseInterface |
省略可能。 iid によって参照されているインターフェイスの派生元であるインターフェイスの IID。 |
numMethods |
省略可能。 そのインターフェイスによって実装されているメソッドの数。 |
Name |
省略可能。 コード内に記述されるインターフェイスの名前。 |
Tlbid |
省略可能。 iid 属性によって指定されたインターフェイスの説明が含まれるタイプ ライブラリ。 |
proxyStubClass32 |
省略可能。 IID を、32 ビット プロキシ DLL 内の CLSID にマップします。 |
threadingModel |
省略可能。 省略可能。 インプロセス COM クラスによって使用されるスレッド モデル。 このプロパティが null の場合、スレッド モデルは使用されません。 コンポーネントはクライアントのメイン スレッドで作成され、他のスレッドからの呼び出しはこのスレッドにマーシャリングされます。 次の一覧に有効な値を示します。Apartment 、Free 、Both 、Neutral 。 |
windowClass
windowClass
要素は、file
要素の省略可能な子ですが、登録を必要としない COM を使用して配置する予定の COM コンポーネントが ClickOnce アプリケーションに含まれている場合は、必要とされる可能性があります。 この要素は、バージョンが適用されている必要のある COM コンポーネントによって定義されているウィンドウ クラスを参照します。 この要素には、以下の属性が含まれています。
属性 | 説明 |
---|---|
versioned |
省略可能。 登録に使用される内部ウィンドウ クラスの名前に、そのウィンドウ クラスを含むアセンブリのバージョンを含めるかどうかを制御します。 この属性の値は yes または no にできます。 既定では、 yes です。 値 no は、同じウィンドウ クラスが、サイドバイサイド コンポーネントおよび同等の非サイドバイサイド コンポーネントによって定義されていて、それらを同じウィンドウ クラスとして扱う場合にのみ使用する必要があります。 ウィンドウ クラスの登録に関する通常の規則が適用されることに注意してください。ウィンドウ クラスを登録する最初のコンポーネントには、バージョンが適用されていないため、そのコンポーネントでのみ登録が可能です。 |
ハッシュ
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
要素に属性はありません。 そのテキスト値は、指定されたファイルについて計算されたハッシュです。
解説
この要素では、アプリケーションを構成するすべての非アセンブリ ファイルと、特に、ファイル検証のためのハッシュ値が識別されます。 この要素には、ファイルに関連付けられているコンポーネント オブジェクト モデル (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>