Bagikan melalui


Opsi Penjadwalan Eksekusi Tindakan Kustom

Karena tindakan kustom dapat dijadwalkan di UI dan menjalankan tabel urutan, dan dapat dijalankan baik dalam proses layanan atau klien, tindakan kustom berpotensi dijalankan beberapa kali.

Perhatikan bahwa alat penginstal:

  • Menjalankan tindakan dalam tabel urutan segera secara default.
  • Tidak menjalankan tindakan jika bidang ekspresi kondisional dari tabel urutan dievaluasi ke False.
  • Memproses tabel urutan UI dalam proses klien jika tingkat antarmuka pengguna internal diatur ke mode UI lengkap (lihat MsiSetInternalUI untuk deskripsi tingkat UI).
  • Adalah layanan yang terdaftar secara default saat menggunakan Windows 2000 dan, dalam hal ini, tabel urutan eksekusi diproses di layanan alat penginstal.

Anda dapat menggunakan bendera opsi berikut untuk mengontrol beberapa eksekusi langsung tindakan kustom. Untuk mengatur opsi, tambahkan nilai dalam tabel ini ke nilai di bidang Jenis tabel CustomAction. Tidak satu pun dari bendera berikut harus digunakan dengan tindakan kustom eksekusi yang ditangguhkan.

(default)

Heksadesimal: 0x00000000

Desimal: 0

Selalu jalankan. Tindakan dapat berjalan dua kali jika ada di kedua tabel urutan.

msidbCustomActionTypeFirstSequence

Heksadesimal: 0x00000100

Desimal: 256

Jalankan tidak lebih dari sekali jika ada di kedua tabel urutan. Selalu lewati tindakan dalam urutan eksekusi jika urutan UI telah berjalan. Tidak ada efek dalam urutan UI. Tindakan tidak diperlukan untuk hadir atau dijalankan dalam urutan UI untuk dilewati dalam urutan eksekusi. Tidak terpengaruh oleh penginstalan pendaftaran layanan.

msidbCustomActionTypeOncePerProcess

Heksadesimal: 0x00000200

Desimal: 512

Jalankan sekali per proses jika dalam kedua tabel urutan. Lewati tindakan dalam urutan eksekusi jika urutan UI telah dijalankan dalam proses yang sama, misalnya keduanya berjalan dalam proses klien. Digunakan untuk mencegah tindakan yang memodifikasi status sesi, seperti data properti dan database, agar tidak berjalan dua kali.

msidbCustomActionTypeClientRepeat

Heksadesimal: 0x00000300

Desimal: 768

Jalankan hanya jika berjalan pada klien setelah urutan UI berjalan. Tindakan hanya berjalan jika urutan eksekusi dijalankan pada klien dengan mengikuti urutan UI. Dapat digunakan untuk menyediakan/atau logika, atau untuk menekan pemrosesan terkait UI jika sudah dilakukan untuk sesi klien.

Perhatikan bahwa untuk menjalankan tindakan kustom selama dua mode eksekusi yang berbeda, tulis dua entri ke dalam tabel CustomAction . Misalnya, untuk memiliki tindakan kustom yang memanggil pustaka tautan dinamis C/C++ (DLL) ( Tindakan Kustom Tipe 1) baik saat mode MSIRUNMODE_SCHEDULED dan MSIRUNMODE_ROLLBACK, letakkan dua entri dalam tabel CustomAction yang memanggil DLL yang sama tetapi memiliki jenis numerik yang berbeda. Sertakan kode yang memanggil MsiGetMode untuk menentukan kapan harus menjalankan tindakan kustom mana.

Referensi Tindakan Kustom

Tentang Tindakan Kustom

Menggunakan Tindakan Kustom