語言
識別用於部署更新及系統暴露的屬性。
語法
<deployment
install
minimumRequiredVersion
mapFileExtensions
disallowUrlActivation
trustUrlParameters
>
<subscription>
<update>
<beforeApplicationStartup/>
<expiration
maximumAge
unit
/>
</update>
</subscription>
<deploymentProvider
codebase
/>
</deployment>
元素和屬性
該 deployment 元素是必填且位於命名空間中 urn:schemas-microsoft-com:asm.v2 。 該元素具有以下屬性。
| Attribute | Description |
|---|---|
install |
Required. 指定此應用程式是否在 Windows 開始選單及控制台新增或移除程式應用程式中定義存在狀態。 有效值為 true 和 false。 若 false,ClickOnce 將始終從網路執行最新版本的應用程式,且不會辨識該 subscription 元素。 |
minimumRequiredVersion |
Optional. 指定該應用程式可在用戶端執行的最小版本。 若應用程式的版本號小於部署清單中提供的版本號,該應用程式將無法執行。 版本號必須以格式 N.N.N.N指定,其中 N 是無符號整數。 若 install 屬性為 false, minimumRequiredVersion 則不得設定。 |
mapFileExtensions |
Optional. 預設為 false。 若 true,部署中的所有檔案必須有 .deploy 副檔名。 ClickOnce 會在從網頁伺服器下載這些檔案後,立即移除這個副檔名。 如果你用 Visual Studio 發佈應用程式,它會自動為所有檔案加上這個副檔名。 此參數允許從阻止以「不安全」副檔名結尾的檔案傳輸的網頁伺服器下載所有 ClickOnce 部署中的檔案,例如 .exe。 |
disallowUrlActivation |
Optional. 預設為 false。 如果 true,則無法透過點擊 URL 或在瀏覽器中輸入該 URL 來啟動已安裝的應用程式。 若 install 該屬性不存在,則忽略該屬性。 |
trustURLParameters |
Optional. 預設為 false。 如果 true,則允許 URL 包含傳入應用程式的查詢字串參數,就像命令列參數傳遞給命令列應用程式一樣。 欲了解更多資訊,請參閱 「如何:在線上 ClickOnce 應用程式中取得查詢字串資訊」。若屬性 disallowUrlActivation 為 true, trustUrlParameters 則必須從清單中排除,或明確設為 false。 |
該 deployment 元素同時包含以下子元素。
月租方案
Optional. 包含元素 update 。 元素 subscription 沒有屬性。 若 subscription 該元素不存在,ClickOnce 應用程式將永遠無法掃描更新。 若installdeployment元素屬性為 false,subscription則該元素會被忽略,因為從網路啟動的 ClickOnce 應用程式總是使用最新版本。
更新
Required. 此元素是該 subscription 元素的子節點,且包含 或 beforeApplicationStartup 元素 expiration 。
beforeApplicationStartup 且 expiration 無法同時指定在同一張部署清單中。
元素 update 沒有屬性。
beforeApplicationStartup
Optional. 此元素是該元素的子 update 元素,且沒有屬性。 當該 beforeApplicationStartup 元素存在時,當 ClickOnce 檢查更新時,應用程式會被阻擋,且客戶端仍在線上。 若該元素不存在,ClickOnce 會先根據該 expiration 元素指定的值掃描更新。
beforeApplicationStartup 且 expiration 無法同時指定在同一張部署清單中。
到期日
Optional. 這個元素是元素 update 的子,沒有子孫。
beforeApplicationStartup 且 expiration 無法同時指定在同一張部署清單中。 當更新檢查發生且偵測到更新版本時,新版本會快取,而現有版本則繼續執行。 新版本會在 ClickOnce 應用程式的下一次啟動時安裝。
該 expiration 元素支援以下屬性。
| Attribute | Description |
|---|---|
maximumAge |
Required. 用以識別目前更新應該有多舊,然後應用程式才會進行更新檢查。 時間單位由 unit 屬性決定。 |
unit |
Required. 識別時間單位。maximumAge 有效的單位有 hours、 days、 weeks和 。 |
部署提供者
對於 .NET Framework 2.0,若部署清單包含某subscription個區段,則此元素是必不可少的。 對於 .NET Framework 3.5 及以後版本,此元素為可選,預設會依據發現部署清單的伺服器與檔案路徑。
此元素是該 deployment 元素的子節點,具有以下屬性。
| Attribute | Description |
|---|---|
codebase |
Required. 以統一資源識別碼(URI)識別部署清單的位置,用於更新 ClickOnce 應用程式。 此元素也允許為基於光碟的安裝轉發更新位置。 必須是有效的 URI。 |
備註
你可以設定 ClickOnce 應用程式在啟動時掃描更新、啟動後掃描更新,或是完全不檢查更新。 要在啟動時掃描更新,請確保該 beforeApplicationStartup 元素存在於該 update 元素之下。 啟動後要掃描更新,請確保該 expiration 元素存在於該 update 元素之下,並且提供更新間隔。
要停用更新檢查功能,請移除該 subscription 元素。 當你在部署清單中指定永遠不要掃描更新時,你仍然可以透過這個 CheckForUpdate 方法手動檢查更新。
注意
ApplicationDeployment命名空間中的System.Deployment.Application類別和 API 不支援 .NET Core 和 .NET 5 和更新版本。 在 .NET 7 中,支援存取應用程式部署屬性的新方法。 如需詳細資訊,請參閱 存取 .NET 中的 ClickOnce 部署屬性。 .NET 7 不支援對等的 ApplicationDeployment 方法。
欲了解更多關於 deploymentProvider 與更新的關聯,請參閱 「選擇 ClickOnce 更新策略」。
Examples
以下程式碼範例說明了 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>