SelfReg-tábla
A SelfReg tábla információkat tartalmaz azokról a modulokról, amelyeket önállóan kell regisztrálni. A telepítő meghívja a DllRegisterServer függvényt a modul telepítése során; meghívja DllUnregisterServer a modul eltávolítása során. A telepítő nem regisztrálja az EXE-fájlokat.
A SelfReg tábla a következő oszlopokat tartalmazza.
Oszlop | Típus | Kulcs | Nullázható |
---|---|---|---|
Fájl_ | azonosító | Y | N |
Költség | egész szám | N | Y |
Oszlopok
-
File_
-
A külső kulcs a Fájltábla első oszlopába a regisztrálandó modult jelzi.
-
költség
-
A modul bájtban való regisztrálásának költsége. Ennek nem negatív számnak kell lennie.
Megjegyzések
A telepítési csomag szerzőinek kifejezetten ajánlott az önregisztráció használata. Ehelyett a modulokat a telepítő által erre a célra megadott egy vagy több tábla megírásával kell regisztrálniuk. További információ: beállításjegyzéktábla-csoport. A központi telepítőszolgáltatás számos előnye elveszik az önregisztrációval, mivel az önregisztrációs rutinok általában elrejtik a kritikus konfigurációs információkat. Az önregisztráció elkerülésének okai a következők:
- Az önregisztrációs modulokkal rendelkező telepítés visszaállítását nem lehet biztonságosan elvégezni DllUnregisterServer használatával, mert nem lehet megmondani, hogy az önregisztrációs kulcsokat egy másik funkció vagy alkalmazás használja-e.
- A hirdetés használatának lehetősége csökken, ha az osztály- vagy bővítménykiszolgáló-regisztráció önregisztrációs rutinokon belül történik.
- A telepítő automatikusan kezeli a HKCR-kulcsokat a beállításjegyzék-táblákban felhasználónkénti vagy gépenkénti telepítés esetén is. DllRegisterServer rutinok jelenleg nem támogatják a felhasználónkénti HKCR-kulcsok fogalmát.
- Ha több felhasználó is használ egy saját regisztrált alkalmazást ugyanazon a számítógépen, minden felhasználónak az első futtatáskor telepítenie kell az alkalmazást. Ellenkező esetben a telepítő nem tudja könnyen megállapítani, hogy a megfelelő HKCU beállításkulcsok léteznek-e.
- A DllRegisterServer megtagadható a hálózati erőforrásokhoz, például a típustárakhoz való hozzáférés, ha egy összetevő futtatási forrásként van megadva, és szerepel a SelfReg táblában. Ez azt okozhatja, hogy az összetevő telepítése nem sikerül egy rendszergazdai telepítés során.
- Az önregisztráló DLL-ek érzékenyebbek a kódolási hibákra, mivel az DllRegisterServer számára szükséges új kód általában minden DLL-hez eltérő. Ehelyett használja az adatbázisban található beállításjegyzék-táblákat a telepítő által biztosított meglévő kód előnyeinek kihasználásához.
- Az önregisztráló DLL-ek néha olyan kiegészítő DLL-ekhez is kapcsolódhatnak, amelyek nem vagy nem megfelelő verziójúak. Ezzel szemben a telepítő regisztrálhatja a DLL-eket a beállításjegyzék-táblák használatával, és nem függ a rendszer aktuális állapotától.
Jegyzet
Nem adhatja meg, hogy a telepítő milyen sorrendben regisztrálja vagy törölje az önregisztráló DLL-eket a SelfRegModules és SelfUnRegModules műveletek használatával. Lásd Az önregisztrációssorrendjének megadása című témakört.
Érvényesítés