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 denganMsiViewModify untuk menyisipkan rekaman ke dalam tabel. Ketika tindakan kustom dipanggil, data aliran disalin ke file sementara, yang kemudian diproses tergantung pada jenis tindakan kustom.
Tipe Nilai
Sertakan bit bendera berikut dalam 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 tabel CustomAction, meneruskan satu argumen 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: , nama 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 Opsi Eksekusi In-Script Tindakan Kustom.
Mengembalikan Nilai
Lihat Tindakan Kustom Mengembalikan Nilai.
Komentar
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 ada lagi 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 di subfolder yang dinamai sesuai tabel, menggunakan kunci utama 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.
Topik terkait