Windows Registry

From Computers Wiki
Revision as of 04:19, 30 October 2023 by Huntertur (talk | contribs) (→‎.REG file format: Switch to non-breaking spaces)
Jump to navigationJump to search

The Windows Registry is a unnecessarily nested key-value store.

Windows for Workgroups 3.11

The following things were noticed after installing the 16-bit version of Internet Explorer 5.01.

REGEDIT.EXE

This one is bundled with the operating system. Run it with the /v flag to make it actually usable.

  • It only sees the type registrations (HKEY_CLASSES_ROOT in REGEDT16.EXE).
  • Spaces in keys are replaced with #.
  • There is only one value per key ((Default) in REGEDT16.EXE), and it is always a string.
  • A "Revert to Last Save" menu item exists.
  • Data is stored in %WINDIR%\REG.DAT.[1]
  • Separate REGEDIT.HLP and REGEDITV.HLP files exist. The latter is used for the Help menu when running in verbose mode.

REGEDT16.EXE

This one comes with the 16-bit version of Internet Explorer 5.01.

  • The About dialog states this is for both Windows 3.1 and Windows NT 3.51.
  • HKEY_CURRENT_USER and HKEY_LOCAL_MACHINE are present too.
  • String, Binary, and DWORD are the only types.
  • Data is stored in %WINDIR%\REG16X2.DAT.[2]
  • REG16X2.Enn for 00-99 are created next to the file for each installation and uninstallation attempt.

.REG file format

  • The first line is REGEDIT with no version afterwards. Contrast this with REGEDIT4 and Windows Registry Editor Version 5.00 present in later versions.
  • HKEY_CLASSES_ROOT is explicitly prepended to every key. Contrast this with REGEDIT.EXE /V strongly implying that the root is that itself.
  • Every processed line has the format HKEY_CLASSES_ROOT\path\to\key = Value of key.
  • Lines that do not start with HKEY_CLASSES_ROOT are ignored; no special character is needed to start a comment.[3]
  • If the  =  and value are omitted, the key is created without a value.

KB articles

References