Share via


Menyebarkan aplikasi ClickOnce untuk server pengujian dan produksi tanpa menandatangani ulang

Artikel ini menjelaskan fitur ClickOnce yang diperkenalkan .NET Framework versi 3.5 yang memungkinkan penyebaran aplikasi ClickOnce dari beberapa lokasi jaringan tanpa menandatangani ulang atau mengubah manifes ClickOnce.

Catatan

Menandatangani ulang masih menjadi metode menyebarkan versi aplikasi baru yang disukai. Jika memungkinkan, gunakan metode tanda tangan ulang. Untuk mengetahui informasi lebih lengkap, lihat Mage.exe (Pembuatan Manifes dan Alat Pengeditan).

Pengembang dan ISV pihak ketiga dapat memilih fitur ini sehingga memudahkan pelanggan mereka untuk memperbarui aplikasi mereka. Fitur ini dapat digunakan dalam situasi berikut:

  • Saat memperbarui aplikasi, bukan penginstalan pertama aplikasi.

  • Ketika hanya ada satu konfigurasi aplikasi pada komputer. Jika aplikasi dikonfigurasi untuk mengarah ke dua database yang berbeda, Anda tidak dapat menggunakan fitur ini.

Melarang masuk deploymentProvider dari manifes penyebaran

Dalam .NET Framework 2.0 dan .NET Framework 3.0, aplikasi ClickOnce apa pun yang diinstal pada sistem untuk ketersediaan offline harus mencantumkan deploymentProvider manifes penyebarannya. deploymentProvider sering disebut sebagai lokasi pembaruan; ini merupakan lokasi di mana ClickOnce memeriksa pembaruan aplikasi. Persyaratan ini serta kebutuhan penerbit aplikasi untuk menandatangani penyebaran mereka, menyulitkan perusahaan untuk memperbarui aplikasi ClickOnce dari vendor atau pihak ketiga lainnya. Itu juga menyulitkan penyebaran aplikasi yang sama dari beberapa lokasi di jaringan yang sama.

Dengan perubahan yang dibuat pada ClickOnce di .NET Framework 3.5, memungkinkan pihak ketiga untuk menyediakan aplikasi ClickOnce ke organisasi lain, yang kemudian dapat menyebarkan aplikasi di jaringannya sendiri.

Untuk memanfaatkan fitur ini, pengembang aplikasi ClickOnce harus melarang masuk deploymentProvider dari manifes penyebarannya. Persyaratan ini menandakan bahwa Anda harus mengecualikan -providerUrl argumen saat membuat manifes penyebaran dengan Mage.exe. Atau, jika Anda membuat manifes penyebaran dengan MageUI.exe, Anda harus memastikan bahwa kotak teks Lokasi Peluncuran pada tab Manifes Aplikasi dibiarkan kosong.

Catatan

Di ClickOnce untuk .NET Core 3.1 dan .NET 5 atau yang lebih baru, gunakan dotnet-mage.exe alih-alih Mage.exe. Untuk informasi selengkapnya, lihat ClickOnce untuk .NET.

Pembaruan deploymentProvider dan aplikasi

Dengan .NET Framework 3.5, Anda tidak perlu lagi menentukan deploymentProvider dalam manifes penyebaran Anda untuk menyebarkan aplikasi ClickOnce untuk penggunaan online dan offline. Perubahan ini mendukung skenario di mana Anda perlu mengemas dan menandatangani penyebaran sendiri, tetapi memungkinkan perusahaan lain untuk menyebarkan aplikasi melalui jaringan mereka.

Poin penting yang perlu diingat adalah aplikasi yang mengecualikan deploymentProvider tidak dapat mengubah lokasi penginstalan mereka selama pembaruan, sampai mereka mengirimkan pembaruan yang menyertakan deploymentProvider tag lagi.

Berikut dua contoh untuk mengklarifikasi poin ini. Dalam contoh pertama, Anda menerbitkan aplikasi ClickOnce yang tidak memiliki deploymentProvider tag, dan Anda meminta pengguna untuk menginstalnya dari http://www.adatum.com/MyApplication/. Jika Anda memutuskan untuk menerbitkan pembaruan aplikasi berikutnya dari http://subdomain.adatum.com/MyApplication/, Anda tidak bisa untuk menandai ini dalam manifes penyebaran yang berada di http://www.adatum.com/MyApplication/. Anda dapat melakukan salah satu dari dua hal berikut:

  • Beri tahu pengguna Anda untuk menghapus versi sebelumnya, dan menginstal versi baru dari lokasi baru.

  • Sertakan pembaruan pada http://www.adatum.com/MyApplication/ yang menyertakan deploymentProvider yang mengarah ke http://www.adatum.com/MyApplication/. Kemudian, rilis pembaruan lain berikutnya dengan deploymentProvider yang mengarah ke http://subdomain.adatum.com/MyApplication/.

    Dalam contoh kedua, Anda menerbitkan aplikasi ClickOnce yang menentukan deploymentProvider, lalu memutuskan untuk menghapusnya. Setelah versi baru tanpa deploymentProvider diunduh ke klien, Anda tidak dapat mengalihkan jalur yang digunakan untuk pembaruan hingga Anda merilis versi aplikasi yang telah dipulihkan deploymentProvider. Seperti contoh pertama, deploymentProvider mulanya harus mengarah ke lokasi pembaruan saat ini, bukan lokasi baru Anda. Dalam hal ini, jika Anda berusaha menyisipkan deploymentProvider yang merujuk ke http://subdomain.adatum.com/MyApplication/, maka pembaruan berikutnya gagal.

Membuat penyebaran

Untuk panduan langkah demi langkah tentang membuat penyebaran yang dapat disebarkan dari lokasi jaringan yang berbeda, lihat Panduan: Menyebarkan aplikasi ClickOnce secara manual yang tidak memerlukan penandatanganan ulang dan mempertahankan informasi merek.