Tindakan Kustom Tipe 1

Tindakan kustom ini memanggil pustaka tautan dinamis (DLL) yang ditulis dalam C atau C++.

Sumber

DLL dihasilkan dari aliran biner sementara. Bidang Sumber dari tabel CustomAction berisi kunci ke tabel Biner.

Kolom Data dalam tabel Biner berisi data aliran. Aliran terpisah dialokasikan untuk setiap baris. Data biner baru dapat disisipkan dari file dengan menggunakan MsiRecordSetStream diikuti oleh MsiViewModify untuk menyisipkan rekaman ke dalam tabel. Ketika tindakan kustom dipanggil, data aliran disalin ke file sementara, yang kemudian diproses tergantung pada jenis tindakan kustom.

Ketik Nilai

Sertakan bit bendera berikut di kolom Jenis tabel CustomAction untuk menentukan jenis numerik dasar.

Konstanta Heksadesimal Desimal
msidbCustomActionTypeDll + msidbCustomActionTypeBinaryData 0x001 1

 

Target

DLL dipanggil melalui titik entri bernama di bidang Target dari tabel CustomAction, meneruskan argumen tunggal yang merupakan handel ke sesi penginstalan saat ini. Nama titik entri yang ditentukan dalam tabel harus cocok dengan yang diekspor dari DLL. Perhatikan bahwa jika fungsi entri tidak ditentukan oleh . File DEF atau dengan spesifikasi linker /EXPORT: , namanya mungkin memiliki garis bawah terkemuka dan akhiran "@4". Fungsi yang dipanggil harus menentukan konvensi panggilan __stdcall.

Opsi Pemrosesan Kembali

Sertakan bit bendera opsional di kolom Jenis tabel CustomAction untuk menentukan opsi pemrosesan pengembalian. Untuk deskripsi opsi dan nilai, lihat Opsi Pemrosesan Pengembalian Tindakan Kustom.

Opsi Penjadwalan Eksekusi

Sertakan bit bendera opsional di kolom Jenis tabel CustomAction untuk menentukan opsi penjadwalan eksekusi. Opsi ini mengontrol beberapa eksekusi tindakan kustom. Untuk deskripsi opsi, lihat Opsi Penjadwalan Eksekusi Tindakan Kustom.

Opsi Eksekusi In-Script

Sertakan bit bendera opsional di kolom Jenis tabel CustomAction untuk menentukan opsi eksekusi dalam skrip. Opsi ini menyalin kode tindakan ke dalam eksekusi, pembatalan, atau skrip penerapan. Untuk deskripsi opsi, lihat Tindakan Kustom In-Script Opsi Eksekusi.

Nilai yang Dikembalikan

Lihat Tindakan Kustom mengembalikan nilai.

Keterangan

Tindakan kustom yang memanggil pustaka tautan dinamis (DLL) memerlukan handel ke sesi penginstalan. Jika ini juga merupakan tindakan kustom eksekusi yang ditangguhkan, sesi mungkin tidak lagi ada selama eksekusi skrip penginstalan. Untuk informasi tentang bagaimana tindakan kustom jenis ini dapat memperoleh informasi konteks, lihat Mendapatkan Informasi Konteks untuk Tindakan Kustom Eksekusi yang Ditangguhkan.

Saat tabel database diekspor, setiap aliran ditulis sebagai file terpisah dalam subfolder yang dinamai sesuai tabel, menggunakan kunci primer sebagai nama file (kolom Nama untuk tabel Biner), dengan ekstensi default ".ibd". Nama harus menggunakan format 8.3 jika sistem file atau sistem kontrol versi tidak mendukung nama file yang panjang. File arsip persisten menggantikan data aliran dengan nama file yang digunakan, sehingga data dapat ditemukan saat tabel diimpor.

Custom_Actions

Pustaka Tautan Dinamis

Mendapatkan Informasi Konteks untuk Tindakan Kustom Eksekusi yang Ditangguhkan