home *** CD-ROM | disk | FTP | other *** search
-
- INIREPAR.TXT
-
- Discussion of INIMAINT Repair Capabilities
-
- INIMAINT has an item on the Recover menu called Repair. This item
- gives the user the ability to perform a number of different automatic
- Repair actions on his INI files. The Online Help documents how the
- Repair function works, however, it does not detail the rational and
- algorithms employed by INIMAINT to accomplish the various Repairs.
- This document is an attempt to do that.
-
- General Information
-
- Type of Repair
-
- There are four different type of Repair Options.
-
- The first one, Report Only, will never make any changes, but will
- only list the items that would have been Repaired if the Do Repair
- Option had been chosen.
-
- The Ask First, will ask the user if he wants each item repaired as
- the item is found and determined to be invalid. This can take a very
- long time in some cases, since the number of items can become quite
- large
-
- Do Repair, will automatically remove all invalid items for the
- catagory selected from the appropriate INI file. This should only be
- used when the user is sure he wants all invalid items removed.
-
- Do Selected can only be used after Report Only, since it requires
- that the invalid items be visible in the window. When Execute is
- chosen with the Do Selected button checked, then every line in the
- window that is selected will be deleted. The only exception to this
- is when doing either the Handles or WPS repair and a selected item
- has dependent items, such as subdirectories or files, in this case
- all dependent items will also be deleted. For example, if a Drive
- name itself is selected and Do Selected is chosen, then all entries
- for the drive, including all directories and files, that have been
- identified as invalid will be deleted.
-
- The easiest and safest way to remove invalid items when the user is
- not sure if they want everything done is to use the Report Only
- option, select the items that they want deleted and then use Do
- Selected. This cycle can be repeated over and over until all of the
- desired items have been deleted.
-
- Window Behavior
-
- When and item is deleted for any reason, the word 'Deleted' will
- appear after the item in the window. If there are deleted items in
- the window and additional items are selected for deletion then the
- previously deleted items will be removed from the window. For
- example, if the first item in the window is selected and deleted, the
- word deleted would appear after the first item. If then the second
- items is selected and deleted, the second item will now have the word
- deleted after it and the first item will be gone from the window.
-
- Options
-
- Different users want to handle directories and file that are on
- removable, not ready, cdrom and vdisk devices differently. The
- Options dialog gives each user the ability to choose how they want
- each of these types of situations handled.
-
- If Ignore is chosen, then directories and files on the appropriate
- type of device will be completely ignored and will never appear in
- the repair window.
-
- If Report Only is selected, then the information will appear in the
- window, but will not get automatically deleted if the Do Repair
- option is chosen. The Report Only items can still be deleted by
- selecting them and using the Do Selected option.
-
- If Auto Repair, which is the default, is chosen, then the items will
- be reported and will be automatically deleted if Do Repair is chosen.
-
- The Do Not Save Deleted Items button will cause INIMAINT to not save
- items that are deleted from an INI file in the Save INI File.
- Normally, the user must specify a Save INI File and any entries
- removed from any INI file are written to the Save INI File before
- they are modified. This allows the user to restore items that he has
- deleted if they discover that something has been deleted in error and
- no backup is available.
-
- The Log to INIREP.LOG is used for diagnostic purposes.
-
- List Items versus Repair Items
-
- For a number of the repair catagories there are multiple choices
- available. The is always the Repair choice and it works the same for
- each catagory of Repair. When the Repair choice is used, the only
- items that will appear in the window will be items that are invalid
- and should be deleted.
-
- If the user want to see the valid items for the catagory or all the
- items, then the appropriate List entry can be used to display these
- entries. The List Invalid items is the same as the Repair as far as
- the contents of the window is concerned, however, it is safer because
- it is not possible to select or otherwise delete any of the items.
-
- Type of Repair
-
- Repair Pathnames and Filenames
-
- Many, if not all, applications installed under OS/2 store things in
- various INI files. However, few, if any, applications will remove
- things from these files when they are deinstalled or the directory
- structure is changed. This Repair action looks at the Pathname and
- Filename entries in an INI file, compares them to the current Desktop
- and either identifies and/or removes entries that are obsolete.
-
- The action INIMAINT will take depends on the structure of the
- individual Key Name or Key Value. There are two possibilities that
- INIMAINT looks for:
-
- 1. A Filename with no preceeding Path information.
- 2. A full Pathname or Filename combination.
-
- Each of the above are handled differently.
-
- General Processing applicable to both type of names:
-
- Any name that is too short, less than 3 characters, or too long,
- longer than the maximum path length returned by DosQSysInfo, will not
- be tested further.
-
- Any name which contains non-printable characters will not be tested.
-
- Processing of Filename with no Path information:
-
- If the beginning of a Key Name or Key Value starts with either X:\ or
- just \, INIMAINT assumes it is a full Pathname or Filename and
- processes it as described below. INIMAINT will then check for a
- Filename of the form *.XXX and ignore them, since this is simply a
- definition of a type of file extension and not an actual file.
- INIMAINT will then look for .XXX as the last four characters of the
- Filename and will search for the following combinations:
-
- 1. .EXE using the PATH Environment variable.
- 2. .CMD using the PATH Environment variable.
- 3. .DLL using the LIBPATH Environment variable.
- 4. .HLP using the HELP Environment variable.
-
- Processing of full Pathname or Filename:
-
- If the name starts with \, then the drive used as the drive for the
- OS2.INI file, which is the boot drive, will be appended to the start
- of the name.
-
- Any name that starts with A: or B: will be ignored, since they are
- assumed to be floppy drives and probably do not contain any media.
-
- Any trailing semicolons are removed from the name, since there are a
- number of entries that are valid Filenames except for the semicolons.
-
- If the trailing character in the name is a \ or if the name contains
- any embedded semicolons, it will be tried as a Pathname and made a
- candidate for removal if it is not found.
-
- All other qualifing names will be tried as both a Filename and a
- Pathname and will be made a candidate for removal if they fail both
- tests.
-
- Repair Objects
-
- Most, if not all, of the items on the Desktop have been assigned an
- Object Number. This number along with the name of the Object is
- stored in the OS2.INI file. This Repair entry will display and give
- the user the option to delete and Object. It is not currently
- possible for INIMAINT to determine which Objects are valid and which
- are invalid, so INIMAINT will never identify an Object as invalid.
- Great care should be exercised when deleting any of the Objects,
- since it is possible to do serious damage to your Desktop.
-
- The structure which stores all of the Object cross reference is used
- by the WPS Repair code to determine if Objects are valid and to find
- the names of valid Objects.
-
- Repair Directory/File Handles
-
- Many Drives, Directories and Files are assigned Handles. This Handle
- information is stored in the OS2SYS.INI file. However, when files are
- moved, directories changed or other changes are made to the Desktop,
- the Handle information is not updated. This Repair option gives the
- user the ability to see the contents of the INI file Handles entry
- and Repair any or all of the invalid entries.
-
- It is difficult to remove incorrect information manually, even
- knowing the internal structure of the entries, because all of the
- Handles information is stored in a single INI file entry and a small
- mistake in modifying could cause serious Desktop problems and/or
- create a non-bootable situation.
-
- The structure which stores all of the Handles information is used
- by the WPS Repair code to determine if Handles are valid and to find
- the names of Directories and Files.
-
- Repair WPS Entries
-
- WPS stores a variety of Desktop information in the INI files. As with
- the Handles information above, obsolete information is not always
- removed from the INI files when changes are made to the Desktop. This
- Repair option gives the user the ability to see what is in his INI
- files and remove those entries that are invalid.
-
- As with the Handles above, it is difficult to make these changes
- manually because things are stored in a number of different formats
- and the cross reference between the random looking numbers and the
- actual Objects and Handles would be very tedious to track manually.
-
- The Repair WPS Entries uses the Objects and Handles structures. This
- means that these structures must be filled before the WPS structure
- can be filled. This can take a significnat amount of time in
- situations where the Desktop is complex and/or there are a large
- number of invalid entries.
-
- Repair Both WPS and Handles Entries
-
- This is simply a combination of Repair WPS Entries and Repair
- Directory/File Handles above. It allows the user to do both types of
- Repair with a single action.
-