共用方式為


ClickOnce 如何執行應用程式更新

ClickOnce 會使用應用程式部署資訊清單中指定的檔案版本資訊來決定是否要更新應用程式的檔案。 更新開始之後,ClickOnce 會使用稱為 檔案修補 的技術來避免應用程式檔案的備援下載。

檔案修補

更新應用程式時,除非檔案已變更,否則 ClickOnce 不會下載新版本應用程式的所有檔案。 相反地,它會將目前應用程式資訊清單中指定的檔案雜湊簽章與新版本資訊清單中的簽章進行比較。 如果檔案的簽章不同,ClickOnce 會下載新版本。 如果簽章相符,則檔案不會從一個版本變更為下一個版本。 在此情況下,ClickOnce 會複製現有的檔案,並在新版本的應用程式中使用它。 此方法可防止 ClickOnce 必須再次下載整個應用程式,即使只有一兩個檔案已變更。

檔案修補也適用於使用 DownloadFileGroupDownloadFileGroupAsync 方法按需下載的元件。

備註

ApplicationDeployment命名空間中的System.Deployment.Application類別和 API 不支援 .NET Core 和 .NET 5 和更新版本。 在 .NET 7 中,支援存取應用程式部署屬性的新方法。 如需詳細資訊,請參閱 存取 .NET 中的 ClickOnce 部署屬性。 .NET 7 不支援對等的 ApplicationDeployment 方法。

如果您使用 Visual Studio 編譯應用程式,每當您重建整個專案時,它都會為所有檔案產生新的雜湊簽章。 在此情況下,所有元件都會下載至用戶端,但可能只有少數元件已變更。

檔案修補不適用於標示為資料並儲存在資料目錄中的檔案。 無論檔案的雜湊簽章為何,這些內容都會被下載。 如需資料目錄的詳細資訊,請參閱 存取 ClickOnce 應用程式中的本機和遠端資料