Technológiai ablak telepítő
Forrás: rsdn.ru
előszó
A Windows Installer technológia nem a semmiből származik, ezért mielőtt merülnénk, 10-15 évet nézünk vissza.
Egy kis történelem
"Arany" alkalommal a DOS
Ha visszamegyünk a DOS "aranyos" idõihez, akkor azt találjuk, hogy abban az idõben minden szoftver forgalmazó saját módján torzult. Nem volt közös felhasználói felület, egyetlen egységes módszer sem működött együtt a szoftverekkel (nem tekintem az Apple boldog tulajdonosait az Apple-ből, ahol már egyetlen felhasználói felület is létezik). Ezért nem meglepő, hogy egyetlen szoftvertermék-telepítési technológia sem létezik.
Telt az idő - az első Windows-verzió jelent meg (véleményem - csak egy érdekes játék), majd - a második. PC-s világban megkísérelték, hogy egy egységes felhasználói felület (eddig sikertelenül), de tekintve a telepítési technológia, semmi sem változott: az egyes szoftvereket gyártó továbbra is lepett meg minket a különböző egymással inkompatibilis szerelők.
A helyzet a Windows 3.0 kiadásával javult, ami végül a PC-k felhasználói felületének de facto szabványává vált. De ... semmi sem változott a telepítés szempontjából. A számítógépen még nem létezett egyetlen program adatbázis, és nem létezett olyan API, amely egységesített, kompatibilis egymással és legfontosabb, megbízható telepítési programokkal.
Ezért természetes, hogy a hiányzó integrált megoldás az operációs rendszer szállítójának szabad elfoglalni ezt a rést a harmadik féltől származó szoftver cégek. A leghíresebb közülük - InstallShield Szoftver és WiseSolutions. Ezek a cégek hozzák egységes felületet biztosít a szoftverek világában szerelők, és fontos szerepet játszott alakításában felhasználók ötleteket, hogyan néz ki, és úgy viselkednek, komplex szoftver telepítés szoftver.
Windows 95
De a telepített programok listájának és a külső telepítőprogramok futtatásának lehetősége mellett a Windows ezen verziója semmit sem kínál. Ennek eredményeképpen a dinamikus hivatkozási könyvtárak (a továbbiakban DLL) különböző változatai, a rendszer újraírása DLL-ekkel stb.
A Windows következő verziói nem hoztak semmi újat, a WindowsNT-ben a helyzet nem sokkal jobb. A Windows 3.x-ből örökölt telepítési API-technológia nagyon korlátozott volt és használatban volt (azonban még mindig használatban van) főként különböző illesztőprogramok telepítéséhez.
Windows Installer - egy új szó a telepítési technológiákban
Ez a táblázat 128 bites hash értéket tárol a forrásfájlokhoz a 4 telepítőcsomagban
Táblázatrekordok a Windows rendszerleíró adatbázisban
Ez a csoport olyan táblázatokat tartalmaz, amelyek leírják a Windows rendszerleíró adatbázisában található különböző típusú információkat.
A figyelmes olvasó természetesen észrevette, hogy az ábrán más csoportok, például a komponensek táblái is szerepelnek. Jellemző és fájl. Ezek a táblázatok itt találhatók, annak érdekében, hogy világosan megmutassák a csoport munkájának logikáját. Emellett más csoportokban már szerepelnek táblázatok, de itt egy kicsit eltérő szerepet játszanak (ezek a SelfReg és a Environment táblák).
Így ez a csoport 11 táblázatot tartalmaz, amelynek rövid leírása az alábbiakban olvasható:
Ez a táblázat azokat a műveleteket tartalmazza, amelyeket akkor hajt végre, ha a magas szintű művelet ADVERTISE 4 aktiválva van
Megjegyzés- Minden művelet a telepítési folyamatot, legfeljebb kilépési InstallValidate párbeszédek kerülnek az asztalra InstallUISequence. Minden műveleteket InstallValidate végéig a telepítés - a táblázat InstallExecuteSequence. Mivel az utóbbi táblázat is használható függetlenül az első (például, ha a felhasználói felület van tiltva), ez magában foglalja az összes inicializálási műveletek, mint a LaunchConditions, CostInitialize, CostFinalize és ExecuteAction.
- Az ebben a sorrendben végrehajtott összes felhasználói művelet, ha használni kívánja a felhasználói felületet, használja az MsiProcessMessage API funkciót. A párbeszédpanelek helyett a Dialog tábla.
- Minden művelet a telepítési folyamatot, legfeljebb kilépési InstallValidate párbeszédek kerülnek az asztalra AdminUISequence. Minden műveleteket InstallValidate végéig a telepítés - a táblázat AdminExecuteSequence. Mivel az utóbbi táblázat is használható függetlenül az első (például, ha a felhasználói felület van tiltva), ez magában foglalja az összes inicializálási műveletek, mint a LaunchConditions, CostInitialize, CostFinalize és ExecuteAction.
- Az AdvtExecuteSequence táblázat csak korlátozott számú szabványos műveletet tartalmazhat. A felhasználói műveletek nem szerepelhetnek ebben a táblázatban.
A másik csoport táblákat tartalmaz, amelyek lehetővé teszik a telepítési csomag funkcionalitásának kiterjesztését. Gyakran előfordul, hogy különösen a komplex szoftverek telepítésekor a Windows Installer beépített funkcionalitása nem elegendő. Itt az Egyéni művelet táblázat mentésre kerül. Lehetővé teszi a felhasználói műveletek végrehajtásához a telepítési adatbázisban lévő információk létrehozását és tárolását.
Ez a táblázat lehetővé teszi, hogy könnyen és könnyen integráljuk a felhasználói kódot és adatokat az alkalmazás telepítési folyamatába. A végrehajtható kódot közvetlenül az adatbázisból, az újonnan telepített fájlból vagy egy létező, futtatható fájlból lehet a számítógépen venni.
A következő táblázatcsoport kiterjeszti a telepítőnek a fájlok és könyvtárak kezelésére való képességét a telepítési folyamat során.