Megosztás a következőn keresztül:


Egyéni műveletek visszaállítása

Amikor a telepítő feldolgozza a telepítési szkriptet, egyidejűleg létrehoz egy visszaállítási szkriptet. A visszaállítási szkript mellett a telepítő a telepítés során törölt összes fájl másolatát is menti. Ezek a fájlok egy rejtett rendszerkönyvtárban vannak tárolva. A telepítés befejezése után a rendszer törli a visszaállítási szkriptet és a mentett fájlokat. Ha a telepítés sikertelen, a telepítő megpróbálja visszaállítani a telepítés során végrehajtott módosításokat, és visszaállítani a számítógép eredeti állapotát.

Bár a rendszerműveleteket sorokat az adatbázistáblába beszúró egyéni műveletek a telepítés visszaállításával megfordíthatók, a rendszert közvetlenül módosító vagy más rendszerszolgáltatásokra parancsokat váltó egyéni műveletek nem mindig fordíthatók vissza visszaállítással. Az egyéni visszaállítási művelet olyan művelet, amelyet a telepítő csak a telepítési visszaállítás során hajt végre, és célja egy olyan egyéni művelet megfordítása, amely módosította a rendszert.

Az egyéni visszaállítási művelet a halasztott végrehajtási egyéni művelettípusa, mivel a végrehajtás elhalasztva lesz, amikor a telepítés során meghívják. Ez abban különbözik a szokásos halasztott egyéni művelettől, hogy csak a visszaállítás során lesz végrehajtva. Az egyéni visszaállítási műveletnek mindig meg kell előznie a műveletütemezésben visszagörgetett halasztott egyéni műveletet. Az egyéni visszaállítási műveletnek azt az esetet is kezelnie kell, amikor a késleltetett egyéni művelet a végrehajtás közepén megszakad. Ha például a felhasználónak a Mégse gombra kellett volna kattintania az egyéni művelet végrehajtása közben.

Vegye figyelembe, hogy az egyéni műveletek visszaállítása nem futtatható aszinkron módon. Lásd szinkron és aszinkron egyéni műveletek.

Az egyéni visszaállítási művelet kiegészítése egy egyéni művelet véglegesítése. A telepítő végrehajt egy egyéni véglegesítési műveletet a telepítés során, átmásolja az egyéni műveletet a visszaállítási szkriptbe, de a visszaállítás során nem hajtja végre a műveletet.

Vegye figyelembe, hogy előfordulhat, hogy egy visszaállítási egyéni művelet nem tudja eltávolítani az egyéni műveletek véglegesítésével végrehajtott összes módosítást. Bár a telepítő mind a visszaállítást, mind az egyéni műveletek véglegesítését a visszaállítási szkriptbe írja, az egyéni műveletek véglegesítése csak akkor fut, ha a telepítő sikeresen feldolgozta a telepítési szkriptet. Az egyéni műveletek véglegesítése az első művelet, amely a visszaállítási szkriptben fut. Ha egy egyéni véglegesítési művelet meghiúsul, a telepítő kezdeményezi a visszaállítást, de csak a visszaállítási szkriptbe már írt műveletek visszaállítására képes. Ez azt jelenti, hogy az egyéni véglegesítési művelettől függően előfordulhat, hogy a visszaállítás nem tudja visszavonni a művelet által végrehajtott módosításokat. Az egyéni műveletek véglegesítésének hibáit figyelmen kívül hagyhatja úgy, hogy az egyéni műveletet a visszatérési kódok figyelmen kívül hagyásához írja be.

Amikor a telepítő egyéni visszaállítási műveletet futtat, az egyetlen módparaméter, amelyet beállít, MSIRUNMODE_ROLLBACK. A futtatási mód paramétereinek leírását MsiGetMode.

Egyéni visszaállítási műveletet úgy adhat meg, hogy hozzáad egy beállításjelzőt a CustomAction táblaTípus mezőjéhez. A visszaállítási egyéni műveletet tervező beállításjelölővel kapcsolatban tekintse meg egyéni művelet In-Script végrehajtási beállításokat.

Az egyéni műveletek visszaállítása és véglegesítése nem fut, ha a visszaállítás le van tiltva. Ha egy csomagkészítőnek ilyen típusú egyéni műveletekre van szüksége a megfelelő telepítéshez, akkor a RollbackDisabled tulajdonságot olyan feltétellel kell használnia, amely megakadályozza a telepítés folytatását, ha a visszaállítás le van tiltva. A visszaállítás letiltásáról további információt Visszaállítás telepítése (Windows Installer)című témakörben talál.