Bagikan melalui


Menginstal Rakitan Win32 untuk Berbagi Berdampingan

Berikut ini menjelaskan cara membuat paket Pemasang Windows untuk menginstal rakitan Win32. Paket menginstal rakitan berdampingan di folder Winsxs untuk penggunaan bersama aplikasi. Setelah menginstal paket, rakitan bersama tersedia secara global untuk aplikasi apa pun yang menentukan dependensi pada perakitan dalam file manifes perakitan. Alat penginstal tidak secara global mendaftarkan rakitan berdampingan pada sistem.

Perhatikan bahwa Anda dapat menginstal rakitan bersama berdampingan menggunakan modul penggabungan.

Sebelum melanjutkan, Anda harus memahami cara menulis paket Pemasang Windows tanpa rakitan. Untuk contoh cara menulis penginstalan sederhana, lihat Contoh Penginstalan.

Untuk menginstal rakitan bersama secara berdampingan

  1. Tentukan komponen Pemasang Windows yang menyertakan rakitan Win32. Komponen ini mungkin berisi sumber daya lain yang harus selalu diinstal atau dihapus dengan assembly. Semua komponen lain dari aplikasi dapat ditulis sama seperti untuk penginstalan tanpa rakitan. Tambahkan baris ke tabel Komponen untuk komponen yang berisi rakitan Win32. Masukkan GUID Penginstal Windows yang valid untuk kode komponen ini. Jangan gunakan file manifes sebagai jalur kunci untuk komponen ini.
  2. Tambahkan baris ke tabel FeatureComponents yang mengikat komponen ke fitur Penginstal Windows. Untuk informasi, lihat Komponen dan Fitur. Fitur Pemasang Windows harus menjadi bagian dari fungsionalitas aplikasi yang dapat dikenali oleh pengguna. Rakitan diaktifkan ketika fitur ini dipilih oleh pengguna atau disalahkan oleh aplikasi. Jika assembly menentukan fitur tambahan, tambahkan baris tambahan ke tabel Fitur untuk atribut fitur. Langkah ini tidak diperlukan saat menulis modul penggabungan.
  3. Untuk rakitan berdampingan, informasi pengikatan dan aktivasi, seperti kelas COM, antarmuka, dan pustaka jenis, disimpan dalam file manifes daripada registri. Rakitan bersama menyimpan informasi ini dalam manifes perakitan. Pada sistem yang mendukung rakitan berdampingan, alat penginstal melompati pemrosesan informasi apa pun tentang komponen yang dimasukkan dalam tabel Ekstensi, tabel Kata Kerja, tabel TypeLib, tabel MIME, tabel Kelas, tabel ProgId, dan tabel AppId. Informasi pengikatan dan aktivasi dapat dimasukkan ke dalam tabel ini untuk digunakan oleh sistem yang tidak mendukung berbagi perakitan berdampingan.
  4. Penginstalan berdampingan tidak mendaftarkan perakitan secara global, alat penginstal melompati pendaftaran mandiri komponen jika ada informasi pendaftaran mandiri yang telah dimasukkan dalam tabel SelfReg. Informasi pendaftaran mandiri dapat dimasukkan ke dalam tabel SelfReg untuk pendaftaran mandiri komponen pada sistem yang tidak mendukung berbagi perakitan berdampingan.
  5. Tambahkan informasi registri lainnya, tidak termasuk pengikatan dan aktivasi atau pendaftaran mandiri komponen, ke tabel Registri, tabel RemoveRegistry, dan tabel Lingkungan.
  6. Karena ini adalah rakitan bersama tidak menghasilkan file .local. Jangan sertakan informasi untuk komponen ini dalam tabel IsolatedComponent. Alat penginstal melewati tabel IsolatedComponent untuk komponen ini pada sistem operasi yang mendukung berbagi berdampingan. Tambahkan informasi ke tabel IsolatedComponent jika Anda ingin assembly menjadi privat pada sistem yang mendukung file .local.
  7. Untuk mengaktifkan berbagi berdampingan, rakitan Win32 harus diinstal ke folder Winsxs. Ini dicapai dengan meninggalkan kolom File_Application tabel MsiAssembly null untuk perakitan. Ini memberi tahu alat penginstal untuk menginstal rakitan ke folder WinSxS, alih-alih ke folder komponen. Tambahkan baris ke tabel MsiAssembly untuk komponen yang berisi rakitan Win32. Masukkan nilai 1 di bidang Atribut dari tabel MsiAssembly untuk menentukan bahwa ini adalah rakitan Win32. Untuk rakitan bersama, biarkan bidang File_Application kosong. Tambahkan tindakan MsiPublishAssemblies ke tabel InstallExecuteSequence atau tabel AdvtExecuteSequence. Tambahkan tindakan MsiUnpublishAssemblies ke tabel InstallExecuteSequence.
  8. Tambahkan baris ke tabel MsiAssemblyName untuk komponen. Tambahkan satu baris untuk setiap nama dan pasangan nilai yang ditentukan di bagian assemblyIdentity dari manifes. Misalnya, lihat tabel MsiAssemblyName.