home *** CD-ROM | disk | FTP | other *** search
-
- INIFILE.TXT
-
- Discussion of INI Files
-
- This is not intended to be a replacement for the normal documentation
- on INI files, but just a very general orientation explaining the
- reason I started the development of INIMAINT.
-
- Many, if not all applications that run in any computer environment
- need to have a place to keep information that is system specific. In
- a standard DOS environment, every application must define a place for
- this information and manage it themselves. With the advent of Windows
- and it's requirement that a lot of Windows information be kept
- somewhere, a standard file approach was developed. In the original
- Windows environment this file was called WIN.INI and could contain
- information about Applications as well as Windows itself. This file
- was, and still is, a standard ASCII text file and this causes some
- problems. Specifically, much of the data stored in the file could be
- more efficiently stored and used if it was in a binary format and,
- more important, an ASCII file meant that the user could, and almost
- always did, edit the file. This editing can introduce errors, so the
- parsing of the file becomes a big problem. Because of formatting and
- performance problems, some of the standard information needed to run
- individual programs was still not stored in the INI file, but was
- stored in individual Program Information Files or PIF files. These
- files were binary, thus solving the performance and editing
- problems, since they were maintained by Windows itself. However, this
- generated a huge number of tiny files, each one taking an entire
- allocation unit on the harddisk and generating a significant backup
- problem. OS/2 takes the concept a step further by making the INI
- files binary files and incorporating all of the information that
- Windows stores in the PIF files in the same file. These files
- OS2.INI, for user information, and OS2SYS.INI, for system
- information. In addition, a set of OS/2 API's are supplied to manage
- these files.
-
- The OS/2 INI files are organized on three levels:
- 1. The highest level is the Application Name.
- 2. Within each Application, there is a series of individual entries
- which are called Keys and identified by a Key name.
- 3. Associated with each Key name is the actual data for the
- Application/Key pair or Key value.
- For example, INIMAINT will create a new Application called "INI File
- Maintenance" in the OS2.INI file. This is the INIMAINT Application
- name. One of the Keys that INIMAINT will create is "Current INI"
- which is used to keep track of which INI file the user is currently
- working with. The Key value for this Application/Key pair will be the
- path and filename of the current INI file.
-
- Since the files are binary, the performance is reasonable, especially
- since the files do not have to be accessed that often. In addition,
- the contents of the files are managed by OS/2, so there is not a
- problem of parsing the entries to insure that they are properly
- formatted.
-
- However, this creates other problems. For example, there is no way
- for a user to even find out what is in the files, even for
- applications that he has installed. One of the advantages of the fact
- that the Windows INI files were ASCII and the PIF files were
- application specific was that they user could install an application
- on one system and then move it, with customizing, to other systems
- by moving the PIF files and, sometimes, some entries from the INI
- files. None of this is possible in an OS/2 environment. Every machine
- must be customized manually and every change must be made in every
- system. Further, it turns out that no application, including OS/2
- itself, makes any provision for removing obsolete entries from the
- INI files. Therefore, as you change your OS/2 environment and upgrade
- or change your applications, the OS2.INI file and OS2SYS.INI files
- get bigger and bigger as they fill with information that no longer
- applies to your environment. Finally, since OS/2 always has the User
- and System INI files open, there is no way to create a backup of
- these files except during boot time. This normally means you have to
- keep several layers of copies, since you have to reboot to fix
- anything.
-
- INIMAINT was developed to address the new problems introduced by the
- new INI file approach in OS/2. With INIMAINT you can review what is
- in the files, change it, delete old entries, do complete or partial
- backups at any time and otherwise have an appropriate level of
- control over these files.
-