Bagikan melalui


Tipe Tindakan Kustom 17

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

Sumber

DLL diinstal dengan aplikasi selama sesi saat ini. Bidang Sumber dari tabel CustomAction berisi kunci ke tabel File. Lokasi kode tindakan kustom ditentukan oleh resolusi jalur target untuk file ini; oleh karena itu tindakan kustom ini harus dipanggil setelah file tersebut diinstal dan sebelum dihapus.

Ketik Nilai

Sertakan nilai berikut dalam kolom Jenis tabel CustomAction untuk menentukan jenis numerik dasar.

Konstanta Heksadesimal Desimal
msidbCustomActionTypeDll + msidbCustomActionTypeSourceFile 0x011 17

 

Target

DLL dipanggil melalui titik entri bernama di bidang Target dari 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 /EXPORT: linker, 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, putar kembali, atau terapkan skrip. Untuk deskripsi opsi, lihat Tindakan Kustom In-Script Opsi Eksekusi.

Nilai yang Dikembalikan

Lihat Nilai Pengembalian Tindakan Kustom.

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 bisa mendapatkan informasi konteks, lihat Mendapatkan Informasi Konteks untuk Tindakan Kustom Eksekusi yang Ditangguhkan.

Tindakan kustom dijalankan dalam utas terpisah, dan mungkin memiliki akses terbatas ke sistem. Tindakan kustom yang berjalan secara asinkron memblokir utas utama pada penghentian urutan saat ini atau sesi penginstalan hingga kembali.

Tindakan kustom yang mereferensikan file yang diinstal sebagai sumbernya, seperti Tindakan Kustom Tipe 17 (DLL), harus mematuhi pembatasan urutan berikut:

  • Tindakan kustom harus diurutkan setelah tindakan CostFinalize. Ini agar tindakan kustom dapat menyelesaikan jalur yang diperlukan untuk menemukan DLL.
  • Jika file sumber belum diinstal pada komputer, tindakan kustom yang ditangguhkan (dalam skrip) jenis ini harus diurutkan setelah tindakan InstallFiles.
  • Jika file sumber belum diinstal pada komputer, tindakan kustom yang tidak ditangguhkan dari jenis ini harus diurutkan setelah tindakan InstallFinalize.

Custom_Actions

Tindakan Kustom Eksekusi Yang Ditangguhkan

Pustaka Tautan Dinamis