home *** CD-ROM | disk | FTP | other *** search
- INCTRL.EXE (Version 1.0)
- ------------------------------------------------------------------------
- Neil Rubenking July 1992 (Utilities)
- ------------------------------------------------------------------------
-
- INCTRL:
-
- INCTRL.EXE is an Installation Control program for Windows. It
- supervises an application's install utility and writes a report file
- of changes made to your system.
-
- USING INCTRL
-
- After copying INCTRL.EXE onto your hard disk, you can load it from
- the Program Manager, as usual. Note that the program requires Protected
- mode (Windows Standard or Enhanced modes) to operate.
-
- It takes hardly any more effort to install a new Windows application
- under INCTRL's supervision than to go through the usual File,Run dialog
- under Program Manager. After bringing up INCTRL, you press one button
- to select the install program and press a second to choose a file name
- for the output report. Although this documentation discusses INCTRL using
- a Windows 3.1 common dialog box for file selection, INCTRL does not require
- the COMMDLG Dynamic Link Library. If you don't have COMMDLG.DLL on your
- system, INCTRL will simply use a different file selection dialog box.
-
- When you've selected both the install program to be run and a name
- for INCTRL's output report, the grayed-out Perform Install button will
- be enabled. Press it and INCTRL will take over the installation.
-
- There will be an initial delay as INCTRL memorizes the file layout
- of the fixed disks on your system. During this interval a small window
- will appear to let you know what's happening. INCTRL also makes copies
- of WIN.INI and SYSTEM.INI at this time, using the names WININI.$$$ and
- SYSINI.$$$. After these preparations, INCTRL executes the application's
- install program, whose instructions you follow to complete the installation.
-
- After the installation is finished, INCTRL writes a header (which
- includes the install file name and the current date and time) for its
- output report. It then scans your fixed disks again, checking each file
- and directory against the disk contents it memorized earlier. For items
- already present on its list, INCTRL compares the current size and date/time
- stamp with their previous values. If the stamps are different, INCTRL
- marks the file as changed; if not, it removes the file from the list.
- Any file not present on the list was obviously added during the
- installation, so INCTRL writes its name to the output report.
-
- When this second scan of files and directories is complete, the
- only files left from INCTRL's original list will be those that were
- changed during the installation or those that were deleted. INCTRL first
- flips through the list and reports the name of every item that was marked
- as having been changed by the install program. Since every file that
- exists on disk was either removed from the list or marked as changed,
- any remaining files not marked as changed must have been deleted by
- the install program. INCTRL reports these as well, even though it's
- unusual for an install program to erase files.
-
- Next, INCTRL compares the saved copy of WIN.INI with the current
- WIN.INI. It compiles a list of all the section headings from the old
- file and checks it against the section headings from the new file.
- If any were added during the installation, it writes their names to the
- output report and adds them to the list. INCTRL doesn't report on sections
- deleted from WIN.INI. It follows the same procedure in examining
- SYSTEM.INI. For each section in the .INI file, INCTRL gets a list of
- all the keys (for example, Load) contained in that section of the old
- file and reports on any keys that were added in the new file. Then it
- checks the value of each key from the old file against the value of
- that key in the new file. If they differ, it writes both the old value
- and the new to the output file.
-
- INCTRL will notify you if it finds a duplicate section name or a
- duplicate key within a section of an INI file. Normally, the Windows
- functions that create the keys don't allow creation of duplicate key
- names. A particular exception occurs in the [386Enh] section of
- SYSTEM.INI, however, which can have any number of lines with the key
- DEVICE. Windows accesses these lines during initialization, without
- going through the normal INI-handling functions. INCTRL also treats
- this key specially: It simply counts the number of times it occurs in
- the old and in the new files and reports if the new file has more
- DEVICE lines.
-
- The Figure below shows an abbreviated version of a sample INCTRL
- report, which was generated while installing the After Dark screen saver.
- That application's install program copied 81 files and 5 directories
- to the disk, added a DEVICE= line to SYSTEM.INI, and added the programs
- AD.EXE and ADINIT.EXE to the LOAD= line in WIN.INI. There are 8 files
- listed as changed, though some of these were left over from an earlier
- installation of the program.
-
- CONFIGURING INCTRL
-
- By default, INCTRL scans all fixed disks on your system looking
- for file and directory changes. If you have one or more disk partitions
- that are never used for Windows applications, you can speed INCTRL's
- search and reduce its memory requirements by excluding those drives from
- examination. To do so, create the ASCII file INCTRL.INI in your Windows
- directory with a single section called [Excluded drives]. For each drive
- you want to exclude, add a key line such as c=1 to that section. For
- example, to exclude drives C: and D:, add the following:
-
- [Excluded drives]
- ac=1
- d=1
-
- Your Windows directory is the default storage location for INCTRL
- report files. To make another directory the default, add a [Directories]
- section to INCTRL.INI and assign that directory to the ReptDir key, as,
- for example:
-
- [Directories]
- ReptDir=E:\INCTRL
-
- UNINSTALLING WITH INCTRL
-
- Although INCTRL gives you the information you need to uninstall a
- program, you must still make intelligent rather than blind use of this
- information. Your first step is to delete the program's icon from the
- Program Manager group that contains it. If the program has a group all
- its own, you can delete the whole group.
-
- Now load the INCTRL report for the application to be removed into
- your editor of choice. Look first for entire directories added during
- its installation: you can usually trash these entirely. You should at
- least consider the possibility, however, that you may have created data
- files in a program-created directory that you're considering deleting.
- If you're not sure, try individually deleting the files INCTRL reports
- in that directory and examine any that are left over with your favorite
- file management program.
-
- You can obviously delete a private INI file if the program installed
- one, but most files added to the Windows and the System directories are
- intended to be shared with other programs. Thus, it may not be safe to
- delete DLL, DRV, FON or EXE files that were installed in either of these
- directories. If you want to be sure, rename rather than delete these
- possibly-shared files and then restart Windows. Bring up each program
- you installed after the program being removed and make sure it doesn't
- depend on the renamed files. If this test succeeds, you can delete the
- renamed files. If one of your programs refuses to run without a
- particular renamed file, rename it back and add that filename to the
- INCTRL report for the dependent program.
-
- INCTRL's list of changed files is provided for your information;
- most of the time you won't want to delete any of these, for the
- installation program either updated them or simply re-copied them on
- your disk. Either way, they were there before the installation and should
- probably stay after you uninstall the program.
-
- If changes were made to WIN.INI or SYSTEM.INI, bring up the affected
- INI file in your favorite ASCII editor. A new section is much like a new
- directory--you can probably erase the whole thing. If one or more EXE
- files were added to the LOAD= or RUN= lines in the [windows] section of
- WIN.INI, remove them. Don't simply restore the "before" value of the
- line unless you're sure that other programs have not subsequently been
- added to these lines. On the other hand, some programs are associated
- with a particular file extension in the [extensions] section. Once the
- program is gone, you'll probably want to delete the WIN.INI line for
- that association.
-
- Other INI file changes must be considered on a case-by-case basis.
- If you're not sure whether it's safe to delete a line, turn it into a
- comment by putting a semicolon at the beginning of the line. Then restart
- Windows and run each program that was installed after the program being
- removed. If they all work, you can either delete the now-comment lines
- or leave them in place as comments. In case you find that one of your
- other programs does depend on a particular INI file line, remove the
- initial semicolon and add the line to the INCTRL report file for that
- program.
-
-
- -----------------------------------------------------------------
-
- An INCTRL Report
- INSTALLATION REPORT - B:\INSTALL.EXE
-
- Produced by INCTRL, Copyright (c) 1992 by Neil J. Rubenking
- Wed 4/1/1992 09:20:29.06
-
- *** FILES AND DIRECTORIES ADDED ***
- DIR : E:\AFTERDRK
- FILE: E:\WINDOWS\AFTERDAR.GRP
- FILE: E:\AFTERDRK\AD_LIB.DLL
- FILE: E:\AFTERDRK\ADINIT.EXE
- FILE: E:\AFTERDRK\AD.EXE
- . . .
- FILE: E:\AFTERDRK\ADMODULE.SDK\BLANKER\MNAME.RSC
- Install program added 81 files and 5 directories.
-
- *** FILES AND DIRECTORIES CHANGED ***
- FILE: E:\WINDOWS\AD.CFG
- FILE: E:\WINDOWS\ADMODULE.ADS
- FILE: E:\WINDOWS\AD_PREFS.INI
- FILE: E:\WINDOWS\PROGMAN.INI
- FILE: E:\WINDOWS\SYSTEM.ADK
- FILE: E:\WINDOWS\SYSTEM.INI
- FILE: E:\WINDOWS\WIN.INI
- FILE: E:\WINDOWS\WININI.ADK
- Install program changed 8 files and 0 directories.
-
- *** KEYS CHANGED IN WIN.INI SECTION [windows] ***
- BEFORE: load=
- AFTER: load=e:\afterdrk\ad.exe e:\afterdrk\adinit.exe
- 1 keys changed in WIN.INI section [windows]
-
- *** KEYS ADDED TO SYSTEM.INI SECTION [386Enh] ***
- 1 DEVICE= lines added to the [386Enh] section of SYSTEM.INI
- 1 keys added to SYSTEM.INI section [386Enh]
- ----------------------------------------------------------------------