Memilih metode penyebaran

Kami menyarankan agar Anda menggunakan Penginstal Windows untuk penyebaran. Pemasang Windows mendukung penginstalan, perbaikan, dan penghapusan instalasi, dan juga mendukung pembaruan atom file aplikasi, dependensi, dan entri registri. Kecuali aplikasi Visual C++ Anda mandiri dan dapat disebarkan dengan menggunakan perintah salin, gunakan Penginstal Windows.

Catatan

Meskipun penyebaran ClickOnce untuk aplikasi asli Visual C++ dimungkinkan di Visual Studio, aplikasi ini memerlukan langkah tambahan. Untuk informasi selengkapnya, lihat Penyebaran ClickOnce untuk aplikasi Visual C++.

Pustaka Visual C++ adalah DLL bersama

Karena pustaka Visual C++ diinstal di %windir%\system32\ direktori oleh alat penginstal Visual Studio, saat Anda mengembangkan aplikasi Visual C++ yang bergantung padanya, pustaka tersebut akan berjalan seperti yang diharapkan. Namun, sebagian besar komputer tidak menginstal Visual Studio. Untuk menyebarkan aplikasi ke komputer ini, kami sarankan Anda memastikan bahwa pustaka diinstal bersama dengan aplikasi Anda.

Pustaka Visual C++ yang dapat didistribusikan ulang

Dalam penyebaran, Anda dapat mendistribusikan ulang versi pustaka Visual C++ apa pun yang dilisensikan untuk didistribusikan ulang. Berikut adalah tiga cara untuk menyebarkannya:

  • Penyebaran pusat dengan menggunakan paket Visual C++ Redistributable. Pendekatan ini adalah pendekatan yang kami rekomendasikan. Paket Visual C++ Redistributable adalah executable yang menginstal pustaka Visual C++ sebagai DLL bersama di %windir%\system32\. (Penginstalan dalam folder ini memerlukan hak administrator.) Anda dapat membuat bootstrapper, skrip, atau program penyiapan yang menjalankan paket Redistributable sebelum menginstal aplikasi Anda di komputer target. Paket yang dapat didistribusikan ulang tersedia untuk platform x86, x64, ARM64, dan ARM. Untuk informasi selengkapnya tentang tempat menemukan file paket, lihat Menemukan file Redistributable. Untuk informasi tentang cara menggunakan paket Redistributable, lihat Panduan: Menyebarkan Aplikasi Visual C++ Dengan Menggunakan Paket Visual C++ Redistributable.

  • Penyebaran pusat dengan menggunakan modul penggabungan. Metode ini tidak digunakan lagi karena pustaka yang disebarkan dengan cara ini tidak dapat diperbarui secara otomatis oleh Windows Update. Anda dapat menggunakan modul penggabungan untuk menginstal pustaka Visual C++ tertentu sebagai DLL bersama di %windir%\system32\. (Penginstalan ke folder ini memerlukan hak administrator.) Gabungkan modul menjadi bagian .msi dari file penginstal untuk aplikasi Anda. Karena tidak digunakan lagi, modul penggabungan Visual C++ Redistributable adalah komponen opsional yang dapat diinstal di Visual Studio 2022 dan 2019. Mereka diinstal secara default di Visual Studio 2017 dan 2015. Untuk informasi selengkapnya, lihat Tempat menemukan file modul penggabungan.

  • Penyebaran lokal. Penyebaran lokal tidak direkomendasikan dalam sebagian besar situasi. Dalam penyebaran lokal, Anda menyalin DLL Visual C++ tertentu dari penginstalan Visual Studio Anda—biasanya di —dan menginstalnya di komputer target di folder yang sama dengan aplikasi yang dapat dieksekusi \%VCINSTALLDIR%Redist\MSVC\<version>\<target-platform>\. Anda dapat menggunakan metode penyebaran ini untuk mengaktifkan penginstalan oleh pengguna yang tidak memiliki hak administrator. Atau, untuk aplikasi yang dapat dijalankan dari drive jempol atau berbagi jaringan.

Jika penyebaran menggunakan modul penggabungan Redistributable, pengguna yang menginstal aplikasi harus memiliki hak administratif. Jika tidak, DLL Visual C++ tidak diinstal dan aplikasi mungkin tidak berjalan. Penginstal aplikasi yang memungkinkan penginstalan berdasarkan per pengguna menginstal pustaka di lokasi bersama yang berdampak pada semua pengguna sistem. Anda dapat menggunakan penyebaran lokal untuk menginstal DLL Visual C++ yang diperlukan di direktori aplikasi pengguna tertentu. Pendekatan ini tidak akan memengaruhi pengguna lain atau memerlukan hak administrator. Karena dapat membuat masalah kemampuan layanan, kami tidak merekomendasikan penyebaran lokal DLL Visual C++ Redistributable.

Penyebaran pustaka Visual C++ yang salah dapat menyebabkan kesalahan run-time selama eksekusi aplikasi yang bergantung padanya. Ketika sistem operasi memuat aplikasi, sistem operasi menggunakan urutan pencarian yang dijelaskan dalam LoadLibraryEx.

Penautan dinamis lebih baik daripada penautan statis

Kami menyarankan agar Anda menghindari penautan statis saat mendistribusikan ulang pustaka Visual C++. Meskipun penautan statis hampir tidak pernah secara signifikan meningkatkan performa aplikasi, hampir selalu membuat layanan lebih mahal. Misalnya, pertimbangkan aplikasi yang ditautkan secara statis dengan pustaka yang telah diperbarui dengan peningkatan keamanan. Aplikasi tidak dapat memperoleh manfaat kecuali dikompresi ulang dan disebarkan ulang. Sebagai gantinya, kami sarankan Anda menautkan aplikasi Anda secara dinamis ke pustaka yang bergantung padanya. Kemudian pustaka dapat diperbarui di mana pun pustaka tersebut disebarkan.

Baca juga

Menyebarkan aplikasi desktop
Keamanan dan penerapan ClickOnce
Contoh penyebaran