Samtidiga installationer
Samtidiga installationer, även kallade kapslade installationer, är en inaktuell funktion i Windows Installer. Program som installeras med samtidiga installationer kan så småningom misslyckas eftersom de är svåra för kunder att betjäna korrekt. Använd inte samtidiga installationer för att installera produkter som är avsedda att släppas till allmänheten. Samtidiga installationer kan ha begränsad tillämplighet i kontrollerade företagsmiljöer när de används för att installera program som inte är avsedda för offentlig version. Dokumentationen om samtidiga installationer tillhandahålls för paketförfattare som vill använda samtidiga installationer med program som inte är för offentlig distribution.
En samtidig installationsåtgärd installerar ett annat Windows Installer-paket under en installation som körs. En samtidig installation läggs till i ett paket genom att en samtidig installationsåtgärd skapas i tabellen CustomAction och schemalägga den här anpassade åtgärden i sekvenstabellerna. Fältet Mål i CustomAction-tabellen innehåller en sträng med inställningar för offentliga egenskaper som används av den samtidiga installationen. Fältet Källa i tabellen CustomAction identifierar det samtidiga paketet. En samtidig installationsåtgärd kan bara installera om eller ta bort ett program som har installerats av det aktuella programmets installationspaket.
Typen av samtidig installationsåtgärd anges i fältet Typ i tabellen CustomAction. Beroende på den anpassade åtgärdstypen kan paketet för det samtidiga programmet finnas i en underlagring av huvudpaketet, som en fil på en plats som anges av en egenskap eller som ett annonserat program på användarens dator. Följande typer av anpassade åtgärder utför en samtidig installation.
Anpassad åtgärdstyp | Beskrivning |
---|---|
anpassad åtgärdstyp 7 | Samtidig installation av en produkt som finns i installationspaketet. |
anpassad åtgärdstyp 23 | Samtidig installation av ett installationspaket i det aktuella källträdet. |
anpassad åtgärdstyp 39 | Samtidig installation av ett annonserat installationspaket. |
En samtidig installation delar samma användargränssnitt och loggningsinställningar som huvudinstallationen.
Samtidiga installationsåtgärder ska placeras mellan åtgärden InstallInitialize och InstallFinalize av huvudinstallationens åtgärdssekvens. Vid återställning av huvudinstallationen återställer installationsprogrammet även den samtidiga installationen. Det är inte nödvändigt att använda uppskjuten körning med samtidiga installationsåtgärder eftersom installationsprogrammet kombinerar återställningsinformation från samtidiga och huvudsakliga installationer. Alla ändringar ångras vid en återställningsinstallation.
Returvärdena för samtidiga installationsåtgärder är desamma som för andra anpassade åtgärder. Se anpassade åtgärdsreturvärden.
Standardåtgärder eller anpassade åtgärder som anger en automatisk omstart av systemet, eller som begär att användaren startar om, kan också utföra omstart eller begäran inifrån en samtidig installation.
När installationsprogrammet påbörjar en samtidig installation låser det alla andra installationer tills den samtidiga installationen är klar och innan huvudinstallationen fortsätter. Installationsprogrammet kan bara köra samtidiga installationer som synkrona anpassade åtgärder. Se synkrona och asynkrona anpassade åtgärder. Alternativflaggorna som beskrivs i Alternativ för bearbetning av anpassad åtgärdsretur måste vara inställda på ingen (+0) eller msidbCustomActionTypeContinue (+64).
En samtidig installationsåtgärd kan installera ett program som ska köras lokalt, köras från källan, installeras om eller tas bort på samma sätt som när du använder MsiInstallProduct för en vanlig installation. Om du vill ange typ av installation skickar du antingen egenskapen ADDLOCAL, ADDSOURCE, REINSTALLeller REMOVE till den samtidiga installationsåtgärden.
Samtidiga installationsåtgärder kan redigeras i par, en åtgärd som används för installation och den andra åtgärden som används för att ta bort den samtidiga installationen. En anpassad åtgärdstyp 7 eller anpassad åtgärdstyp 23 används vanligtvis för att installera. En anpassad åtgärdstyp 39 används vanligtvis för att ta bort den samtidiga installationen när den överordnade produkten avinstalleras. Posten för den anpassade åtgärden för borttagning i tabellen CustomAction kan ha produktkoden GUID i fältet Källa och "REMOVE=ALL" i fältet Mål. De två anpassade åtgärderna måste redigeras i åtgärdssekvenstabellen med ömsesidigt uteslutande villkor. Den anpassade åtgärd som installerar produkten kan till exempel ha "INTE installerat" i fältet Villkor och den anpassade åtgärden tar bort den samtidiga installationen kan ha REMOVE="ALL" i fältet Villkor.
Det finns ingen metod för att fråga ett paket om dess kostnad. Detta gör det svårt att beräkna kostnaderna för samtidiga installationer. Rader måste läggas till i tabellen ReserveCost för att ange mapparna och de värsta kostnaderna för komponenten som är associerad med den samtidiga installationen.
De enda alternativ för returnering av anpassad åtgärd tillgängliga med samtidiga installationsåtgärder är inga (+0) eller msidbCustomActionTypeContinue (+64).
Observera att en överordnad installation inte kan anropa ett eget paket som en samtidig installationsåtgärd.
Observera att om en installation per dator försöker köra en samtidig installation per användare registrerar installationsprogrammet den överordnade installationen som per användare som standard. Detta kan göra att installationsprogrammet tar bort programmet felaktigt eftersom installationsprogrammet försöker avinstallera programmet per dator när det faktiskt är registrerat som per användare. Om du vill tvinga tillståndet för en samtidig installation att spåra tillståndet för den överordnade installationen anger du ALLUSERS="[ALLUSERS]" i kolumnen Target i tabellen CustomAction. I det här fallet är den samtidiga installationen per dator om den överordnade datorn är per dator och den samtidiga installationen är per användare om den överordnade är per användare.
Utvecklare bör notera följande varningar när de skapar samtidiga installationer.
- Samtidiga installationer kan inte dela komponenter.
- En administrativ installation kan inte heller innehålla en samtidig installation.
- Korrigering och uppgradering kanske inte fungerar med samtidiga installationer.
- Installationsprogrammet kanske inte kostar en samtidig installation korrekt.
- Integrerade ProgressBars kan inte användas med samtidiga installationer.
- Resurser som ska annonseras kan inte installeras av den samtidiga installationen.
- Ett paket som utför en samtidig installation av ett program bör också avinstallera det samtidiga programmet när den överordnade produkten avinstalleras.
Om du vill förhindra att ett paket någonsin installeras som en samtidig installation lägger du till någon av följande villkorssatser i tabellen LaunchCondition. Detta förhindrar att paketet någonsin installeras av en samtidig installationsåtgärd som körs av en annan installation. Detta förhindrar inte att paketet tas bort av åtgärden RemoveExistingProducts. Se även egenskapen ParentOriginalDatabase och egenskapen ParentProductCode.
"Not ParentProductCode"
"Not ParentOriginalDatabase"