Tindakan Kustom Putar Kembali

Ketika alat penginstal memproses skrip penginstalan, penginstal secara bersamaan menghasilkan skrip putar kembali. Selain skrip putar kembali, alat penginstal menyimpan salinan setiap file yang dihapusnya selama penginstalan. File-file ini disimpan dalam direktori sistem tersembunyi. Setelah penginstalan selesai, skrip putar kembali dan file yang disimpan akan dihapus. Jika penginstalan tidak berhasil, alat penginstal mencoba untuk memutar kembali perubahan yang dilakukan selama penginstalan dan memulihkan status asli komputer.

Meskipun tindakan kustom yang menjadwalkan operasi sistem dengan menyisipkan baris ke dalam tabel database dibalik oleh pembatalan penginstalan, tindakan kustom yang mengubah sistem secara langsung, atau yang mengeluarkan perintah ke layanan sistem lain, tidak selalu dapat dibalik oleh putar kembali. Tindakan kustom putar kembali adalah tindakan yang dijalankan alat penginstal hanya selama pembatalan penginstalan, dan tujuannya adalah untuk membalikkan tindakan kustom yang telah membuat perubahan pada sistem.

Tindakan kustom putar kembali adalah jenis tindakan kustom eksekusi yang ditangguhkan, karena eksekusinya ditangguhkan ketika dipanggil selama urutan penginstalan. Ini berbeda dari tindakan kustom yang ditangguhkan secara teratur karena hanya dijalankan selama pemutaran kembali. Tindakan kustom putar kembali harus selalu mendahului tindakan kustom yang ditangguhkan yang digulung balik dalam urutan tindakan. Tindakan kustom putar kembali juga harus menangani kasus di mana tindakan kustom yang ditangguhkan terganggu di tengah eksekusi. Misalnya, jika pengguna menekan tombol Batal saat tindakan kustom sedang dijalankan.

Perhatikan bahwa Tindakan Kustom Putar Kembali tidak dapat berjalan secara asinkron. Lihat Tindakan Kustom Sinkron dan Asinkron.

Pelengkap tindakan kustom putar kembali adalah tindakan kustom penerapan. Alat penginstal menjalankan tindakan kustom penerapan selama urutan penginstalan, menyalin tindakan kustom ke dalam skrip putar kembali, tetapi tidak menjalankan tindakan selama putar kembali.

Perhatikan bahwa tindakan kustom putar kembali mungkin tidak dapat menghapus semua perubahan yang dibuat dengan menerapkan tindakan kustom. Meskipun alat penginstal menulis putar kembali dan melakukan tindakan kustom ke dalam skrip putar kembali, lakukan tindakan kustom hanya berjalan setelah alat penginstal berhasil memproses skrip penginstalan. Menerapkan tindakan kustom adalah tindakan pertama yang dijalankan dalam skrip putar kembali. Jika tindakan kustom penerapan gagal, alat penginstal memulai putar kembali tetapi hanya dapat memutar kembali operasi yang sudah ditulis ke skrip putar kembali. Ini berarti bahwa tergantung pada tindakan kustom penerapan, pembatalan mungkin tidak dapat membatalkan perubahan yang dibuat oleh tindakan. Anda dapat mengabaikan kegagalan dalam melakukan tindakan kustom dengan menulis tindakan kustom untuk mengabaikan kode pengembalian.

Ketika alat penginstal menjalankan tindakan kustom putar kembali, satu-satunya parameter mode yang akan diaturnya adalah MSIRUNMODE_ROLLBACK. Lihat MsiGetMode untuk deskripsi parameter mode eksekusi.

Tindakan kustom putar kembali dapat ditentukan dengan menambahkan bendera opsi ke bidang Jenis tabel CustomAction. Lihat Opsi Eksekusi In-Script Tindakan Kustom untuk bendera opsi yang menunjuk tindakan kustom putar kembali.

Putar kembali dan terapkan tindakan kustom tidak berjalan saat pemutaran kembali dinonaktifkan. Jika penulis paket memerlukan jenis tindakan kustom ini untuk penginstalan yang tepat, mereka harus menggunakan properti RollbackDisabled dalam kondisi yang mencegah penginstalan berlanjut saat pemutaran kembali dinonaktifkan. Untuk informasi tentang cara menonaktifkan putar kembali lihat Penginstalan Putar Kembali (Pemasang Windows).