Sdílet prostřednictvím


Souběžné instalace

Souběžné instalace, označované také jako vnořené instalace, je zastaralá funkce Instalační služby systému Windows. Aplikace nainstalované s souběžnými instalacemi můžou nakonec selhat, protože zákazníkům se obtížně obsluhují správně. Nepoužívejte souběžné instalace k instalaci produktů, které mají být vydány veřejnosti. Souběžné instalace můžou mít omezenou použitelnost v kontrolovaných podnikových prostředích, pokud se používají k instalaci aplikací, které nejsou určené pro veřejnou verzi. Dokumentace ke souběžným instalacím je poskytována autorům balíčků, kteří chtějí používat souběžné instalace s aplikacemi, které nejsou určené pro veřejnou distribuci.

Souběžná instalační akce nainstaluje během aktuálně spuštěné instalace další balíček Instalační služby systému Windows. Souběžná instalace se přidá do balíčku vytvořením akce souběžné instalace do tabulky CustomAction a naplánováním této vlastní akce do sekvenčních tabulek. Pole Target v tabulce CustomAction obsahuje řetězec nastavení veřejné vlastnosti používané souběžnou instalací. Pole Zdroj tabulky CustomAction identifikuje souběžný balíček. Souběžná instalační akce může přeinstalovat nebo odebrat jenom aplikaci nainstalovanou instalačním balíčkem aktuální aplikace.

Typ akce souběžné instalace je určen v poli Typ tabulky CustomAction. V závislosti na typu vlastní akce se balíček pro souběžnou aplikaci může nacházet v podstorage hlavního balíčku, jako soubor v umístění určeném vlastností nebo jako inzerovaná aplikace na počítači uživatele. Následující typy vlastních akcí provádějí souběžnou instalaci.

Vlastní typ akce Popis
typu vlastní akce 7 Souběžná instalace produktu umístěného v instalačním balíčku
typu vlastní akce 23 Souběžná instalace instalačního balíčku v rámci aktuálního zdrojového stromu
typu vlastní akce 39 Souběžná instalace inzerovaného instalačního balíčku.

 

Souběžná instalace sdílí stejné uživatelské rozhraní a nastavení protokolování jako hlavní instalace.

Souběžné instalační akce by se měly umístit mezi akce InstallInitialize a Akce InstallFinalize pořadí akcí hlavní instalace. Po vrácení hlavní instalace instalační program vrátí zpět i souběžnou instalaci. Použití odloženého spuštění s akcemi souběžné instalace není nutné, protože instalační program kombinuje informace o vrácení zpět ze souběžných a hlavních instalací. Všechny změny se po instalaci vrácení zpět vrátí zpět.

Návratové hodnoty pro souběžné akce instalace jsou stejné jako u jiných vlastních akcí. Viz návratové hodnoty vlastní akce.

Standardní nebo vlastní akce, které určují automatické restartování systému, nebo požádat uživatele, aby restartoval, může také provést restartování nebo požadavek v rámci souběžné instalace.

Jakmile instalační program spustí souběžnou instalaci, zamkne všechny ostatní instalace, dokud nebude souběžná instalace dokončena, a než bude pokračovat v hlavní instalaci. Instalační program může spouštět souběžné instalace pouze jako synchronní vlastní akce. Viz synchronní a asynchronní vlastní akce. Příznaky možností popsané v možnosti vrácení vlastní akce musí být nastaveny na žádné (+0) nebo msidbCustomActionTypeContinue (+64).

Souběžná instalační akce může nainstalovat aplikaci, která se má spustit místně, spustit ze zdroje, přeinstalovat nebo ji odebrat stejným způsobem jako při použití MsiInstallProduct pro pravidelnou instalaci. Chcete-li určit typ instalace, předejte buď ADDLOCAL, ADDSOURCE, PŘEINSTALOVATnebo ODEBRAT vlastnost souběžné instalační akce.

Souběžné akce instalace je možné vytvářet ve dvojicích, jednu akci použitou k instalaci a druhou akci použitou k odebrání souběžné instalace. K instalaci se obvykle používá vlastní akce typu 7 nebo typu vlastní akce 23. typ vlastní akce 39 se obvykle používá k odebrání souběžné instalace při odinstalaci nadřazeného produktu. Záznam pro vlastní akci odebrání v tabulce CustomAction může mít identifikátor GUID kódu produktu v poli Zdroj a "REMOVE=ALL" v cílovém poli. Tyto dvě vlastní akce musí být vytvořené v tabulce pořadí akcí s vzájemně se vylučující podmínkami. Například vlastní akce, která nainstaluje produkt, může mít v poli Podmínka "NENÍ nainstalováno" a vlastní akce odebere souběžnou instalaci, může mít v poli Podmínka možnost REMOVE="ALL".

Neexistuje žádná metoda pro dotazování balíčku za její náklady. To znesnadňuje náklady na souběžné instalace. Řádky musí být přidány do tabulky ReserveCost označující složky a nejhorší náklady na komponentu přidruženou k souběžné instalaci.

Jediné možnosti zpracování vrácení vlastní akce dostupné u souběžných akcí instalace nejsou žádné (+0) nebo msidbCustomActionTypeContinue (+64).

Všimněte si, že nadřazená instalace nemůže volat vlastní balíček jako souběžnou instalační akci.

Upozorňujeme, že pokud se instalace jednotlivých počítačů pokusí spustit souběžnou instalaci pro jednotlivé uživatele, instalační program ve výchozím nastavení zaregistruje nadřazenou instalaci podle uživatele. To může způsobit, že instalační program nesprávně odebere aplikaci, protože se instalační program pokusí odinstalovat aplikaci pro jednotlivé počítače, když je skutečně zaregistrován jako uživatel. Chcete-li vynutit stav souběžné instalace ke sledování stavu nadřazené instalace, zadejte ALLUSERS="[ALLUSERS]" do cílového sloupce tabulky CustomAction. V takovém případě se souběžná instalace provádí pro jednotlivé počítače, pokud je nadřazený počítač, a souběžná instalace je pro uživatele, pokud je nadřazený objekt uživatelem.

Vývojáři by měli při vytváření souběžných instalací poznamenat následující upozornění.

  • Souběžné instalace nemůžou sdílet součásti.
  • Instalace pro správu nemůže obsahovat také souběžnou instalaci.
  • Oprava a upgrade nemusí fungovat se souběžnými instalacemi.
  • Instalační program nemusí správně stát souběžnou instalaci.
  • Integrované indikátory průběhu nelze použít s souběžnými instalacemi.
  • Prostředky, které se mají inzerovat, nelze nainstalovat souběžnou instalací.
  • Balíček, který provádí souběžnou instalaci aplikace, by měl také odinstalovat souběžnou aplikaci při odinstalaci nadřazeného produktu.

Pokud chcete zabránit instalaci balíčku jako souběžné instalace, přidejte do tabulky Launch Condition některý z následujících podmíněných příkazů. Tím zabráníte instalaci balíčku souběžnou instalační akcí spuštěnou jinou instalací. Tím nezabráníte odebrání balíčku akcí RemoveExistingProducts. Viz také ParentOriginalDatabase vlastnost a vlastnost ParentProductCode.

"Not ParentProductCode"
"Not ParentOriginalDatabase"