語言

<檔案> 元素(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 項目是選擇性的。 該元素具有以下屬性。

Attribute Description
name Required. 識別檔案名稱。
size Required. 指定檔案大小(以位元組為單位)。
group 若屬性未指定或設定為可選optional;若optional為 true則false為 。 本檔案所屬的團體名稱。 名稱可以是開發者選擇的任何 Unicode 字串值,並用於隨需下載該類別的 ApplicationDeployment 檔案。
optional Optional. 規定該檔案是否必須在應用程式首次執行時下載,或該檔案應僅停留在伺服器上,直到應用程式按需請求。 若為 false 未定義,該檔案會在應用程式首次執行或安裝時下載。 若 true,則必須指定 a group 以使應用程式清單有效。 optional 若 writeableType 以 指定為 applicationData,則 不成立。
writeableType Optional. 指定此檔案為資料檔案。 目前唯一有效的值是 applicationData。

Typelib

該 typelib 元素是檔案元素的可選子節點。 該元素描述屬於 COM 元件的型別函式庫。 該元素具有以下屬性。

Attribute Description
tlbid Required. 指派給型別庫的 GUID。
version Required. 型別函式庫的版本號。
helpdir Required. 包含該元件說明檔案的目錄。 可能是零長度。
resourceid Optional. 地點識別碼(LCID)的十六進位字串表示法。 它是一到四個十六進位數字,沒有 0x 前綴,也沒有前置零。 LCID 可能具有中立的子語言識別碼。
flags Optional. 此型別函式庫旗標的字串表示法。 具體來說,應該是「限制」、「控制」、「隱藏」和「HASDISKIMAGE」這幾個字之一。

comClass

該 comClass 元素是該元素的 file 可選子節點,但若 ClickOnce 應用程式包含其打算使用無註冊 COM 部署的 COM 元件,則該元件是必須的。 該元素具有以下屬性。

Attribute Description
clsid Required. COM元件的類別識別碼以GUID表示。
description Optional. 類別名稱。
threadingModel Optional. 這是進行中 COM 類別所使用的執行緒模型。 若此特性為空,則不使用執行緒模型。 元件是在客戶端的主執行緒上建立的,其他執行緒的呼叫會被整理到這個執行緒。 以下列表顯示有效數值:

Apartment、Free、Both 和 Neutral。
tlbid Optional. GUID 用於此 COM 元件的型別函式庫。
progid Optional. 與 COM 元件相關的版本相關程式識別碼。 a ProgID 的格式為 <vendor>.<component>.<version>。
miscStatus Optional. 組合中的重複件會顯示登錄鍵所 MiscStatus 提供的資訊。 若找不到 、 、 或 屬性的值miscStatusIcon,則使用中miscStatus列出的相應預設值來替代缺少的屬性。miscStatusThumbnailmiscStatusDocprintmiscStatusContent 該值可以是以下表格中以逗號分隔的屬性值列表。 如果 COM 類別是需要 MiscStatus 登錄檔金鑰值的 OCX 類別,你可以使用這個屬性。
miscStatusIcon Optional. 組裝中的重複件顯示DVASPECT_ICON所提供的資訊。 它可以提供物件的圖示。 該值可以是以下表格中以逗號分隔的屬性值列表。 如果 COM 類別是需要 Miscstatus 登錄檔金鑰值的 OCX 類別,你可以使用這個屬性。
miscStatusContent Optional. 組件中的重複件顯示DVASPECT_CONTENT所提供的資訊。 它可以提供可顯示於螢幕或印表機上的複合文件。 該值可以是以下表格中以逗號分隔的屬性值列表。 如果 COM 類別是需要 MiscStatus 登錄檔金鑰值的 OCX 類別,你可以使用這個屬性。
miscStatusDocPrint Optional. 組件中的重複件會顯示DVASPECT_DOCPRINT所提供的資訊。 它能提供可像列印到印表機一樣顯示的物件表示。 該值可以是以下表格中以逗號分隔的屬性值列表。 如果 COM 類別是需要 MiscStatus 登錄檔金鑰值的 OCX 類別,你可以使用這個屬性。
miscStatusThumbnail Optional. 集合中的重複者會顯現DVASPECT_THUMBNAIL所提供的資訊。 它可以提供物件的縮圖,可在瀏覽工具中顯示。 該值可以是以下表格中以逗號分隔的屬性值列表。 如果 COM 類別是需要 MiscStatus 登錄檔金鑰值的 OCX 類別,你可以使用這個屬性。

comInterfaceExternalProxyStub

該 comInterfaceExternalProxyStub 元素是該元素的 file 可選子節點,但若 ClickOnce 應用程式包含其打算使用免註冊 COM 部署的 COM 元件,則可能需要啟用。 該元素包含以下屬性。

Attribute Description
iid Required. 介面識別碼(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 元件,則可能需要啟用。 該元素包含以下屬性。

Attribute Description
iid Required. 介面識別碼(IID),由此代理伺服器服務。 IID周圍一定有支架。
baseInterface Optional. 所參考 iid 介面所衍生的介面的 IID。
numMethods Optional. 介面實作的方法數量。
Name Optional. 介面名稱在程式碼中會顯示。
Tlbid Optional. 包含由 iid 屬性指定的介面描述的型別函式庫。
proxyStubClass32 Optional. 將 IID 映射到 32 位元代理 DLL 中的 CLSID。
threadingModel Optional. Optional. 這是進行中 COM 類別所使用的執行緒模型。 若此特性為空,則不使用執行緒模型。 元件是在客戶端的主執行緒上建立的,其他執行緒的呼叫會被整理到這個執行緒。 以下列表顯示有效數值:

Apartment、Free、Both 和 Neutral。

視窗類別

該 windowClass 元素是該元素的 file 可選子節點,但若 ClickOnce 應用程式包含其打算使用免註冊 COM 部署的 COM 元件,則可能需要啟用。 該元素指的是由 COM 元件定義的視窗類別,必須套用一個版本。 該元素包含以下屬性。

Attribute Description
versioned Optional. 控制註冊中使用的內部視窗類別名稱是否包含包含該視窗類別的組合語言版本。 此屬性的值可以是 yes 或 no。 預設值為 yes。 只有當同一視窗類別由並排元件與等效的非並排元件定義,且你想將它們視為同一視窗類別時,才應使用此值 no 。 請注意,關於視窗類別註冊的通常規則仍然適用——只有第一個註冊該視窗類別的元件能註冊,因為該元件沒有套用版本。

雜湊

該 hash 元素是該 file 元素的可選子節點。 元素 hash 沒有屬性。

ClickOnce 使用應用程式中所有檔案的演算法雜湊作為安全檢查,以確保部署後沒有檔案被更改。 若未包含該 hash 元素,則不會執行此檢查。 因此,不建議省略該 hash 元素。

如果清單包含未經過雜湊的檔案,該清單無法進行數位簽署,因為使用者無法驗證未雜湊檔案的內容。

dsig:變身

該 dsig:Transforms 元素是該 hash 元素的必修子節點。 元素 dsig:Transforms 沒有屬性。

dsig:變換

該 dsig:Transform 元素是該 dsig:Transforms 元素的必修子節點。 該 dsig:Transform 元素具有以下屬性。

Attribute Description
Algorithm 計算此檔案摘要的演算法。 目前 ClickOnce 唯一使用的值是 urn:schemas-microsoft-com:HashTransforms.Identity。

dsig:DigestMethod

該 dsig:DigestMethod 元素是該 hash 元素的必修子節點。 該 dsig:DigestMethod 元素具有以下屬性。

Attribute Description
Algorithm 計算此檔案摘要的演算法。 目前 ClickOnce 唯一使用的值是 http://www.w3.org/2000/09/xmldsig#sha1。

dsig:DigestValue

該 dsig:DigestValue 元素是該 hash 元素的必修子節點。 元素 dsig:DigestValue 沒有屬性。 其文字值即為指定檔案的計算雜湊值。

備註

此元素識別所有非組合語言檔案,特別是用於檔案驗證的雜湊值。 此元素亦可包含與檔案相關的元件物件模型(COM)隔離資料。 若檔案變更,應用程式清單檔案也必須更新以反映變更。

Example

以下程式碼範例說明 file 使用 ClickOnce 部署應用程式的應用程式清單中的元素。

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

參見