<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 を指定する必要があります。 writeableType に値 applicationData が指定されている場合、optional を true に指定することはできません。 |
writeableType |
省略できます。 このファイルをデータ ファイルとして指定します。 現在の有効な値は applicationData のみです。 |
typelib
typelib 要素は、ファイル要素の子要素で、省略可能です。 この要素は、COM コンポーネントに属するタイプ ライブラリを表します。 この要素には、次の属性があります。
属性 |
説明 |
---|---|
tlbid |
必ず指定します。 タイプ ライブラリに代入された GUID です。 |
version |
必ず指定します。 タイプ ライブラリのバージョン番号です。 |
helpdir |
必ず指定します。 コンポーネントのヘルプ ファイルが格納されているディレクトリです。 長さが 0 の場合があります。 |
resourceid |
省略可能です。 ロケール識別子 (LCID) の 16 進文字列表現です。 0x プリフィックスや先行するゼロを含まない 1 ~ 4 桁の 16 進数字です。 LCID には、ニュートラル サブ言語識別子がある場合があります。 |
flags |
省略可能です。 このタイプ ライブラリのタイプ ライブラリ フラグの文字列表現です。 "RESTRICTED"、"CONTROL"、"HIDDEN"、または "HASDISKIMAGE" のいずれかです。 |
comClass
comClass 要素は file 要素の省略可能な子要素ですが、ClickOnce アプリケーションに登録不要な COM を使用して配置する COM コンポーネントが含まれる場合は必要です。 この要素には、次の属性があります。
属性 |
説明 |
---|---|
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 要素の省略可能な子要素ですが、ClickOnce アプリケーションに登録不要な COM を使用して配置する COM コンポーネントが含まれる場合は必要になることがあります。 この要素には、次の属性があります。
属性 |
説明 |
---|---|
iid |
必ず指定します。 このプロキシが提供するインターフェイス ID (IID) です。 IID は、中かっこで囲む必要があります。 |
baseInterface |
省略できます。 iid によって参照されるインターフェイスが派生するインターフェイスの IID です。 |
numMethods |
省略できます。 インターフェイスが実装するメソッドの数です。 |
name |
省略できます。 コードに設定されるインターフェイスの名前です。 |
tlbid |
省略できます。 iid 属性によって指定されるインターフェイスの説明を含むタイプ ライブラリです。 |
proxyStubClass32 |
省略できます。 32 ビットのプロキシ DLL で IID を CLSID に割り当てます。 |
comInterfaceProxyStub
comInterfaceProxyStub 要素は file 要素の省略可能な子要素ですが、ClickOnce アプリケーションに登録不要な COM を使用して配置する COM コンポーネントが含まれる場合は必要になることがあります。 この要素には、次の属性があります。
属性 |
説明 |
---|---|
iid |
必ず指定します。 このプロキシが提供するインターフェイス ID (IID) です。 IID は、中かっこで囲む必要があります。 |
baseInterface |
省略できます。 iid によって参照されるインターフェイスが派生するインターフェイスの IID です。 |
numMethods |
省略できます。 インターフェイスが実装するメソッドの数です。 |
Name |
省略できます。 コードに設定されるインターフェイスの名前です。 |
Tlbid |
省略できます。 iid 属性によって指定されるインターフェイスの説明を含むタイプ ライブラリです。 |
proxyStubClass32 |
省略できます。 32 ビットのプロキシ DLL で IID を CLSID に割り当てます。 |
threadingModel |
省略可能。 省略可能。 インプロセス COM クラスが使用するスレッド モデルです。 このプロパティが null の場合、スレッド モデルは使用されません。 コンポーネントはクライアントのメイン スレッドで作成され、他のスレッドからの呼び出しはこのスレッドにマーシャリングされます。 有効な値は次のとおりです。 Apartment、Free、Both、および Neutral |
windowClass
windowClass 要素は file 要素の省略可能な子要素ですが、ClickOnce アプリケーションに登録不要な COM を使用して配置する COM コンポーネントが含まれる場合は必要になることがあります。 この要素は、バージョンが適用されている COM コンポーネントが定義するウィンドウ クラスを参照します。 この要素には、次の属性があります。
属性 |
説明 |
---|---|
versioned |
省略可能です。 登録に使用される内部ウィンドウ クラスの名前にウィンドウ クラスを含むアセンブリのバージョンを含めるかどうかを制御します。 この属性の値は、yes または no です。 既定値は yes です。 no は、同じウィンドウ クラスが side-by-side コンポーネントおよび同等の非 side-by-side コンポーネントによって定義され、同じウィンドウ クラスとして扱う場合だけ使用してください。 ウィンドウ クラスの登録に関する通常の規則が適用されることに注意してください。バージョンが適用されていないため、ウィンドウ クラスを最初に登録するコンポーネントだけが登録できます。 |
hash
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: Component Object Model) 分離データも含めることもできます。 ファイルが変更された場合は、変更内容を反映するためにアプリケーション マニフェスト ファイルも更新する必要があります。
使用例
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>