Using Initialization File Mapping
In Chapter 1, I described how the Registry evolved from its humble parentage of INI files. A surprising number of Windows 2000 and NT installations are still running 16-bit Win 3.1 applications that don’t support the Registry, and a surprising number of 32-bit applications still rely on the old INI file structure, despite the fact that using the Registry is one of the requirements for getting the coveted “Designed for Windows” logo from Microsoft.
Since there’s no way to upgrade skanky old 16-bit applications to use the Registry, you might think that you’re stuck forever with the mess of tracking, backing up, and protecting a mess of INI files. Not so. Windows NT included a feature called initialization file mapping (I’ll call it just “mapping” from now on) that allows you to force Registry-unaware programs to load and save configuration data in the Registry instead of in an INI file. Windows 2000 implements mapping too, using the same techniques and keys originally made available for NT.
The default OS install already includes mappings for several system components, including the Windows clock desk accessory, the bundled backup application, and even RegEdt32 . Mappings aren’t just for 16-bit applications; rather, they’re for any application--16- or 32-bit--that doesn’t include code to read and write Registry data. Of course, mapping’s not required; applications that depend on INI files can work just fine without having the files mapped. In ...