Bagikan melalui


Penyebaran dan keamanan ClickOnce

ClickOnce adalah teknologi penyebaran yang memungkinkan Anda membuat aplikasi berbasis Windows yang diperbarui sendiri yang dapat diinstal dan dijalankan dengan interaksi pengguna minimal. Visual Studio menyediakan dukungan penuh untuk menerbitkan dan memperbarui aplikasi yang disebarkan dengan teknologi ClickOnce jika Anda telah mengembangkan proyek Anda dengan Visual Basic dan Visual C#. Untuk informasi tentang menyebarkan aplikasi Visual C++, lihat Penyebaran ClickOnce untuk Aplikasi Visual C++.

Penyebaran ClickOnce mengatasi tiga masalah utama dalam penyebaran:

  • Kesulitan dalam memperbarui aplikasi. Dengan penyebaran Alat Penginstal Microsoft Windows, setiap kali aplikasi diperbarui, pengguna dapat menginstal pembaruan, file msp, dan menerapkannya ke produk yang diinstal; dengan penyebaran ClickOnce, Anda dapat memberikan pembaruan secara otomatis. Hanya bagian aplikasi yang telah berubah yang diunduh, dan kemudian aplikasi lengkap yang diperbarui diinstal ulang dari folder berdampingan baru.

  • Dampak ke komputer pengguna. Dengan penyebaran Windows Installer, aplikasi sering mengandalkan komponen bersama, dengan potensi konflik penerapan versi; dengan penyebaran ClickOnce, setiap aplikasi mandiri dan tidak dapat mengganggu aplikasi lain.

  • Izin keamanan. Penyebaran Penginstal Windows memerlukan izin administratif dan hanya mengizinkan penginstalan pengguna terbatas; Penyebaran ClickOnce memungkinkan pengguna non-administratif untuk menginstal dan hanya memberikan izin Keamanan Akses Kode yang diperlukan untuk aplikasi.

    Di masa lalu, masalah ini terkadang menyebabkan pengembang memutuskan untuk membuat aplikasi Web alih-alih aplikasi berbasis Windows, mengorbankan antarmuka pengguna yang kaya untuk kemudahan penginstalan. Dengan menggunakan aplikasi yang disebarkan menggunakan ClickOnce, Anda dapat memiliki teknologi terbaik dari kedua teknologi tersebut.

Apa itu aplikasi ClickOnce?

Aplikasi ClickOnce adalah Windows Presentation Foundation (.xbap), Windows Forms (.exe), aplikasi konsol (.exe), atau solusi Office (.dll) yang diterbitkan menggunakan teknologi ClickOnce. Anda dapat menerbitkan aplikasi ClickOnce dengan tiga cara berbeda: dari halaman Web, dari berbagi file jaringan, atau dari media warisan seperti CD-ROM. Aplikasi ClickOnce dapat diinstal pada komputer pengguna akhir dan berjalan secara lokal bahkan ketika komputer offline, atau dapat dijalankan dalam mode hanya online tanpa menginstal apa pun secara permanen di komputer pengguna akhir. Untuk informasi selengkapnya, lihat Memilih strategi penyebaran ClickOnce.

Aplikasi ClickOnce dapat diperbarui sendiri; mereka dapat memeriksa versi yang lebih baru saat tersedia dan secara otomatis mengganti file yang diperbarui. Pengembang dapat menentukan perilaku pembaruan; administrator jaringan juga dapat mengontrol strategi pembaruan, misalnya, menandai pembaruan sebagai wajib. Pembaruan juga dapat digulung balik ke versi sebelumnya oleh pengguna akhir atau oleh administrator. Untuk informasi selengkapnya, lihat Memilih strategi pembaruan ClickOnce.

Karena aplikasi ClickOnce terisolasi, menginstal atau menjalankan aplikasi ClickOnce tidak dapat merusak aplikasi yang ada. Aplikasi ClickOnce adalah aplikasi yang berdiri sendiri; setiap aplikasi ClickOnce diinstal dan dijalankan dari cache aman milik tiap pengguna dan tiap aplikasi. Aplikasi ClickOnce berjalan di zona keamanan Internet atau Intranet. Jika perlu, aplikasi dapat meminta izin keamanan yang ditingkatkan. Untuk informasi selengkapnya, lihat Mengamankan aplikasi ClickOnce.

Cara kerja keamanan ClickOnce

Keamanan ClickOnce inti didasarkan pada sertifikat, kebijakan keamanan akses kode, dan perintah kepercayaan ClickOnce.

Sertifikat

Sertifikat Authenticode digunakan untuk memverifikasi keaslian penerbit aplikasi. Dengan menggunakan Authenticode untuk penyebaran aplikasi, ClickOnce membantu mencegah program berbahaya menggambarkan dirinya sebagai program yang sah yang berasal dari sumber yang mapan dan dapat dipercaya. Secara opsional, sertifikat juga dapat digunakan untuk menandatangani aplikasi dan manifes penyebaran untuk membuktikan bahwa file belum dirusak. Untuk informasi selengkapnya, lihat ClickOnce dan Authenticode. Sertifikat juga dapat digunakan untuk mengonfigurasi komputer klien agar memiliki daftar penerbit tepercaya. Jika aplikasi berasal dari penerbit tepercaya, aplikasi dapat diinstal tanpa interaksi pengguna. Untuk informasi selengkapnya, lihat gambaran umum penyebaran aplikasi tepercaya .

Keamanan akses kode

Keamanan akses kode membantu membatasi akses kode terhadap sumber daya yang dilindungi. Dalam kebanyakan kasus, Anda dapat memilih zona Internet atau Intranet Lokal untuk membatasi izin. Gunakan halaman Keamanan di Perancang Proyek untuk meminta zona yang sesuai untuk aplikasi. Anda juga dapat men-debug aplikasi dengan izin terbatas untuk meniru pengalaman pengguna akhir. Untuk informasi selengkapnya, lihat Keamanan akses kode untuk aplikasi ClickOnce.

Nota

Di ClickOnce untuk .NET Core dan .NET 5 atau yang lebih baru, Keamanan Akses Kode tidak didukung. Dalam .NET Framework, penggunaan Keamanan Akses Kode bukanlah praktik terbaik dan tidak disarankan.

Permintaan kepercayaan ClickOnce

Jika aplikasi meminta lebih banyak izin daripada yang diizinkan zona, pengguna akhir dapat diminta untuk membuat keputusan kepercayaan. Pengguna akhir dapat memutuskan apakah aplikasi ClickOnce seperti aplikasi Windows Forms, aplikasi Windows Presentation Foundation, aplikasi konsol, aplikasi browser XAML, dan solusi Office dipercaya untuk dijalankan. Untuk informasi selengkapnya, lihat Cara: Mengonfigurasi perilaku prompt kepercayaan ClickOnce.

Cara Kerja Penyebaran ClickOnce

Arsitektur penyebaran ClickOnce inti didasarkan pada dua file manifes XML: manifes aplikasi dan manifes penyebaran. File digunakan untuk menjelaskan dari mana aplikasi ClickOnce diinstal, cara mereka diperbarui, dan kapan diperbarui.

Menerbitkan aplikasi ClickOnce

Manifes aplikasi menjelaskan aplikasi itu sendiri. Ini termasuk rakitan, dependensi dan file yang membentuk aplikasi, izin yang diperlukan, dan lokasi tempat pembaruan akan tersedia. Pengembang aplikasi menulis manifes aplikasi dengan menggunakan Wizard Penerbitan di Visual Studio (Alat penerbitan untuk .NET Core dan .NET 5+) atau Pembuatan Manifes dan Alat Pengeditan (Mage.exe) di Windows Software Development Kit (SDK). Untuk informasi selengkapnya, lihat:

Manifes penyebaran menjelaskan cara aplikasi disebarkan. Ini termasuk lokasi manifes aplikasi, dan versi aplikasi yang harus dijalankan klien.

Nota

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.

Menyebarkan aplikasi ClickOnce

Setelah dibuat, manifes penyebaran disalin ke lokasi penyebaran. Ini bisa berupa server Web, berbagi file jaringan, atau media warisan seperti CD. Manifes aplikasi dan semua file aplikasi juga disalin ke lokasi penyebaran yang ditentukan dalam manifes penyebaran. Ini bisa sama dengan lokasi penyebaran, atau bisa menjadi lokasi yang berbeda. Saat menggunakan Wizard Terbitkan di Visual Studio, operasi salin dilakukan secara otomatis.

Menginstal aplikasi ClickOnce

Setelah disebarkan ke lokasi penyebaran, pengguna akhir dapat mengunduh dan menginstal aplikasi dengan mengklik ikon yang mewakili file manifes penyebaran di halaman Web atau di folder. Dalam kebanyakan kasus, pengguna akhir disajikan dengan kotak dialog sederhana yang meminta pengguna untuk mengonfirmasi penginstalan, setelah penginstalan dilanjutkan dan aplikasi dimulai tanpa intervensi tambahan. Dalam kasus di mana aplikasi memerlukan izin yang ditingkatkan atau jika aplikasi tidak ditandatangani oleh sertifikat tepercaya, kotak dialog juga meminta pengguna untuk memberikan izin sebelum penginstalan dapat dilanjutkan. Meskipun penginstalan ClickOnce dilakukan per pengguna, elevasi izin mungkin diperlukan jika ada prasyarat yang memerlukan hak administratif. Untuk informasi selengkapnya mengenai izin tingkat tinggi, lihat Mengamankan aplikasi ClickOnce.

Sertifikat dapat dipercaya di tingkat mesin atau perusahaan, sehingga aplikasi ClickOnce yang ditandatangani dengan sertifikat tepercaya dapat diinstal secara diam-diam. Untuk informasi selengkapnya tentang sertifikat tepercaya, lihat gambaran umum penyebaran aplikasi tepercaya .

Aplikasi dapat ditambahkan ke menu Mulai pengguna dan ke grup Tambahkan atau Hapus Program di Panel Kontrol. Tidak seperti teknologi penyebaran lainnya, tidak ada yang ditambahkan ke folder Program Files atau registri, dan tidak ada hak administratif yang diperlukan untuk penginstalan

Nota

Dimungkinkan juga untuk mencegah aplikasi ditambahkan ke menu Mulai dan Menambahkan atau Menghapus grup Program , yang memungkinkan aplikasi tersebut bertingkah seperti aplikasi Web. Untuk informasi selengkapnya, lihat Memilih strategi penyebaran ClickOnce.

Memperbarui aplikasi ClickOnce

Ketika pengembang aplikasi membuat versi aplikasi yang diperbarui, mereka menghasilkan manifes aplikasi baru dan menyalin file ke lokasi penyebaran—biasanya folder saudara ke folder penyebaran aplikasi asli. Administrator memperbarui manifes penyebaran untuk menunjuk ke lokasi versi baru aplikasi.

Nota

Wizard Terbitkan di Visual Studio dapat digunakan untuk melakukan langkah-langkah ini. Untuk .NET Core dan .NET 5+, alat Terbitkan menyediakan langkah-langkah ini.

Selain lokasi penyebaran, manifes penyebaran juga berisi lokasi pembaruan (halaman Web atau berbagi file jaringan) tempat aplikasi memeriksa versi yang diperbarui. Properti ClickOnce Publish digunakan untuk menentukan kapan dan seberapa sering aplikasi harus memeriksa pembaruan. Perilaku pembaruan dapat ditentukan dalam manifes penyebaran, atau dapat disajikan sebagai pilihan pengguna di antarmuka pengguna aplikasi melalui API ClickOnce. Selain itu, properti penerbitan dapat digunakan untuk menjadikan pembaruan sebagai keharusan atau untuk melakukan rollback ke versi sebelumnya. Untuk informasi selengkapnya, lihat Memilih strategi pembaruan ClickOnce.

Alat penginstal pihak ketiga

Anda dapat menyesuaikan penginstal ClickOnce untuk menginstal komponen pihak ketiga bersama dengan aplikasi Anda. Anda harus memiliki paket yang dapat didistribusikan ulang (.exe atau file .msi) dan menjelaskan paket dengan manifes produk netral bahasa dan manifes paket khusus bahasa. Untuk informasi selengkapnya, lihat Membuat paket bootstrapper.

Alat ClickOnce

Tabel berikut ini memperlihatkan alat yang bisa Anda gunakan untuk membuat, mengedit, menandatangani, dan menandatangani ulang manifes aplikasi dan penyebaran. Untuk .NET Core dan .NET 5+, opsi yang mirip dengan atribut MSBuild diatur menggunakan profil Terbitkan.

Alat Deskripsi
Halaman Keamanan, Perancang Proyek Menandatangani manifes aplikasi dan penerapan. Untuk .NET Core dan .NET 5+, pengaturan ini ada di profil Terbitkan.
Tentukan properti Terbitkan ClickOnce Menghasilkan dan mengedit manifes aplikasi dan penyebaran untuk aplikasi Visual Basic dan Visual C#. Untuk .NET Core dan .NET 5+, pengaturan ini ada di profil Terbitkan.
Mage.exe (Alat Pembuatan dan Pengeditan Manifes) Menghasilkan manifes aplikasi dan penyebaran untuk aplikasi Visual Basic, Visual C#, dan Visual C++.

Menandatangani dan menandatangani ulang manifes aplikasi dan penyebaran.

Dapat dijalankan dari skrip batch dan jendela perintah.
dotnetmage.exe (Generator dan Alat Pengeditan Manifes) Menghasilkan manifes aplikasi dan penyebaran untuk aplikasi .NET 5+ C# dan Visual Basic. Penggunaannya setara dengan Mage.exe.

Menandatangani dan menandatangani ulang manifes aplikasi dan penyebaran.

Dapat dijalankan dari skrip batch dan jendela perintah.
MageUI.exe (Alat Pembuatan dan Pengeditan Manifes, Klien Grafis) Menghasilkan dan mengedit manifes aplikasi dan penyebaran.

Menandatangani dan menandatangani ulang manifes aplikasi dan penyebaran.
Tugas MenyusunPernyataanAplikasi Menghasilkan manifes aplikasi.

Dapat dijalankan dari MSBuild. Untuk informasi selengkapnya, lihat Referensi MSBuild.
tugas GenerateDeploymentManifest Menyusun manifes penyebaran.

Dapat dijalankan dari MSBuild. Untuk informasi selengkapnya, lihat Referensi MSBuild.
Tugas Penandatanganan File Menandatangani manifes aplikasi dan penerapan.

Dapat dijalankan dari MSBuild. Untuk informasi selengkapnya, lihat Referensi MSBuild.
Microsoft.Build.Tasks.Deployment.ManifestUtilities Kembangkan aplikasi Anda sendiri untuk menghasilkan manifes aplikasi dan penyebaran.

Tabel berikut menunjukkan versi .NET Framework yang diperlukan untuk mendukung aplikasi ClickOnce di browser ini.

Peramban Versi .NET Framework
Firefox 2.0 SP1, 3.5 SP1, 4
Chrome 3.5
Microsoft Edge 3.5