Egyidejű telepítések
Az egyidejű telepítések, más néven beágyazott telepítések a Windows Installer elavult funkciói. Az egyidejű telepítéssel telepített alkalmazások végül meghiúsulhatnak, mert az ügyfelek nehezen tudják megfelelően kiszolgálni őket. Ne használjon egyidejű telepítéseket olyan termékek telepítéséhez, amelyek a nyilvánosság számára kiadásra kerülnek. Az egyidejű telepítések korlátozott mértékben alkalmazhatók az ellenőrzött vállalati környezetekben, ha olyan alkalmazásokat telepítenek, amelyek nem nyilvános kiadásra készültek. Az egyidejű telepítés dokumentációja olyan csomagkészítők számára érhető el, akik egyidejűleg olyan alkalmazásokat szeretnének használni, amelyek nem nyilvános terjesztésre szolgálnak.
Az egyidejű telepítési művelet egy másik Windows Installer-csomagot telepít egy jelenleg futó telepítés során. A rendszer egyidejű telepítést ad hozzá egy csomaghoz, ha egyidejű telepítési műveletet hoz létre a CustomAction tábla, és ütemezi ezt az egyéni műveletet a sorrendtáblákba. A CustomAction tábla Cél mezőjében az egyidejű telepítés által használt nyilvánostulajdonság-beállítások sztringje található. A CustomAction tábla Forrás mezője azonosítja az egyidejű csomagot. Az egyidejű telepítési művelet csak az aktuális alkalmazás telepítési csomagja által telepített alkalmazás újratelepítésére vagy eltávolítására képes.
Az egyidejű telepítési művelet típusa a CustomAction tábla Típus mezőjében van megadva. Az egyéni művelettípustól függően az egyidejű alkalmazás csomagja a főcsomag almappájában, egy tulajdonság által meghatározott helyen található fájlként vagy a felhasználó számítógépén meghirdetett alkalmazásként is elhelyezhető. Az alábbi egyéni műveletek egyidejű telepítést hajtanak végre.
Egyéni művelettípus | Leírás |
---|---|
7-es egyéni művelettípus | A telepítési csomagban található termék egyidejű telepítése. |
23- egyéni művelettípus | Egy telepítőcsomag egyidejű telepítése az aktuális forrásfán belül. |
39-es egyéni művelettípus | Egy meghirdetett telepítőcsomag egyidejű telepítése. |
Az egyidejű telepítés ugyanazokat a felhasználói felületi és naplózási beállításokat használja, mint a fő telepítés.
Egyidejű telepítési műveleteket kell végrehajtani az InstallInitialize művelet és InstallFinalize művelet a fő telepítés műveletütemezése között. A fő telepítés visszaállítása után a telepítő az egyidejű telepítést is visszaállítja. A halasztott végrehajtási egyidejű telepítési műveletekkel való használata szükségtelen, mivel a telepítő egyesíti az egyidejű és a fő telepítések visszaállítási adatait. A rendszer minden módosítást visszafejt egy visszaállítási telepítéskor.
Az egyidejű telepítési műveletek visszatérési értékei ugyanazok, mint más egyéni műveletek esetében. Lásd egyéni művelet visszatérési értékeit.
A rendszer automatikus újraindítását vagy a felhasználó újraindítását kérő szabványos vagy egyéni műveletek az egyidejű telepítésen belül is végrehajthatják az újraindítást vagy a kérést.
Miután a telepítő megkezdte az egyidejű telepítést, az összes többi telepítést zárolja, amíg az egyidejű telepítés be nem fejeződik, és a fő telepítés folytatása előtt. A telepítő csak szinkron egyéni műveletként hajthat végre egyidejű telepítéseket. Lásd szinkron és aszinkron egyéni műveletek. Az egyéni művelet visszatérési feldolgozási beállításainak beállításjelzőinek nincs (+0) vagy msidbCustomActionTypeContinue (+64) értékre kell állítaniuk.
Az egyidejű telepítési műveletek telepíthetnek egy helyileg futtatandó alkalmazást, futtathatók a forrásból, újratelepíthetők, vagy ugyanúgy távolíthatók el, mint a MsiInstallProduct rendszeres telepítésekor. A telepítés típusának megadásához adja meg az ADDLOCAL, ADDSOURCE, REINSTALLvagy REMOVE tulajdonságot az egyidejű telepítési műveletnek.
Az egyidejű telepítési műveletek párokban hozhatók össze, az egyik műveletet a telepítéshez, a másikat pedig az egyidejű telepítés eltávolításához. A 7-es egyéni művelettípusú vagy 23- egyéni művelettípust általában a telepítéshez használják. A 39-es egyéni művelettípusú általában az egyidejű telepítés eltávolítására szolgál a szülőtermék eltávolításakor. A CustomAction tábla eltávolítási egyéni műveletének rekordja a Termékkód GUID azonosítóját a Forrás mezőben, a Cél mezőben pedig a "REMOVE=ALL" értéket tartalmazhatja. A két egyéni műveletet a műveletütemezési táblában kell létrehozni, kölcsönösen kizáró feltételek mellett. A terméket telepítő egyéni művelet például a "NOT Installed" (NINCS telepítve) értékkel rendelkezhet a Feltétel mezőben, és az egyéni művelet eltávolítja az egyidejű telepítést, és a Feltétel mezőben az REMOVE="ALL" értékkel rendelkezhet.
A csomag költségének lekérdezésére nincs mód. Ez megnehezíti az egyidejű telepítések költségeit. Sorokat kell hozzáadni a ReserveCost tábla az egyidejű telepítéshez társított összetevő mappáinak és legrosszabb esetben felmerülő költségeinek jelzéséhez.
Az egyidejű telepítési műveletekkel elérhető egyéni művelet visszatérési feldolgozási beállításai nem érhetők el (+0) vagy msidbCustomActionTypeContinue (+64).
Vegye figyelembe, hogy a szülőtelepítés nem hívhatja meg a saját csomagját egyidejű telepítési műveletként.
Vegye figyelembe, hogy ha egy gépenkénti telepítés felhasználónkénti egyidejű telepítést kísérel meg futtatni, a telepítő alapértelmezés szerint felhasználónként regisztrálja a szülőtelepítést. Ez azt okozhatja, hogy a telepítő helytelenül távolítja el az alkalmazást, mert a telepítő megpróbálja eltávolítani az alkalmazást gépenként, amikor ténylegesen felhasználónként van regisztrálva. Ha az egyidejű telepítés állapotát a szülőtelepítés állapotának nyomon követésére szeretné kényszeríteni, írja be az ALLUSERS="[ALLUSERS]" értéket a CustomAction tábla céloszlopába. Ebben az esetben az egyidejű telepítés gépenként történik, ha a szülő gépenkénti, és az egyidejű telepítés felhasználónként történik, ha a szülő felhasználónként van.
A fejlesztőknek az alábbi figyelmeztetéseket kell figyelembe vennie az egyidejű telepítések létrehozásakor.
- Az egyidejű telepítések nem oszthatnak meg összetevőket.
- A felügyeleti telepítés nem tartalmazhat egyidejű telepítést is.
- Előfordulhat, hogy a javítás és a frissítés nem működik egyidejű telepítésekkel.
- Előfordulhat, hogy a telepítő nem kerül megfelelően az egyidejű telepítésbe.
- Az integrált folyamatjelzők nem használhatók egyidejű telepítésekkel.
- A meghirdetni kívánt erőforrásokat nem lehet egyidejűleg telepíteni.
- Az alkalmazás egyidejű telepítését végző csomagnak az egyidejű alkalmazást is el kell távolítania a szülőtermék eltávolításakor.
Ha meg szeretné akadályozni, hogy egy csomag egyidejű telepítésként legyen telepítve, adja hozzá az alábbi feltételes utasításokat a LaunchCondition táblához. Ez megakadályozza, hogy a csomagot egy másik telepítés által futtatott egyidejű telepítési művelet telepítse. Ez nem akadályozza meg, hogy a RemoveExistingProducts művelet eltávolítsa a csomagot. Lásd még a ParentOriginalDatabase tulajdonságot és ParentProductCode tulajdonságot.
"Not ParentProductCode"
"Not ParentOriginalDatabase"