Udostępnij za pośrednictwem


Instalacje współbieżne

Instalacje współbieżne, nazywane również instalacjami zagnieżdżonym, są przestarzałą funkcją Instalatora Windows. Aplikacje zainstalowane z równoczesnymi instalacjami mogą w końcu zakończyć się niepowodzeniem, ponieważ są one trudne dla klientów do poprawnej obsługi. Nie należy używać współbieżnych instalacji do instalowania produktów, które mają być udostępniane publicznie. Instalacje współbieżne mogą mieć ograniczoną możliwość stosowania w kontrolowanych środowiskach firmowych, gdy są używane do instalowania aplikacji, które nie są przeznaczone do publicznej wersji. Dokumentacja współbieżnych instalacji jest udostępniana dla autorów pakietów, którzy chcą używać współbieżnych instalacji z aplikacjami, które nie są przeznaczone do dystrybucji publicznej.

Równoczesna akcja instalacji instaluje inny pakiet Instalatora Windows podczas aktualnie uruchomionej instalacji. Współbieżna instalacja jest dodawana do pakietu przez utworzenie współbieżnej akcji instalacji w tabeli CustomAction i zaplanowanie tej akcji niestandardowej w tabelach sekwencji. Pole Target tabeli CustomAction zawiera ciąg ustawień właściwości publicznej używanych przez instalację współbieżną. Pole Źródło tabeli CustomAction identyfikuje pakiet współbieżny. Równoczesna akcja instalacji może tylko ponownie zainstalować lub usunąć aplikację zainstalowaną przez pakiet instalacyjny bieżącej aplikacji.

Typ akcji instalacji współbieżnej jest określony w polu Typ tabeli CustomAction. W zależności od typu akcji niestandardowej pakiet dla aplikacji współbieżnej może znajdować się w podstorage pakietu głównego, jako plik w lokalizacji określonej przez właściwość lub jako anonsowana aplikacja na komputerze użytkownika. Następujące typy akcji niestandardowych wykonują instalację współbieżną.

Niestandardowy typ akcji Opis
niestandardowy typ akcji 7 Równoczesna instalacja produktu znajdującego się w pakiecie instalacyjnym.
niestandardowy typ akcji 23 Równoczesna instalacja pakietu instalatora w bieżącym drzewie źródłowym.
niestandardowy typ akcji 39 Równoczesna instalacja anonsowanego pakietu instalatora.

 

Współbieżna instalacja współudzieli ten sam interfejs użytkownika i ustawienia rejestrowania co instalacja główna.

Akcje instalacji współbieżnej należy umieścić między akcji InstallInitialize i akcji InstallFinalize sekwencji akcji głównej instalacji. Po wycofaniu głównej instalacji instalator wycofa również współbieżną instalację. Użycie odroczonego wykonania z równoczesnymi akcjami instalacji jest niepotrzebne, ponieważ instalator łączy informacje wycofywania z równoczesnych i głównych instalacji. Wszystkie zmiany są odwracane po wycofaniu instalacji.

Wartości zwracane dla akcji instalacji współbieżnej są takie same jak w przypadku innych akcji niestandardowych. Zobacz wartości zwracane akcji niestandardowej.

Akcje standardowe lub niestandardowe, które określają automatyczne ponowne uruchomienie systemu lub zażądają ponownego uruchomienia użytkownika, mogą również wykonać ponowne uruchomienie lub żądanie z poziomu równoczesnej instalacji.

Po rozpoczęciu instalacji współbieżnej instalator blokuje wszystkie inne instalacje do momentu zakończenia współbieżnej instalacji i przed kontynuowaniem instalacji głównej. Instalator może wykonywać tylko współbieżne instalacje jako synchroniczne akcje niestandardowe. Zobacz synchroniczne i asynchroniczne akcje niestandardowe. Flagi opcji opisane w opcje zwracania akcji niestandardowej muszą być ustawione na brak (+0) lub msidbCustomActionTypeContinue (+64).

Współbieżna akcja instalacji może instalować aplikację do uruchamiania lokalnie, uruchamiać ją ze źródła lub usuwać w taki sam sposób, jak w przypadku korzystania z MsiInstallProduct do regularnej instalacji. Aby określić typ instalacji, przekaż właściwość ADDLOCAL, ADDSOURCE, ZAINSTALUJ ponownielub REMOVE właściwości do akcji instalacji współbieżnej.

Współbieżne akcje instalacji można tworzyć w parach, jedną akcję używaną do instalowania i drugą akcję używaną do usuwania współbieżnej instalacji. Typ akcji niestandardowej 7 lub niestandardowy typ akcji 23 jest zwykle używany do zainstalowania. Typ akcji niestandardowej 39 jest zwykle używany do usuwania współbieżnej instalacji po odinstalowaniu produktu nadrzędnego. Rekord akcji niestandardowej usuwania w tabeli CustomAction może mieć identyfikator GUID kodu produktu w polu Źródło i "REMOVE=ALL" w polu Cel. Dwie akcje niestandardowe muszą być tworzone w tabeli sekwencji akcji z wzajemnie wykluczanymi warunkami. Na przykład akcja niestandardowa, która instaluje produkt, może mieć wartość "NIE zainstalowano" w polu Warunek, a akcja niestandardowa usuwa współbieżną instalację może mieć wartość REMOVE="ALL" w polu Warunek.

Nie ma metody wykonywania zapytań dotyczących pakietu pod kątem jego kosztów. To sprawia, że koszt równoczesnych instalacji jest trudny. Wiersze należy dodać do tabeli ReserveCost, aby wskazać foldery i najgorsze koszty składnika skojarzonego z instalacją współbieżną.

Jedynymi opcjami przetwarzania zwracanego akcji niestandardowej dostępne w przypadku akcji współbieżnych instalacji nie są żadne (+0) lub msidbCustomActionTypeContinue (+64).

Należy pamiętać, że instalacja nadrzędna nie może wywołać własnego pakietu jako akcji instalacji współbieżnej.

Należy pamiętać, że jeśli instalacja na maszynę próbuje uruchomić instalację współbieżną dla użytkownika, instalator domyślnie rejestruje instalację nadrzędną jako użytkownik. Może to spowodować niepoprawne usunięcie aplikacji przez instalatora, ponieważ instalator próbuje odinstalować aplikację na maszynę, gdy jest ona rzeczywiście zarejestrowana jako użytkownik. Aby wymusić stan współbieżnej instalacji w celu śledzenia stanu instalacji nadrzędnej, wprowadź wartość ALLUSERS="[ALLUSERS]" w kolumnie Target tabeli CustomAction. W takim przypadku współbieżna instalacja jest na komputerze, jeśli element nadrzędny jest na maszynie, a współbieżna instalacja jest dla użytkownika, jeśli element nadrzędny jest dla użytkownika.

Deweloperzy powinni pamiętać o następujących ostrzeżeniach podczas tworzenia współbieżnych instalacji.

  • Instalacje współbieżne nie mogą współużytkowyć składników.
  • Instalacja administracyjna nie może również zawierać współbieżnej instalacji.
  • Stosowanie poprawek i uaktualnianie może nie działać z równoczesnymi instalacjami.
  • Instalator może nie kosztować poprawnie współbieżnej instalacji.
  • Zintegrowanych pasków postępu nie można używać z równoczesnymi instalacjami.
  • Nie można zainstalować zasobów, które mają być anonsowane przez instalację współbieżną.
  • Pakiet, który wykonuje współbieżną instalację aplikacji, powinien również odinstalować współbieżną aplikację po odinstalowaniu produktu nadrzędnego.

Aby zapobiec instalowaniu pakietu jako instalacji współbieżnej, dodaj jedną z następujących instrukcji warunkowych do tabeli LaunchCondition. Zapobiega to instalowaniu pakietu przez współbieżną akcję instalacji uruchamianą przez inną instalację. Nie uniemożliwia to usunięcia pakietu przez akcję RemoveExistingProducts. Zobacz również właściwość ParentOriginalDatabase i właściwość ParentProductCode.

"Not ParentProductCode"
"Not ParentOriginalDatabase"