home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware 1 2 the Maxx
/
sw_1.zip
/
sw_1
/
WINDOWS
/
UTILS
/
INCTRL.ZIP
/
inctrl.doc
next >
Wrap
Text File
|
1992-06-22
|
12KB
|
213 lines
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
sa
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.
Neil J. Rubenking is technical editor of PC Magazine.
----------------------------------------------------------------------
Figure: This is an abbreviated version of the report INCTRL produced
after installing the After Dark screen saver.
----------------------------------------------------------------------
An INCTRL Report
INSTALLATION«MDBU» «MDNM»REPORT - B:\INSTALL.EXE
Produced by INCTRL, Copyright (c) 1992«MDBU» «MDNM»by«MDBU» «MDNM»Neil«MDBU» «MDNM»J. Rubenking
Wed«MDBU» «MDNM»4/1/1992«MDBU» «MDNM»09:20:29.06
***«MDBU» «MDNM»FILES«MDBU» «MDNM»AND«MDBU» «MDNM»DIRECTORIES«MDBU» «MDNM»ADDED ***
DIR«MDBU» «MDNM»: E:\AFTERDRK
FILE:«MDBU» «MDNM»E:\WINDOWS\AFTERDAR.GRP
FILE:«MDBU» «MDNM»E:\AFTERDRK\AD_LIB.DLL
FILE:«MDBU» «MDNM»E:\AFTERDRK\ADINIT.EXE
FILE:«MDBU» «MDNM»E:\AFTERDRK\AD.EXE
. . .
FILE: E:\AFTERDRK\ADMODULE.SDK\BLANKER\MNAME.RSC
Install«MDBU» «MDNM»program added«MDBU» «MDNM»81«MDBU» «MDNM»files«MDBU» «MDNM»and«MDBU» «MDNM»5«MDBU» «MDNM»directories.
***«MDBU» «MDNM»FILES«MDBU» «MDNM»AND«MDBU» «MDNM»DIRECTORIES«MDBU» «MDNM»CHANGED«MDBU» «MDNM»***
FILE:«MDBU» «MDNM»E:\WINDOWS\AD.CFG
FILE:«MDBU» «MDNM»E:\WINDOWS\ADMODULE.ADS
FILE:«MDBU» «MDNM»E:\WINDOWS\AD_PREFS.INI
FILE:«MDBU» «MDNM»E:\WINDOWS\PROGMAN.INI
FILE:«MDBU» «MDNM»E:\WINDOWS\SYSTEM.ADK
FILE:«MDBU» «MDNM»E:\WINDOWS\SYSTEM.INI
FILE:«MDBU» «MDNM»E:\WINDOWS\WIN.INI
FILE:«MDBU» «MDNM»E:\WINDOWS\WININI.ADK
Install«MDBU» «MDNM»program«MDBU» «MDNM»changed«MDBU» «MDNM»8«MDBU» «MDNM»files«MDBU» «MDNM»and«MDBU» «MDNM»0«MDBU» «MDNM»directories.
***«MDBU» «MDNM»KEYS«MDBU» «MDNM»CHANGED«MDBU» «MDNM»IN«MDBU» «MDNM»WIN.INI«MDBU» «MDNM»SECTION«MDBU» «MDNM»[windows]«MDBU» «MDNM»***
BEFORE: load=
«MDBU» «MDNM»AFTER:«MDBU» «MDNM»load=e:\afterdrk\ad.exe«MDBU» «MDNM»e:\afterdrk\adinit.exe
1«MDBU» «MDNM»keys«MDBU» «MDNM»changed«MDBU» «MDNM»in«MDBU» «MDNM»WIN.INI«MDBU» «MDNM»section«MDBU» «MDNM»[windows]
***«MDBU» «MDNM»KEYS«MDBU» «MDNM»ADDED«MDBU» «MDNM»TO«MDBU» «MDNM»SYSTEM.INI«MDBU» «MDNM»SECTION«MDBU» «MDNM»[386Enh]«MDBU» «MDNM»***
1«MDBU» «MDNM»DEVICE=«MDBU» «MDNM»lines«MDBU» «MDNM»added«MDBU» «MDNM»to«MDBU» «MDNM»the«MDBU» «MDNM»[386Enh]«MDBU» «MDNM»section«MDBU» «MDNM»of«MDBU» «MDNM»SYSTEM.INI
1«MDBU» «MDNM»keys«MDBU» «MDNM»added«MDBU» «MDNM»to«MDBU» «MDNM»SYSTEM.INI«MDBU» «MDNM»section«MDBU» «MDNM»[386Enh]
----------------------------------------------------------------------