Penginstalan Bersamaan

Penginstalan Bersamaan, juga disebut Penginstalan Berlapis, adalah fitur penginstal Windows yang tidak digunakan lagi. Aplikasi yang diinstal dengan penginstalan bersamaan pada akhirnya dapat gagal karena sulit bagi pelanggan untuk melayani dengan benar. Jangan gunakan penginstalan bersamaan untuk menginstal produk yang dimaksudkan untuk dirilis ke publik. Penginstalan bersamaan dapat memiliki penerapan terbatas di lingkungan perusahaan yang terkontrol ketika digunakan untuk menginstal aplikasi yang tidak ditujukan untuk rilis publik. Dokumentasi penginstalan bersamaan disediakan untuk penulis paket yang ingin menggunakan penginstalan bersamaan dengan aplikasi yang bukan untuk distribusi publik.

Tindakan penginstalan bersamaan menginstal paket Pemasang Windows lain selama penginstalan yang sedang berjalan. Penginstalan bersamaan ditambahkan ke paket dengan menulis tindakan penginstalan bersamaan ke dalam tabel CustomAction dan menjadwalkan tindakan kustom ini ke dalam tabel urutan. Bidang Target dari tabel CustomAction berisi string pengaturan properti publik yang digunakan oleh penginstalan bersamaan. Bidang Sumber dari tabel CustomAction mengidentifikasi paket bersamaan. Tindakan penginstalan bersamaan hanya dapat menginstal ulang atau menghapus aplikasi yang telah diinstal oleh paket penginstalan aplikasi saat ini.

Jenis tindakan penginstalan bersamaan ditentukan di bidang Jenis tabel CustomAction. Tergantung pada jenis tindakan kustom, paket untuk aplikasi bersamaan dapat berada di substorase paket utama, sebagai file di lokasi yang ditentukan oleh properti, atau sebagai aplikasi yang diiklankan pada komputer pengguna. Jenis tindakan kustom berikut melakukan penginstalan bersamaan.

Jenis tindakan kustom Deskripsi
Tindakan Kustom Tipe 7 Penginstalan bersamaan produk yang berada dalam paket penginstalan.
Tindakan Kustom Tipe 23 Penginstalan bersamaan paket alat penginstal di dalam pohon sumber saat ini.
Tindakan Kustom Tipe 39 Penginstalan bersamaan dari paket alat penginstal yang diiklankan.

 

Penginstalan bersamaan berbagi antarmuka pengguna dan pengaturan pengelogan yang sama dengan penginstalan utama.

Tindakan penginstalan bersamaan harus ditempatkan antara tindakan InstallInitialize dan tindakan InstallFinalize dari urutan tindakan penginstalan utama. Setelah pemutaran kembali penginstalan utama, alat penginstal kemudian akan memutar kembali penginstalan bersamaan juga. Penggunaan eksekusi yang ditangguhkan dengan tindakan penginstalan bersamaan tidak perlu karena alat penginstal menggabungkan informasi putar kembali dari penginstalan bersamaan dan utama. Semua perubahan dibalik setelah penginstalan putar kembali.

Nilai yang dikembalikan untuk tindakan penginstalan bersamaan sama dengan tindakan kustom lainnya. Lihat Tindakan Kustom mengembalikan nilai.

Tindakan standar atau kustom yang menentukan mulai ulang otomatis sistem, atau meminta pengguna untuk memulai ulang, juga dapat melakukan mulai ulang atau permintaan dari dalam penginstalan bersamaan.

Setelah penginstal memulai penginstalan bersamaan, alat ini mengunci semua penginstalan lain sampai penginstalan bersamaan selesai dan sebelum melanjutkan penginstalan utama. Alat penginstal hanya dapat menjalankan penginstalan bersamaan sebagai tindakan kustom sinkron. Lihat Tindakan Kustom Sinkron dan Asinkron. Bendera opsi yang dijelaskan dalam Opsi Pemrosesan Pengembalian Tindakan Kustom harus diatur ke tidak ada (+0) atau msidbCustomActionTypeContinue (+64).

Tindakan penginstalan bersamaan dapat menginstal aplikasi untuk dijalankan secara lokal, untuk dijalankan dari sumber, untuk diinstal ulang, atau dihapus dengan cara yang sama seperti saat menggunakan MsiInstallProduct untuk penginstalan reguler. Untuk menentukan jenis penginstalan, teruskan properti ADDLOCAL, ADDSOURCE, REINSTALL, atau REMOVE ke tindakan penginstalan bersamaan.

Tindakan penginstalan bersamaan dapat ditulis berpasangan, satu tindakan yang digunakan untuk menginstal dan tindakan lain yang digunakan untuk menghapus penginstalan bersamaan. Tindakan Kustom Tipe 7 atau Tindakan Kustom Tipe 23 biasanya digunakan untuk menginstal. Tindakan Kustom Tipe 39 biasanya digunakan untuk menghapus penginstalan bersamaan saat produk induk dihapus instalasinya. Rekaman untuk tindakan kustom penghapusan dalam tabel CustomAction dapat memiliki GUID kode produk di bidang Sumber dan "REMOVE=ALL" di bidang Target. Dua tindakan kustom perlu ditulis dalam tabel urutan tindakan dengan kondisi yang saling eksklusif. Misalnya, tindakan kustom yang menginstal produk dapat memiliki "TIDAK Terinstal" di bidang Kondisinya dan tindakan kustom menghapus penginstalan bersamaan dapat memiliki REMOVE="ALL" di bidang Kondisinya.

Tidak ada metode untuk mengkueri paket untuk biayanya. Ini membuat biaya penginstalan bersamaan sulit. Baris harus ditambahkan ke tabel ReserveCost untuk menunjukkan folder dan biaya terburuk komponen yang terkait dengan penginstalan bersamaan.

Satu-satunya Opsi Pemrosesan Pengembalian Tindakan Kustom yang tersedia dengan tindakan penginstalan bersamaan adalah tidak ada (+0) atau msidbCustomActionTypeContinue (+64).

Perhatikan bahwa penginstalan induk tidak dapat memanggil paketnya sendiri sebagai tindakan penginstalan bersamaan.

Perhatikan bahwa jika penginstalan per mesin mencoba menjalankan penginstalan bersamaan per pengguna, alat penginstal mendaftarkan penginstalan induk sebagai per pengguna secara default. Hal ini dapat menyebabkan alat penginstal salah menghapus aplikasi karena alat penginstal mencoba menghapus instalasi aplikasi per mesin ketika benar-benar terdaftar sebagai per pengguna. Untuk memaksa status penginstalan bersamaan untuk melacak status penginstalan induknya, masukkan ALLUSERS="[ALLUSERS]" di kolom Target tabel CustomAction. Dalam hal ini, penginstalan bersamaan adalah per mesin jika induknya adalah per mesin, dan penginstalan bersamaan adalah per pengguna jika induknya adalah per pengguna.

Pengembang harus mencatat peringatan berikut saat menulis penginstalan bersamaan.

  • Penginstalan bersamaan tidak dapat berbagi komponen.
  • Penginstalan administratif juga tidak boleh berisi penginstalan bersamaan.
  • Patching dan peningkatan mungkin tidak berfungsi dengan penginstalan bersamaan.
  • Alat penginstal mungkin tidak dikenakan biaya penginstalan bersamaan dengan benar.
  • ProgressBars terintegrasi tidak dapat digunakan dengan penginstalan bersamaan.
  • Sumber daya yang akan diiklankan tidak dapat diinstal oleh penginstalan bersamaan.
  • Paket yang melakukan penginstalan bersamaan aplikasi juga harus menghapus instalan aplikasi bersamaan ketika produk induk dihapus instalannya.

Untuk mencegah paket diinstal sebagai penginstalan bersamaan, tambahkan salah satu pernyataan bersyarat berikut ke tabel LaunchCondition . Ini mencegah paket diinstal oleh tindakan penginstalan bersamaan yang dijalankan oleh penginstalan lain. Ini tidak mencegah paket dihapus oleh tindakan RemoveExistingProducts . Lihat juga properti ParentOriginalDatabase dan properti ParentProductCode .

"Not ParentProductCode"
"Not ParentOriginalDatabase"