共用方式為


在測試和生產伺服器上部署 ClickOnce 應用程式,無需重新簽署

本文說明 .NET Framework 3.5 版中引進的 ClickOnce 功能,可讓您從多個網路位置部署 ClickOnce 應用程式,而不需要重新簽署或變更 ClickOnce 資訊清單。

備註

簽署仍然是部署新版本應用程式的首選方法。 只要有可能,請使用辭職方法。 如需詳細資訊,請參閱 Mage.exe (資訊清單產生和編輯工具)。

第三方開發人員和 ISV 可以選擇加入此功能,讓客戶更輕鬆地更新其應用程式。 此功能可用於以下情況:

  • 更新應用程式時,而不是第一次安裝應用程式時。

  • 當電腦上只有一個應用程式設定時。 例如,如果應用程式配置為指向兩個不同的資料庫,則無法使用此功能。

從部署資訊清單中排除 deploymentProvider

在 .NET Framework 2.0 和 .NET Framework 3.0 中,任何為取得離線可用性而安裝在系統上的 ClickOnce 應用程式,必須在其部署資訊清單中列出一個 deploymentProvider。 通常 deploymentProvider 稱為更新位置;這是 ClickOnce 檢查應用程式更新的位置。 這項需求,以及應用程式發行者簽署其部署的需求,讓公司難以更新廠商或其他協力廠商的 ClickOnce 應用程式。 這也使得從同一網路上的多個位置部署相同的應用程式變得更加困難。

透過在 .NET Framework 3.5 中對 ClickOnce 所做的變更,協力廠商可以將 ClickOnce 應用程式提供給另一個組織,然後該組織可以在自己的網路上部署應用程式。

為了利用此功能,ClickOnce 應用程式的開發人員必須從其部署資訊清單中排除 deploymentProvider 。 此需求表示當您使用 Mage.exe建立部署資訊清單時,必須排除 -providerUrl 引數。 或者,如果您要使用 MageUI.exe產生部署資訊清單,則必須確定 [應用程式資訊清單] 索引標籤上的 [啟動位置] 文字方塊保留空白。

備註

在適用於 .NET Core 3.1 和 .NET 5 或更新版本的 ClickOnce 中,請使用 dotnet-mage.exe 而不是 Mage.exe。 如需詳細資訊,請參閱 .NET 的 ClickOnce

部署提供者和應用程式更新

從 .NET Framework 3.5 開始,您不再需要在部署資訊清單中指定 , deploymentProvider 即可部署 ClickOnce 應用程式以供線上和離線使用。 此變更支援您需要自行封裝和簽署部署,但允許其他公司透過其網路部署應用程式的案例。

要記住的重要一點是,排除 的 deploymentProvider 應用程式無法在更新期間變更其安裝位置,直到它們再次發佈包含標籤 deploymentProvider 的更新為止。

這裡有兩個例子來澄清這一點。 在第一個範例中,您會發佈沒有 deploymentProvider 標籤的 ClickOnce 應用程式,並要求使用者從 http://www.adatum.com/MyApplication/安裝它。 如果您決定要從 http://subdomain.adatum.com/MyApplication/發佈應用程式的下一個更新,則無法在位於 的部署資訊清單 http://www.adatum.com/MyApplication/中表示這一點。 您可以執行下列兩個動作之一:

  • 告訴您的使用者解除安裝舊版,然後從新位置安裝新版。

  • 包括有關http://www.adatum.com/MyApplication/的更新,其中包含一個deploymentProvider指向http://www.adatum.com/MyApplication/。 然後,稍後發佈另一個更新,讓 deploymentProvider 指向 http://subdomain.adatum.com/MyApplication/

    在第二個範例中,您會發佈指定 deploymentProvider的 ClickOnce 應用程式,然後決定將其移除。 將沒有 deploymentProvider 的新版本下載到用戶端之後,直到您發行具有deploymentProvider還原的應用程式版本之前,您無法重新導向用於更新的路徑。 與第一個範例一樣, deploymentProvider 一開始必須指向目前的更新位置,而不是您的新位置。 在此情況下,如果您嘗試插入一個deploymentProvider來參照http://subdomain.adatum.com/MyApplication/,那麼下一次更新會失敗。

建立部署

如需建立可從不同網路位置部署的部署的逐步指引,請參閱 逐步解說:手動部署不需要重新簽署且保留品牌資訊的 ClickOnce 應用程式