Mengembalikan Nilai Tindakan Kustom JScript dan VBScript
Tindakan kustom yang ditulis dalam JScript atau Visual Basic, Scripting Edition (VBScript) dapat memanggil fungsi opsional. Fungsi-fungsi ini harus mengembalikan salah satu nilai yang diperlihatkan dalam tabel berikut.
Mengembalikan nilai | Nilai | Deskripsi |
---|---|---|
msiDoActionStatusNoAction | 0 | Tindakan tidak dijalankan. |
msiDoActionStatusSuccess | IDOK = 1 | Tindakan berhasil diselesaikan. |
msiDoActionStatusUserExit | IDCANCEL = 2 | Penghentian dini oleh pengguna. |
msiDoActionStatusFailure | IDABORT = 3 | Kesalahan yang tidak dapat dipulihkan. Dikembalikan jika ada kesalahan selama penguraian atau eksekusi JScript atau VBScript. |
msiDoActionStatusSuspend | IDRETRY = 4 | Urutan yang ditangguhkan untuk dilanjutkan nanti. |
msiDoActionStatusFinished | IDIGNORE = 5 | Lewati tindakan yang tersisa. Bukan kesalahan. |
Perhatikan bahwa Penginstal Windows menerjemahkan nilai yang dikembalikan dari semua tindakan saat menulis nilai yang dikembalikan ke dalam file log. Misalnya, jika nilai pengembalian tindakan muncul sebagai 1 (satu) dalam file log, ini berarti bahwa tindakan mengembalikan msiDoActionStatusSuccess. Untuk informasi selengkapnya tentang terjemahan ini lihat Pengelogan Nilai Pengembalian Tindakan.
Untuk mengembalikan nilai selain keberhasilan dari tindakan kustom skrip, Anda harus menggunakan target fungsi untuk tindakan kustom. Fungsi target ditentukan di kolom Target dari Tabel CustomAction.
Contoh skrip berikut menunjukkan kepada Anda cara mengembalikan keberhasilan atau kegagalan dari tindakan kustom VBScript.
Function MyVBScriptCA()
If Session.Property("CustomErrorStatus") <> "0" Then
'return error
MyVBScriptCA = 3
Exit Function
End If
' return success
MyVBScriptCA = 1
Exit Function
End Function
Jika VBScript ini disematkan dalam tabel Biner paket penginstalan sebagai MyCA.vbs, entri Tabel CustomAction untuk skrip adalah sebagai berikut:
Tindakan | Jenis | Sumber | Target |
---|---|---|---|
MyCustomAction | 6 | MyCA.vbs | MyVBScriptCA |