Registertabel
De registertabel bevat de registergegevens die de toepassing moet instellen in het systeemregister.
De tabel Register bevat de volgende kolommen.
Kolom | Type | Sleutel | Null-waarde |
---|---|---|---|
Register | id- | Y | N |
Wortel | geheel getal | N | N |
Sleutel | RegPath- | N | N |
Naam | opgemaakte | N | Y |
Waarde | opgemaakte | N | Y |
Bestanddeel_ | id- | N | N |
Kolommen
-
register
-
Primaire sleutel die wordt gebruikt om een registerrecord te identificeren.
-
hoofdmap
-
De vooraf gedefinieerde hoofdsleutel voor de registerwaarde. Voer een waarde in van -1 in dit veld om de hoofdsleutel afhankelijk te maken van het type installatie. Voer een van de andere waarden in de volgende tabel in om af te dwingen dat de registerwaarde wordt geschreven onder een bepaalde hoofdsleutel.
Constant Hexadecimaal Decimaal Hoofdsleutel (geen) - 0x001 -1 Als dit een installatie per gebruiker is, wordt de registerwaarde geschreven onder HKEY_CURRENT_USER. Als dit een installatie per machine is, wordt de registerwaarde geschreven onder HKEY_LOCAL_MACHINE. Houd er rekening mee dat een installatie per machine wordt opgegeven door de eigenschap ALLUSERS in te stellen op 1. msidbRegistryRootClassesRoot 0x000 0 HKEY_CLASSES_ROOTHet installatieprogramma schrijft of verwijdert de waarde uit de HKCU\Software\Classes hive tijdens de installatie in de installatiecontext per gebruiker.
Het installatieprogramma schrijft of verwijdert de waarde uit de HKLM\Software\Classes hive tijdens installaties per machine.msidbRegistryRootCurrentUser 0x001 1 HKEY_CURRENT_USER msidbRegistryRootLocalMachine 0x002 2 HKEY_LOCAL_MACHINE msidbRegistryRootUsers 0x003 3 HKEY_USERS Houd er rekening mee dat registervermeldingen die zijn geschreven naar de HKCU hive verwijzen naar een onderdeel waarop de RegistryKeyPath-bit is ingesteld in de kolom Kenmerken van de tabel Component. Dit zorgt ervoor dat het installatieprogramma de benodigde registervermeldingen schrijft wanneer er meerdere gebruikers op dezelfde computer zijn.
-
-sleutel
-
De lokaliseerbare sleutel voor de registerwaarde.
-
naam
-
Deze kolom bevat de naam van de registerwaarde (lokaliseerbaar). Als dit Null is, worden de gegevens die zijn ingevoerd in de kolom Waarde naar de standaardregistersleutel geschreven.
Als de kolom Waarde Null is, hebben de tekenreeksen in de volgende tabel in de kolom Naam een speciale betekenis.
Snaar Betekenis + De sleutel moet worden gemaakt, indien afwezig, wanneer het onderdeel is geïnstalleerd. - De sleutel moet worden verwijderd, indien aanwezig, met alle waarden en subsleutels, wanneer het onderdeel wordt verwijderd. * De sleutel moet worden gemaakt, indien afwezig, wanneer het onderdeel is geïnstalleerd. Bovendien moet de sleutel worden verwijderd, indien aanwezig, met alle waarden en subsleutels, wanneer het onderdeel wordt verwijderd. Houd er rekening mee dat de RemoveRegistry-tabel moet worden gebruikt als een geïnstalleerde registersleutel moet worden verwijderd, met de waarden en subsleutels, wanneer het onderdeel is geïnstalleerd.
-
waarde
-
Deze kolom is de lokaliseerbare registerwaarde. Het veld is opgemaakt. Als de waarde is gekoppeld aan een van de volgende voorvoegsels (bijvoorbeeld #%waarde), wordt de waarde geïnterpreteerd zoals beschreven in de tabel. Houd er rekening mee dat elk voorvoegsel begint met een nummerteken (#). Als de waarde begint met twee of meer opeenvolgende getaltekens (#), wordt het eerste # genegeerd en wordt de waarde geïnterpreteerd en opgeslagen als een tekenreeks.
Voorvoegsel Betekenis #x De waarde wordt geïnterpreteerd en opgeslagen als een hexadecimale waarde (REG_BINARY). #% De waarde wordt geïnterpreteerd en opgeslagen als een uitbreidbare tekenreeks (REG_EXPAND_SZ). # De waarde wordt geïnterpreteerd en opgeslagen als een geheel getal (REG_DWORD). - Als de waarde de reeks tilde [~] bevat, wordt de waarde geïnterpreteerd als een door Null gescheiden lijst met tekenreeksen (REG_MULTI_SZ). Als u bijvoorbeeld een lijst wilt opgeven met de drie tekenreeksen a, b en c, gebruikt u 'a[~]b[~]c'.
- De reeks [~] binnen de waarde scheidt de afzonderlijke tekenreeksen en wordt geïnterpreteerd en opgeslagen als een Null-teken.
- Als een [~] voorafgaat aan de lijst met tekenreeksen, moeten de tekenreeksen worden toegevoegd aan bestaande registerwaardetekenreeksen. Als er al een toevoegtekenreeks optreedt in de registerwaarde, wordt het oorspronkelijke exemplaar van de tekenreeks verwijderd.
- Als een [~] het einde van de tekenreekslijst volgt, moeten de tekenreeksen worden voorafgegaan door bestaande registerwaardetekenreeksen. Als er al een prependingtekenreeks in de registerwaarde voorkomt, wordt het oorspronkelijke exemplaar van de tekenreeks verwijderd.
- Als een [~] zich zowel aan het begin als het einde of aan het begin of het einde van de lijst met tekenreeksen bevindt, moeten de tekenreeksen bestaande registerwaardetekenreeksen vervangen.
- Anders wordt de waarde geïnterpreteerd en opgeslagen als een tekenreeks (REG_SZ).
-
Component_
-
Externe sleutel in de eerste kolom van de tabel Component verwijst naar het onderdeel waarmee de installatie van de registerwaarde wordt bepaald.
Opmerkingen
De WriteRegistryValues en RemoveRegistryValues acties in reekstabellen de informatie in deze tabel verwerken. Zie Using a Sequence Tablevoor meer informatie over het gebruik van reekstabellen.
De registergegevens worden naar het systeemregister geschreven wanneer het bijbehorende onderdeel is geselecteerd om lokaal te worden geïnstalleerd of vanaf de bron te worden uitgevoerd.
Houd er rekening mee dat het installatieprogramma een registersleutel verwijdert na het verwijderen van de laatste waarde of subsleutel onder de sleutel. Als u wilt voorkomen dat een lege registersleutel wordt verwijderd bij het verwijderen, schrijft u een dummywaarde onder de sleutel die u moet behouden en voert u + in de kolom Naam in. Als * zich in de kolom Naam bevindt, wordt de sleutel, met alle waarden en subsleutels, verwijderd wanneer het onderdeel wordt verwijderd.
Een aangepaste actie kan worden gebruikt om rijen toe te voegen aan de registertabel tijdens een installatie, verwijdering of reparatietransactie. Deze rijen blijven niet behouden in de registertabel en de informatie is alleen beschikbaar tijdens de huidige transactie. De aangepaste actie moet daarom worden uitgevoerd in elke installatie, verwijdering of reparatietransactie waarvoor de informatie in deze extra rijen is vereist. De aangepaste actie moet worden uitgevoerd voordat de RemoveRegistryValues en WriteRegistryValues acties in de actiereeks.
Zie de MsiLockPermissionsEx Table en LockPermissions Tablevoor informatie over het beveiligen van een registersleutel.
Validering