Bagikan melalui


Bagaimana ClickOnce melakukan pembaruan aplikasi

ClickOnce menggunakan informasi versi file yang ditentukan dalam manifes penyebaran aplikasi untuk memutuskan kapan file aplikasi akan diperbarui. Setelah pembaruan dimulai, ClickOnce menggunakan teknik yang disebut patching file untuk menghindari pengunduhan file aplikasi yang berlebihan.

Patching file

Saat memperbarui aplikasi, ClickOnce tidak mengunduh semua file untuk versi baru aplikasi kecuali file telah berubah. Sebaliknya, ClickOnce membandingkan tanda tangan hash dari file yang ditentukan dalam manifes aplikasi untuk aplikasi saat ini dengan tanda dalam manifes untuk versi baru. Jika tanda tangan file berbeda, ClickOnce akan mengunduh versi baru. Jika tanda tangan cocok, file tidak berubah dari satu versi ke versi berikutnya. Dalam hal ini, ClickOnce akan menyalin file yang ada dan menggunakannya dalam versi baru aplikasi. Pendekatan ini mencegah ClickOnce harus mengunduh seluruh aplikasi lagi, meskipun yang berubah hanya satu atau dua file.

Patching file juga berfungsi untuk rakitan yang diunduh sesuai permintaan menggunakan metode DownloadFileGroup dan DownloadFileGroupAsync.

Catatan

Kelas ApplicationDeployment dan API di System.Deployment.Application namespace tidak didukung dalam .NET Core dan .NET 5 dan versi yang lebih baru. Di .NET 7, metode baru untuk mengakses properti penyebaran aplikasi didukung. Untuk informasi selengkapnya, lihat Properti penyebaran Access ClickOnce di .NET. .NET 7 tidak mendukung metode ApplicationDeployment yang setara.

Jika Anda menggunakan Visual Studio untuk mengkompilasi aplikasi Anda, patching file akan menghasilkan tanda tangan hash baru untuk semua file setiap kali Anda membuat ulang seluruh proyek. Dalam hal ini, semua rakitan akan diunduh ke komputer klien, meskipun hanya beberapa rakitan yang mungkin berubah.

Patching file tidak berfungsi untuk file yang ditandai sebagai data dan disimpan dalam direktori data. Rakitan akan selalu diunduh tanpa memperhatikan tanda tangan hash file. Untuk informasi selengkapnya tentang direktori data, lihat Mengakses data lokal dan jarak jauh di aplikasi ClickOnce.