Share via


<deployment> 項目 (ClickOnce 部署)

<deployment 
   install
   minimumRequiredVersion
   mapFileExtensions
   disallowUrlActivation
   trustUrlParameters
> 
   <subscription> 
         <update> 
            <beforeApplicationStartup/> 
            <expiration
               maximumAge
               unit
            />
         </update>  
   </subscription> 
   <deploymentProvider 
      codebase 
   /> 
</deployment>

項目和屬性

deployment 項目是必要項,而且位於 urn:schemas-microsoft-com:asm.v1 命名空間中。 項目具有下列屬性 (Attribute)。

屬性

描述

install

必要項。 指定此應用程式是否會定義出現在 Windows [開始] 功能表和 [控制台] 內的 [新增或移除程式] 應用程式中。 有效值為 true 和 false。 如果為 false,ClickOnce 就一定會從網路執行此應用程式的最新版本,並且將不會辨認 subscription 項目。

minimumRequiredVersion

選擇項。 指定此應用程式能在用戶端上執行的最小版本。 如果應用程式的版本號碼小於部署資訊清單中提供的版本號碼,應用程式就不會執行。 版本號碼必須以 N.N.N.N 格式指定,其中的 N 是不帶正負號的整數 (Unsigned Integer)。 如果 install 屬性為 false,就不能設定 minimumRequiredVersion。

mapFileExtensions

選擇項。 預設值為 false。 如果為 true,部署中的所有檔案必須具有 .deploy 副檔名。 一旦從 Web 伺服器下載這些檔案,ClickOnce 就會立刻從它們移除這個副檔名。 如果您是使用 Visual Studio 發行應用程式,它會自動替所有檔案加上這個副檔名。 這個參數讓 ClickOnce 部署內的所有檔案,都可以從封鎖具有「不安全」副檔名 (例如 .exe) 之檔案傳輸的 Web 伺服器下載。

disallowUrlActivation

選擇項。 預設值為 false。 如果是 true,就無法經由按一下 URL 或者在 Internet Explorer 中輸入 URL 來啟動安裝的應用程式。 如果不存在 install 屬性,就會忽略這個屬性。

trustURLParameters

選擇項。 預設值為 false。 如果是 true,URL 就可以包含要傳遞至應用程式的查詢字串參數,很像將命令列引數傳遞給命令列應用程式。 如需詳細資訊,請參閱 HOW TO:在線上 ClickOnce 應用程式中擷取查詢字串資訊

如果 disallowUrlActivation 屬性為 true,就應該將 trustUrlParameters 從資訊清單中排除,或將它明確設定為 false。

deployment 項目也含有下列子項目。

Subscription - 訂閱

選擇項。 包含 update 項目。 subscription 項目沒有任何屬性。 如果沒有 subscription 項目,ClickOnce 應用程式就絕對不會掃描更新。 如果 deployment 項目的 install 屬性為 false,由於從網路啟動的 ClickOnce 應用程式一定會使用最新版本,因此會忽略 subscription 項目。

update

必要項。 這個項目是 subscription 項目的子系,並包含 beforeApplicationStartup 或 expiration 項目。 beforeApplicationStartup 和 expiration 無法同時在相同的部署資訊清單中被指定。

update 項目沒有任何屬性。

beforeApplicationStartup

選擇項。 這個項目是 update 項目的子項目,而且沒有屬性。 當 beforeApplicationStartup 項目存在時,如果用戶端位於線上,便會在 ClickOnce 檢查更新時封鎖應用程式。 如果不存在這個項目,ClickOnce 會先根據為 expiration 項目指定的值來掃描更新。 beforeApplicationStartup 和 expiration 無法同時在相同的部署資訊清單中被指定。

expiration

選擇項。 這個項目是 update 項目的子系,而且本身沒有子系。 beforeApplicationStartup 和 expiration 無法同時在相同的部署資訊清單中被指定。 更新檢查時若偵測到更新版本,新版本會在現有版本執行時快取。 下次啟動 ClickOnce 應用程式時會接著安裝新版本。

expiration 項目可支援下列屬性 (Attribute)。

屬性

描述

maximumAge

必要項。 識別應用程式每次執行更新檢查的間隔時間。 時間的單位由 unit 屬性決定。

unit

必要項。 識別 maximumAge 的時間單位。 有效單位為 hours、days 及 weeks。

deploymentProvider

對於 .NET Framework 2.0,如果部署資訊清單包含 subscription 區段,這個項目就是必要的。 對於 .NET Framework 3.5 (含) 以後版本,此項目是選擇性的,而且會預設為發現部署資訊清單的伺服器和檔案路徑。

這個項目是 deployment 項目的子項,並具備下列屬性。

屬性

描述

codebase

必要項。 識別用來更新 ClickOnce 應用程式的部署資訊清單位置 (統一資源識別元 (URI))。 此項目也允許轉送 CD 式安裝的更新位置。 必須是有效的 URI。

備註

您可以設定 ClickOnce 應用程式,以便在啟動時掃描更新、在啟動後掃描更新,或是絕不檢查更新。 若要在啟動時掃描更新,請確定 beforeApplicationStartup 項目在 update 項目之下。 若要在啟動後掃描更新,請確定 expiration 項目存在於 update 項目之下,並有提供更新間隔。

若要停用檢查更新,請移除 subscription 項目。 即使在部署資訊清單中指定絕不掃描更新,您還是可以使用 CheckForUpdate 方法以手動方式檢查更新。

如需 deploymentProvider 與更新之關係的詳細資訊,請參閱選擇 ClickOnce 更新策略

範例

在下列程式碼範例中,會說明 ClickOnce 部署資訊清單中的 deployment 項目。 此範例會使用 deploymentProvider 項目來指出慣用的更新位置。

<deployment install="true" minimumRequiredVersion="2.0.0.0" mapFileExtension="true" trustUrlParameters="true">
    <subscription>
      <update>
        <expiration maximumAge="6" unit="hours" />
      </update>
    </subscription>
    <deploymentProvider codebase="http://www.adatum.com/MyApplication.application" />
  </deployment>

請參閱

參考

ClickOnce 部署資訊清單