Bagikan melalui


Konsep Aplikasi Terisolasi dan Rakitan Berdampingan

Aplikasi dianggap sebagai aplikasi terisolasi jika semua komponennya rakitan berdampingan. Rakitan berdampingan adalah kumpulan sumber daya—sekelompok DLL, kelas windows, server COM, pustaka jenis, atau antarmuka—yang disebarkan bersama-sama dan tersedia untuk digunakan aplikasi pada waktu proses. Biasanya, rakitan berdampingan adalah satu hingga beberapa DLL.

Bersama atau privat

Rakitan berdampingan dapat dibagikan atau privat. Rakitan bersama berdampingan dapat digunakan oleh beberapa aplikasi yang menentukan, dalam manifesnya, ketergantungan pada perakitan. Beberapa versi perakitan berdampingan dapat dibagikan oleh berbagai aplikasi yang berjalan secara bersamaan. Rakitan privat adalah rakitan yang disebarkan bersama dengan aplikasi untuk penggunaan eksklusif aplikasi tersebut. Rakitan privat diinstal di folder yang berisi file aplikasi yang dapat dieksekusi atau salah satu subfoldernya.

Manifes dan urutan pencarian

Aplikasi terisolasi dan rakitan berdampingan dijelaskan oleh manifes. Manifes adalah dokumen XML yang dapat menjadi file eksternal atau dapat disematkan dalam aplikasi atau rakitan sebagai sumber daya. File manifes aplikasi terisolasi digunakan untuk mengelola nama dan versi rakitan bersama berdampingan yang harus diikat aplikasi pada waktu proses. Manifes rakitan berdampingan menentukan nama, versi, sumber daya, dan rakitan dependen rakitan berdampingan. Untuk rakitan berdampingan bersama, manifesnya diinstal di folder %WINDIR%\WinSxS\Manifests\. Dalam kasus rakitan privat, kami sarankan Anda menyertakan manifesnya dalam DLL sebagai sumber daya yang memiliki ID sama dengan 1. Anda juga dapat memberi rakitan privat nama yang sama dengan DLL. Untuk informasi selengkapnya, lihat Tentang Rakitan Privat.

Pada waktu eksekusi, Windows menggunakan informasi perakitan dari manifes aplikasi untuk mencari dan memuat rakitan berdampingan yang sesuai. Jika aplikasi terisolasi menentukan dependensi rakitan, sistem operasi terlebih dahulu mencari rakitan di antara rakitan bersama dalam cache rakitan asli di folder %WINDIR%\WinSxS\. Jika rakitan yang diperlukan tidak ditemukan, sistem operasi kemudian mencari perakitan privat di folder struktur direktori aplikasi. Untuk informasi selengkapnya, lihat Urutan Pencarian Perakitan.

Mengubah dependensi

Anda dapat mengubah dependensi rakitan berdampingan setelah aplikasi disebarkan dengan memodifikasi File Konfigurasi Penerbit dan File Konfigurasi Aplikasi. File konfigurasi penerbit, juga dikenal sebagai file kebijakan penerbit, adalah file XML yang secara global mengalihkan aplikasi dan rakitan dari menggunakan satu versi rakitan berdampingan untuk menggunakan versi lain dari rakitan yang sama. Misalnya, Anda dapat mengubah dependensi ketika perbaikan bug atau perbaikan keamanan disebarkan untuk rakitan berdampingan dan Anda ingin mengalihkan semua aplikasi untuk menggunakan versi tetap. File konfigurasi aplikasi adalah file XML yang mengalihkan aplikasi tertentu dari menggunakan satu versi rakitan berdampingan untuk menggunakan versi lain dari rakitan yang sama. Anda dapat menggunakan file konfigurasi aplikasi untuk mengalihkan aplikasi tertentu untuk menggunakan versi rakitan berdampingan yang berbeda dari yang ditentukan dalam file konfigurasi penerbit. Untuk informasi lebih lanjut, lihat Konfigurasi.

Pustaka Visual C++

Di Visual Studio 2005 dan Visual Studio 2008, pustaka yang dapat didistribusikan ulang seperti ATL, MFC, CRT, Standard C++, OpenMP, dan MSDIA disebarkan sebagai rakitan bersama berdampingan ke cache rakitan asli. Dalam versi saat ini, pustaka yang dapat didistribusikan ulang menggunakan penyebaran pusat. Secara default, semua aplikasi yang dibangun dengan menggunakan Visual Studio dibangun dengan manifes yang disematkan dalam biner akhir, dan manifes menjelaskan dependensi biner pada pustaka Visual C++. Untuk memahami pembuatan manifes untuk aplikasi C++, lihat Memahami Pembuatan Manifes untuk Program C/C++. Manifes tidak diperlukan untuk aplikasi yang secara statis ditautkan ke pustaka yang mereka gunakan, atau yang menggunakan penyebaran lokal. Untuk informasi selengkapnya tentang penyebaran, lihat Penyebaran di Visual C++.

Baca juga

Membangun Aplikasi Terisolasi C/C++ dan Rakitan Berdampingan