Udostępnij za pośrednictwem


Wycofywanie akcji niestandardowych

Gdy instalator przetwarza skrypt instalacji, jednocześnie generuje skrypt wycofywania. Oprócz skryptu wycofywania instalator zapisuje kopię każdego pliku, który usuwa podczas instalacji. Te pliki są przechowywane w ukrytym katalogu systemowym. Po zakończeniu instalacji skrypt wycofywania i zapisane pliki zostaną usunięte. Jeśli instalacja nie powiedzie się, instalator podejmie próbę wycofania zmian wprowadzonych podczas instalacji i przywrócenia oryginalnego stanu komputera.

Mimo że akcje niestandardowe, które umożliwiają planowanie operacji systemowych przez wstawianie wierszy do tabeli bazy danych, są odwracane przez wycofanie instalacji, akcje niestandardowe, które zmieniają system bezpośrednio lub wydają polecenia innym usługom systemowym, nie zawsze mogą być odwracane przez wycofanie. Akcja niestandardowa wycofywania to akcja wykonywana tylko podczas wycofywania instalacji, a jej celem jest odwrócenie akcji niestandardowej, która wprowadziła zmiany w systemie.

Akcja niestandardowa wycofywania jest typem odroczonej akcji niestandardowej wykonania, ponieważ jego wykonanie jest odroczone podczas wywoływanej sekwencji instalacji. Różni się ona od regularnej odroczonej akcji niestandardowej, ponieważ jest wykonywana tylko podczas wycofywania. Akcja niestandardowa wycofywania musi zawsze poprzedzać odroczonej akcji niestandardowej, która zostanie wycofana w sekwencji akcji. Akcja niestandardowa wycofywania powinna również obsługiwać przypadek przerwania odroczonej akcji niestandardowej w trakcie wykonywania. Jeśli na przykład użytkownik miał nacisnąć przycisk Anuluj podczas wykonywania akcji niestandardowej.

Należy pamiętać, że akcje niestandardowe wycofywania nie mogą być uruchamiane asynchronicznie. Zobacz synchroniczne i asynchroniczne akcje niestandardowe.

Uzupełnieniem akcji niestandardowej wycofywania jest zatwierdzanie akcji niestandardowej. Instalator wykonuje akcję niestandardową zatwierdzenia podczas sekwencji instalacji, kopiuje akcję niestandardową do skryptu wycofywania, ale nie wykonuje akcji podczas wycofywania.

Pamiętaj, że akcja niestandardowa wycofywania może nie być w stanie usunąć wszystkich zmian wprowadzonych przez akcje niestandardowe zatwierdzenia. Mimo że instalator zapisuje zarówno akcje wycofywania, jak i zatwierdzania akcji niestandardowych do skryptu wycofywania, zatwierdzanie akcji niestandardowych jest uruchamiane tylko po pomyślnym przetworzeniu skryptu instalacji przez instalatora. Zatwierdź akcje niestandardowe to pierwsze akcje, które mają zostać uruchomione w skryfcie wycofywania. Jeśli akcja niestandardowa zatwierdzenia zakończy się niepowodzeniem, instalator inicjuje wycofanie, ale może wycofać tylko te operacje zapisane w skry skrycie wycofywania. Oznacza to, że w zależności od akcji niestandardowej zatwierdzenia wycofanie może nie być w stanie cofnąć zmian wprowadzonych przez akcję. Błędy w akcjach niestandardowych zatwierdzania można zignorować, tworząc akcję niestandardową w celu ignorowania kodów zwracanych.

Gdy instalator uruchamia akcję niestandardową wycofywania, jedynym ustawionym parametrem trybu jest MSIRUNMODE_ROLLBACK. Aby uzyskać opis parametrów trybu uruchamiania, zobacz MsiGetMode.

Akcję niestandardową wycofywania można określić, dodając flagę opcji do pola Typ tabeli CustomAction. Zobacz Opcje wykonywania akcji niestandardowej In-Script, aby uzyskać flagę opcji oznaczającą wycofanie akcji niestandardowej.

Akcje niestandardowe wycofywania i zatwierdzania nie są uruchamiane po wyłączeniu wycofywania. Jeśli autor pakietu wymaga tego typu akcji niestandardowych do właściwej instalacji, powinien użyć właściwości RollbackDisabled w warunku uniemożliwiającym kontynuowanie instalacji po wyłączeniu wycofywania. Aby uzyskać informacje na temat wyłączania wycofywania, zobacz Instalacja wycofywania (Instalator Windows).