Bagikan melalui


Mengurutkan Tindakan Kustom

Tindakan kustom dijadwalkan dalam tabel berurutan dengan cara yang sama seperti tindakan standar.

Untuk menjadwalkan tindakan kustom dalam tabel urutan

  1. Masukkan nama tindakan kustom (yang merupakan kunci utama tabel CustomAction) ke dalam kolom Tindakan dari tabel Urutan .
  2. Masukkan urutan tindakan kustom relatif terhadap tindakan lain dalam tabel ke dalam kolom Urutan tabel Urutan . Untuk informasi selengkapnya tentang tabel urutan, lihat Menggunakan Tabel Urutan.
  3. Untuk melewati tindakan secara kondisional, masukkan ekspresi kondisional ke dalam kolom Kondisi dari tabel Urutan . Alat penginstal melewati tindakan ini jika ekspresi mengevaluasi ke FALSE.

Seperti dalam kasus tindakan standar, tindakan kustom yang dijadwalkan dalam InstallUISequence atau AdminUISequence berjalan hanya jika antarmuka pengguna internal diatur ke tingkat penuh. Tingkat UI diatur dengan menggunakan fungsi MsiSetInternalUI .

Tindakan standar dan kustom yang dijadwalkan dalam tabel InstallExecuteSequence, AdminExecuteSequence, atau AdvtExecuteSequence tidak membuat perubahan sistem. Sebaliknya alat penginstal mengantrekan rekaman eksekusi dalam skrip untuk eksekusi berikutnya selama layanan penginstalan. Jika tidak ada layanan penginstalan, maka tindakan yang dijadwalkan dalam tabel ini dijalankan dalam konteks yang sama dengan urutan UI.

Jika server penginstal tidak terdaftar, tindakan kustom dijalankan di sisi klien. Jika server terdaftar dan menggunakan mode UI penuh, maka tindakan kustom dijalankan di sisi server.

Jika menggunakan antarmuka pengguna penuh dengan server, tindakan awal sebelum tindakan InstallValidate dijalankan pada klien untuk memungkinkan interaksi penuh. Eksekusi kemudian dialihkan ke server yang mengulangi tindakan tersebut dan menjalankan tindakan eksekusi skrip. Ini diikuti dengan kembali ke klien untuk tindakan akhir.

Perhatikan bahwa jika produk dihapus dengan mengatur fitur teratasnya untuk tidak ada, properti REMOVE mungkin tidak sama dengan ALL sampai setelah tindakan InstallValidate . Ini berarti bahwa setiap tindakan kustom yang bergantung pada REMOVE=ALL harus diurutkan setelah tindakan InstallValidate. Tindakan kustom dapat memeriksa REMOVE untuk menentukan apakah produk telah diatur untuk dihapus instalasinya sepenuhnya.

Tindakan kustom yang mereferensikan file yang diinstal sebagai sumbernya, seperti Tindakan Kustom Tipe 17 (DLL), Tindakan Kustom Tipe 18 (EXE), Tindakan Kustom Tipe 21 (JScript), dan Tindakan Kustom Tipe 22 (VBScript), harus mematuhi pembatasan urutan berikut.

  • Tindakan kustom harus diurutkan setelah tindakan CostFinalize sehingga jalur ke file yang direferensikan dapat diselesaikan.
  • Jika file sumber belum diinstal pada komputer, tindakan kustom yang ditangguhkan (dalam skrip) harus diurutkan setelah InstallFiles.
  • Jika file sumber belum diinstal pada komputer, tindakan kustom yang tidak ditentukan harus diurutkan setelah tindakan InstallInitialize .

Pembatasan urutan berikut berlaku untuk tindakan kustom yang mengubah atau memperbarui paket Pemasang Windows.

  • Jika tindakan kustom mengubah paket, seperti dengan menambahkan baris ke tabel, tindakan harus diurutkan sebelum tindakan InstallInitialize .
  • Jika tindakan kustom membuat perubahan yang akan memengaruhi biaya, maka tindakan tersebut harus diurutkan sebelum tindakan CostInitialize .
  • Jika tindakan kustom mengubah status penginstalan fitur atau komponen, tindakan tersebut harus diurutkan sebelum tindakan InstallValidate .