Tabela „LaunchCondition” – czasami problematyczna
Tabela "LaunchCondition" wraz z tabelami "AppSearch", "CompLocator", "DrLocator", "RegLocator" oraz "Signature" jest bardzo często wykorzystywana przy sprawdzaniu określonych warunków instalacji programu (np. istnienia określonego klucza w rejestrze, zainstalowanego programu lub podwyższonych uprawnień użytkownika). Bardzo często dochodzi tu do sytuacji, w której instalacja zostaje przerwana i wyświetlany jest błąd informujący o brakujących uprawnieniach do uruchomienia instalacji pakietu-msi. Jeżeli napotkamy na tego typu błąd, najlepiej jest sprawdzić wyminione powyżej tabele i wyłączyć niepotrzebne wpisy a następnie przy pomocy pliku transformacji-mst uruchomić i przetestować ponownie instalację programu.
Tabela "LaunchCondition" w edytorze Orca
W powyższej tabeli "LaunchCondition" widać wpisy, które przy niespełnieniu jednego z warunków generują błąd instalacji informujący o niewystarczających uprawnieniach do zainstalowania programu. Często taki pakiet przy błędnie ustawionej kondycji ("Condition") nie da się zainstalować i w dzienniku zdarzeń lub pliku-log generowany jest błąd. Najprostszym rozwiązaniem w tym przypadku jest usunięcie wpisu z tabeli. Czasami programiści posuwają się o krok dalej i wbudowują specjalne "akcje" (tzw. "CustomAction"), które potrafią również skutecznie zablokować instalację. Tutaj podobnie jak wcześniej należy usunąć wpis z tabeli "CustomAction" oraz tabel "InstallExecuteSequence" i "InstallUISequence". Podczas testowania warto też włączyć zapisywanie procesu instalacji do pliku-log, zaoszczędzi nam to pózniej czas stracony przy poszukiwaniu błędu. Wykonamy to przy pomocy polecenia:
msiexec /i <pakiet.msi> /lv* <plik.log>


