Odinstalowywanie pakietów VSPackage przy użyciu Instalatora Windows
W większości przypadków Instalator Windows może odinstalować pakiet VSPackage tylko przez "cofnij", co zrobił, aby zainstalować pakiet VSPackage. Akcje niestandardowe omówione w poleceniach, które muszą być uruchamiane po instalacji , muszą być również uruchamiane po odinstalowaniu. Ponieważ wywołania pliku devenv.exe występują tuż przed akcją Standard InstallFinalize zarówno dla instalacji, jak i dezinstalacji, wpisy tabeli CustomAction i InstallExecuteSequence obsługują oba przypadki.
Uwaga
Uruchom polecenie devenv /setup
po odinstalowaniu pakietu MSI.
Ogólnie rzecz biorąc, w przypadku dodawania akcji niestandardowych do pakietu Instalatora Windows należy obsługiwać te akcje podczas odinstalowywania i wycofywania. Jeśli dodasz akcje niestandardowe do samodzielnego zarejestrowania pakietu VSPackage, na przykład musisz dodać akcje niestandardowe, aby wyrejestrować je również.
Uwaga
Użytkownik może zainstalować pakiet VSPackage, a następnie odinstalować wersje programu Visual Studio, z którymi jest zintegrowany. Możesz pomóc w upewnieniu się, że odinstalowywanie pakietu VSPackage działa w tym scenariuszu, eliminując akcje niestandardowe uruchamiające kod z zależnościami w programie Visual Studio.
Obsługa warunków uruchamiania w czasie odinstalowywania
Akcję Standardowa LaunchConditions odczytuje wiersze tabeli LaunchCondition, aby wyświetlić komunikaty o błędach, jeśli warunki nie zostaną spełnione. Ponieważ warunki uruchamiania są zwykle używane w celu zapewnienia spełnienia wymagań systemowych, zazwyczaj można pominąć warunki uruchamiania podczas odinstalowywania, dodając warunek , NOT Installed
do wiersza LaunchConditions tabeli LaunchConditions.
Alternatywą jest dodanie OR Installed
do warunków uruchamiania, które nie są ważne podczas odinstalowywania. Dzięki temu warunek będzie zawsze spełniony podczas odinstalowywania i dlatego nie będzie wyświetlany komunikat o błędzie warunku uruchomienia.
Uwaga
Installed
to właściwość Instalator Windows ustawia, gdy wykryje, że pakiet VSPackage został już zainstalowany w systemie.