Keamanan dan penerapan ClickOnce

ClickOnce adalah teknologi penyebaran yang memungkinkan Anda membuat aplikasi berbasis Windows yang diperbarui secara mandiri dan dapat dipasang serta dijalankan dengan sedikit interaksi pengguna. Visual Studio memberikan dukungan penuh untuk menerbitkan dan memperbarui aplikasi yang disebarkan dengan teknologi ClickOnce jika Anda telah mengembangkan proyek dengan Visual Basic dan Visual C#. Untuk informasi tentang cara 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 Pemasang Microsoft Windows, setiap kali aplikasi diperbarui, pengguna dapat memasang pembaruan, file msp, dan menerapkannya ke produk yang dipasang; dengan penyebaran ClickOnce, Anda dapat menyediakan pembaruan secara otomatis. Hanya bagian aplikasi yang telah berubah yang diunduh, dan kemudian aplikasi lengkap yang diperbarui dipasang ulang dari folder baru yang berdampingan.

  • Dampak pada komputer pengguna. Dengan penyebaran Pemasang Windows, aplikasi biasanya mengandalkan komponen bersama, dengan potensi konflik penerapan versi; dengan penyebaran ClickOnce, setiap aplikasi berdiri sendiri dan tidak dapat mengganggu aplikasi lain.

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

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

Apa itu aplikasi ClickOnce?

Aplikasi ClickOnce adalah Windows Presentation Foundation (.xbap), Formulir Windows (.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 lama seperti CD-ROM. Aplikasi ClickOnce dapat dipasang di komputer pengguna akhir dan berjalan secara lokal bahkan saat 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 secara mandiri; aplikasi ini dapat memeriksa versi yang lebih baru saat tersedia dan secara otomatis menggantikan 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 yang lebih lama oleh pengguna akhir atau oleh administrator. Untuk informasi selengkapnya, lihat Memilih strategi pembaruan ClickOnce.

Karena aplikasi ClickOnce terisolasi, memasang atau menjalankan aplikasi ClickOnce tidak dapat memutus aplikasi yang ada. Aplikasi ClickOnce berdiri sendiri; setiap aplikasi ClickOnce dipasang ke dan dijalankan dari cache per pengguna dan per aplikasi yang aman. 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 Kode autentikasi digunakan untuk memverifikasi keaslian penerbit aplikasi. Dengan menggunakan Kode autentikasi untuk penyebaran aplikasi, ClickOnce membantu mencegah program berbahaya menggambarkan dirinya sebagai program yang sah yang berasal dari sumber yang terbentuk dan dapat dipercaya. Secara opsional, sertifikat juga dapat digunakan untuk menandatangani manifes aplikasi dan penyebaran untuk membuktikan bahwa file belum diubah. Untuk informasi selengkapnya, lihat ClickOnce dan Kode autentikasi. Sertifikat juga dapat digunakan untuk mengonfigurasi komputer klien agar memiliki daftar penerbit tepercaya. Jika berasal dari penerbit tepercaya, aplikasi dapat dipasang tanpa interaksi pengguna. Untuk informasi selengkapnya, lihat Ringkasan penyebaran aplikasi tepercaya.

Keamanan akses kode

Keamanan akses kode membantu membatasi akses yang dimiliki kode ke sumber daya terlindungi. Biasanya, Anda dapat memilih zona Internet atau Intranet Lokal untuk membatasi izin. Gunakan halaman Keamanan di ProjectDesigner 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.

Perintah kepercayaan ClickOnce

Jika aplikasi meminta lebih banyak izin daripada yang diizinkan oleh zona, pengguna akhir dapat diminta untuk membuat keputusan kepercayaan. Pengguna akhir dapat memutuskan apakah aplikasi ClickOnce seperti aplikasi Formulir Windows, aplikasi Windows Presentation Foundation, aplikasi konsol, aplikasi browser XAML, dan solusi Office dipercaya untuk dijalankan. Untuk informasi selengkapnya, lihat Cara: mengonfigurasi perilaku perintah 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 dipasang, cara pembaruannya, dan kapan diperbarui.

Menerbitkan aplikasi ClickOnce

Manifes aplikasi menjelaskan aplikasi itu sendiri. Ini mencakup rakitan, dependensi, dan file yang membentuk aplikasi, izin yang diperlukan, dan lokasi tempat pembaruan akan tersedia. Pengembang aplikasi membuat manifes aplikasi dengan menggunakan Wizard Penerbitan di Visual Studio (Alat publikasi untuk .NET Core dan .NET 5+) atau Manifest Generation and Editing Tool (Mage.exe) di Windows Software Development Kit (SDK). Untuk informasi selengkapnya, lihat:

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

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.

Menyebarkan aplikasi ClickOnce

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

Memasang aplikasi ClickOnce

Setelah disebarkan ke lokasi penyebaran, pengguna akhir dapat mengunduh dan memasang aplikasi dengan mengklik ikon yang mewakili file manifes penyebaran di Halaman web atau di folder. Biasanya, pengguna akhir diberi kotak dialog sederhana yang meminta pengguna untuk mengonfirmasi penginstalan, setelah itu penginstalan berlangsung dan aplikasi dimulai tanpa intervensi tambahan. Jika aplikasi memerlukan izin lebih tinggi atau jika aplikasi tidak ditandatangani oleh sertifikat tepercaya, kotak dialog juga meminta pengguna untuk memberikan izin agar penginstalan dapat dilanjutkan. Meski ClickOnce penginstalan per pengguna, peningkatan izin mungkin diperlukan jika ada prasyarat yang memerlukan hak istimewa administrator. Untuk informasi selengkapnya tentang izin yang lebih tinggi, lihat Mengamankan aplikasi ClickOnce.

Sertifikat dapat dipercaya di tingkat mesin atau perusahaan, sehingga ClickOnce aplikasi yang ditandatangani dengan sertifikat tepercaya dapat dipasang secara diam-diam. Untuk informasi selengkapnya tentang sertifikat tepercaya, lihat Ringkasan 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 File Program atau registri, dan tidak ada hak administratif yang diperlukan untuk penginstalan

Catatan

Dimungkinkan juga untuk mencegah aplikasi ditambahkan ke menu Mulai dan grup Tambahkan atau Hapus Program, sehingga membuatnya berperilaku seperti aplikasi Web. Untuk informasi selengkapnya, lihat Memilih strategi penyebaran ClickOnce.

Memperbarui aplikasi ClickOnce

Saat pengembang aplikasi membuat versi aplikasi yang diperbarui, mereka membuat manifes aplikasi baru dan menyalin file ke lokasi penyebaran—biasanya folder saudara ke folder penyebaran aplikasi asal. Administrator memperbarui manifes penyebaran untuk mengarah ke lokasi versi baru aplikasi.

Catatan

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

Selain lokasi penyebaran, manifes penyebaran juga berisi lokasi pembaruan (Halaman web atau berbagi file jaringan) tempat aplikasi memeriksa versi yang diperbarui. Properti Terbitkan ClickOnce digunakan untuk menentukan kapan dan seberapa sering aplikasi harus memeriksa pembaruan. Perilaku pembaruan dapat ditentukan di manifes penyebaran, atau dapat ditampilkan sebagai pilihan pengguna di antarmuka pengguna aplikasi melalui API ClickOnce. Selain itu, properti Terbitkan dapat digunakan untuk membuat pembaruan wajib atau untuk gulung balik ke versi yang lebih lama. Untuk informasi selengkapnya, lihat Memilih strategi pembaruan ClickOnce.

Alat penginstal pihak ketiga

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

Alat ClickOnce

Tabel berikut menunjukkan alat yang dapat 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 Penerbitan.

Alat Deskripsi
Halaman Keamanan, Perancang Proyek Menandatangani manifes aplikasi dan penyebaran. Untuk .NET Core dan .NET 5+, pengaturan ini ada di profil Penerbitan.
Halaman Terbitkan, Perancang Proyek Membuat dan mengedit manifes aplikasi dan penyebaran untuk aplikasi Visual Basic dan Visual C#. Untuk .NET Core dan .NET 5+, pengaturan ini ada di profil Penerbitan.
Mage.exe (Alat Pembuatan dan Pengeditan Manifes) Membuat 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 perintah.
dotnetmage.exe (Pembuatan Manifes dan Alat Pengeditan) 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 perintah.
MageUI.exe (Alat Pembuatan dan Pengeditan Manifes, Klien Grafis) Membuat dan mengedit manifes aplikasi dan penyebaran.

Menandatangani dan menandatangani ulang manifes aplikasi dan penyebaran.
Tugas GenerateApplicationManifest Membuat manifes aplikasi.

Dapat dijalankan dari MSBuild. Untuk informasi selengkapnya, lihat referensi MSBuild.
Tugas GenerateDeploymentManifest Membuat manifes penyebaran.

Dapat dijalankan dari MSBuild. Untuk informasi selengkapnya, lihat referensi MSBuild.
Tugas SignFile Menandatangani manifes aplikasi dan penyebaran.

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

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

Browser Versi .NET Framework
Internet Explorer 2.0, 3.0, 3.5, 3.5 SP1, 4
Firefox 2.0 SP1, 3.5 SP1, 4
Chrome 3.5
Microsoft Edge 3.5