Dela via


SelfReg-tabell

Tabellen SelfReg innehåller information om moduler som måste vara självregistrerade. Installationsprogrammet anropar funktionen DllRegisterServer under installationen av modulen. den anropar DllUnregisterServer under avinstallationen av modulen. Installationsprogrammet registrerar inte EXE-filer själv.

Tabellen SelfReg innehåller följande kolumner.

Spalt Typ Nyckel Nullbar
Fil_ identifierare Y N
Kostnad Heltal N Y

 

Kolumner

File_

Extern nyckel i den första kolumnen i tabellen File som anger den modul som måste registreras.

kostnad

Kostnaden för att registrera modulen i byte. Detta måste vara ett icke-negativt tal.

Anmärkningar

Installationspaketförfattare rekommenderas starkt att inte använda självregistrering. I stället bör de registrera moduler genom att redigera en eller flera tabeller som tillhandahålls av installationsprogrammet för detta ändamål. Mer information finns i Registry Tables Group. Många av fördelarna med att ha en central installationstjänst går förlorade med självregistrering eftersom självregistreringsrutiner tenderar att dölja viktig konfigurationsinformation. Orsaker till att undvika självregistrering är:

  • Återställning av en installation med självregistrerade moduler kan inte göras på ett säkert sätt med hjälp av DllUnregisterServer eftersom det inte finns något sätt att veta om de självregistrerade nycklarna används av en annan funktion eller ett annat program.
  • Möjligheten att använda annonseringen minskar om registrering av klass- eller tilläggsserver utförs inom självregistreringsrutiner.
  • Installationsprogrammet hanterar automatiskt HKCR-nycklar i registertabellerna för installationer per användare eller per dator. DllRegisterServer rutiner stöder för närvarande inte begreppet HKCR-nyckel per användare.
  • Om flera användare använder ett självregistrerat program på samma dator måste varje användare installera programmet första gången de kör det. Annars kan installationsprogrammet inte enkelt fastställa att rätt HKCU-registernycklar finns.
  • DllRegisterServer kan nekas åtkomst till nätverksresurser, till exempel typbibliotek, om en komponent både anges som run-from-source och visas i tabellen SelfReg. Detta kan göra att installationen av komponenten misslyckas under en administrativ installation.
  • Självregistrering av DLL:er är mer känsliga för kodfel eftersom den nya koden som krävs för DllRegisterServer ofta skiljer sig åt för varje DLL. Använd i stället registertabellerna i databasen för att dra nytta av befintlig kod som tillhandahålls av installationsprogrammet.
  • Självregistrering av DLL:er kan ibland länka till extra DLL:er som inte finns eller är fel version. Installationsprogrammet kan däremot registrera DLL:er med hjälp av registertabellerna utan beroende av systemets aktuella tillstånd.

Not

Du kan inte ange i vilken ordning installationsprogrammet registrerar eller avregistrerar självregistrerande DLL:er med hjälp av SelfRegModules och SelfUnRegModules åtgärder. Se Ange självregistreringsordningen.

 

Validering

ICE03
ICE06
ICE32