home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-385-Vol-1of3.iso / i / inctrlwn.zip / INCTRL.DOC next >
Text File  |  1992-07-17  |  11KB  |  222 lines

  1. INCTRL.EXE (Version 1.0)            Copyright (c) 1992 Neil J. Rubenking
  2. ------------------------------------------------------------------------
  3. First Published in PC Magazine July 1992 (Utilities)
  4. ------------------------------------------------------------------------
  5.  
  6. INCTRL: 
  7.  
  8.        INCTRL.EXE is an Installation Control program for Windows. It
  9. supervises an application's install utility and writes a report file
  10. of changes made to your system.
  11.  
  12. USING INCTRL
  13.  
  14.      After copying INCTRL.EXE onto your hard disk, you can load it from
  15. Program Manager, as usual.  Note that the program requires protected
  16. mode (Windows Standard or Enhanced modes) to operate.
  17.  
  18.      It takes hardly any more effort to install a new Windows application
  19. under INCTRL's supervision than to go through the usual File, Run dialog
  20. under Program Manager.  After bringing up INCTRL, you press one button
  21. to select the install program and press a second to choose a filename
  22. for the output report. Although this documentation discusses INCTRL using
  23. a Windows 3.1 common dialog box for file selection, INCTRL does not require
  24. the COMMDLG dynamic link library. If you don't have COMMDLG.DLL on your
  25. system, INCTRL will simply use a different file selection dialog box.
  26.  
  27.      When you've selected both the install program to be run and a name
  28. for INCTRL's output report, the grayed-out Perform Install button will
  29. be enabled. Press it and INCTRL will take over the installation.
  30.  
  31.      There will be an initial delay as INCTRL memorizes the file layout
  32. of the fixed disks on your system. During this interval a small window
  33. will appear to let you know what's happening.  INCTRL also makes copies
  34. of WIN.INI and SYSTEM.INI at this time, using the names WININI.$$$ and
  35. SYSINI.$$$. After these preparations, INCTRL executes the application's
  36. install program; then you simply follow the application's instructions
  37. to complete the installation.
  38.  
  39.       After the installation is finished, INCTRL writes a header (which
  40. includes the install filename and the current date and time) for its
  41. output report. It then scans your fixed disks again, checking each file
  42. and directory against the disk contents it memorized earlier. For items
  43. already present on its list, INCTRL compares the current size and date/time
  44. stamp with their previous values. If the stamps are different, INCTRL
  45. notes that the file has changed; if they are the same, it removes the file
  46. from the list. Any file not present on the list was obviously added during
  47. the installation, so INCTRL writes its name to the output report.
  48.  
  49.      When this second scan of files and directories is complete, the
  50. only files left from INCTRL's original list will be those that were
  51. changed during the installation or those that were deleted. INCTRL first
  52. flips through the list and reports the name of every item that was marked
  53. as having been changed by the install program. Since every file that
  54. exists on-disk was either removed from the list or marked as changed,
  55. any remaining files not marked as changed must have been deleted by
  56. the install program. INCTRL reports these as well, even though it's
  57. unusual for an install program to erase files.
  58.  
  59.      Next, INCTRL compares the saved copy of WIN.INI with the current
  60. WIN.INI. It compiles a list of all the section headings from the old
  61. file and checks that list against the section headings from the new file.
  62. If any were added during the installation, it writes their names to the
  63. output report and adds them to the list. INCTRL doesn't report on sections
  64. deleted from WIN.INI. It follows the same procedure in examining
  65. SYSTEM.INI. For each section in the .INI file, INCTRL gets a list of
  66. all the keys (for example, Load) contained in that section of the old
  67. file and reports on any keys that were added in the new file.  Then it
  68. checks the value of each key from the old file against the value of
  69. that key in the new file. If they differ, it writes both the old value
  70. and the new to the output file.
  71.  
  72.      INCTRL will notify you if it finds a duplicate section name or a
  73. duplicate key within a section of an INI file. Normally, the Windows
  74. functions that create the keys don't allow creation of duplicate key
  75. names. A particular exception occurs in the [386Enh] section of
  76. SYSTEM.INI, however, which can have any number of lines with the key
  77. DEVICE. Windows accesses these lines during initialization, without
  78. going through the normal INI-handling functions. INCTRL also treats
  79. this key specially: It simply counts the number of times it occurs in
  80. the old and in the new files and reports if the new file has more
  81. DEVICE lines.
  82.  
  83.      The Figure below shows an abbreviated version of a sample INCTRL
  84. report, which was generated while installing the After Dark screen saver.
  85. That application's install program copied 81 files and 5 directories
  86. to the disk, added a DEVICE= line to SYSTEM.INI, and added the programs
  87. AD.EXE and ADINIT.EXE to the LOAD= line in WIN.INI. There are 8 files
  88. listed as changed: 3 .INI files and 5 from an earlier incomplete attempt
  89. to uninstall the program.
  90.  
  91.      Be warned that some install programs take a two-step approach that
  92. fools INCTRL: They copy a secondary install program to the hard disk
  93. and then execute that program. INCTRL thinks the installation is over
  94. when the primary program ends, so it reports that the only file added
  95. was the secondary install program. You may be able to work around this
  96. situation by using INCTRL to reexecute the secondary install program.
  97. If it reinstalls the remaining files, they'll show up as changed files
  98. in the INCTRL report.
  99.  
  100. CONFIGURING INCTRL
  101.  
  102.       By default, INCTRL scans all fixed disks on your system looking
  103. for file and directory changes. If you have one or more disk partitions
  104. that are never used for Windows applications, you can speed INCTRL's
  105. search and reduce its memory requirements by excluding those drives from
  106. examination. To do so, create the ASCII file INCTRL.INI in your Windows
  107. directory with a single section called [Excluded drives]. For each drive
  108. you want to exclude, add a key line such as c=1 to that section. For
  109. example, to exclude drives C: and D:, add the following:
  110.  
  111.                               [Excluded drives]
  112.                               c=1
  113.                               d=1
  114.  
  115.      Your Windows directory is the default storage location for INCTRL
  116. report files. To make another directory the default, add a [Directories]
  117. section to INCTRL.INI and assign that directory to the ReptDir key, as,
  118. for example:
  119.  
  120.                               [Directories]
  121.                               ReptDir=E:\INCTRL
  122.  
  123. UNINSTALLING WITH INCTRL
  124.  
  125.      Although INCTRL gives you the information you need to uninstall a
  126. program, you'll have to make some decisions based on this information.
  127. Your first step is to delete the program's icon from the Program Manager
  128. group that contains it. If the program has a group all its own, you can
  129. delete the whole group.
  130.  
  131.      Now run your favorite file manager and, into your editor of choice,
  132. load the INCTRL report for the application to be removed. Look first for
  133. entire directories added during its installation: you can usually delete
  134. these entirely. You should at least consider the possibility, however,
  135. that you may have created data files in a program-created directory that you're thinking of deleting. If you're not sure, try individually deleting
  136. the files INCTRL reports in that directory and examine any that are left
  137. over.
  138.  
  139.      You can, of course, delete a private .INI file if the program
  140. installed one, but most files added to the Windows and the System
  141. directories are intended to be shared with other programs. Thus, it
  142. may not be safe to delete .DLL, .DRV, .FON or .EXE files that were
  143. installed in either of these directories. If you want to be sure, rename
  144. rather than delete these possibly shared files and then restart Windows.
  145. Bring up each program you installed after the program being removed and
  146. make sure it doesn't depend on the renamed files. If this test succeeds,
  147. you can delete the renamed files. If one of your programs refuses to run
  148. without a particular renamed file, rename it back and add that filename
  149. to the INCTRL report for the dependent program.
  150.  
  151.      INCTRL's list of changed files is provided for your information;
  152. most of the time you won't want to delete any of these, since the
  153. installation program either updated them or simply recopied them on
  154. your disk. Either way, they were there before the installation and should
  155. probably stay after you uninstall the program.
  156.  
  157.      If changes were made to WIN.INI or SYSTEM.INI, bring up the affected
  158. .INI file in your favorite ASCII editor. A new section is much like a new
  159. directory--you can probably erase the whole thing. If one or more .EXE
  160. files were added to the LOAD= or RUN= lines in the [windows] section of
  161. WIN.INI, remove them. Don't simply restore the "before" value of the
  162. line unless you're sure that other programs have not subsequently been
  163. added to these lines. On the other hand, some programs are associated
  164. with a particular file extension in the [extensions] section. Once the
  165. program is gone, you'll probably  want to delete the WIN.INI line for
  166. that association.
  167.  
  168.      Other .INI file changes must be considered on a case-by-case basis.
  169. If you're not sure whether it's safe to delete a line, turn it into a
  170. comment by putting a semicolon at the beginning of the line. Then restart
  171. Windows and run each program that was installed after the program being
  172. removed. If they all work, you can either delete the now-commented lines
  173. or leave them in place as comments. In case you find that one of your
  174. other programs does depend on a particular .INI file line, remove the
  175. initial semicolon and add the line to the INCTRL report file for that
  176. program.
  177.  
  178. Neil J. Rubenking is technical editor of PC Magazine.
  179.  
  180. ----------------------------------------------------------------------
  181. Figure: This is an abbreviated version of the report INCTRL produced
  182. after installing the After Dark screen saver.
  183. ----------------------------------------------------------------------
  184.  
  185.                          AN INCTRL REPORT
  186.  
  187. INSTALLATION REPORT - B:\INSTALL.EXE
  188.  
  189. Produced by INCTRL, Copyright (c) 1992 by Neil J. Rubenking
  190. Wed 4/1/1992 09:20:29.06
  191.  
  192. *** FILES AND DIRECTORIES ADDED ***
  193. DIR : E:\AFTERDRK
  194. FILE: E:\WINDOWS\AFTERDAR.GRP
  195. FILE: E:\AFTERDRK\AD_LIB.DLL
  196. FILE: E:\AFTERDRK\ADINIT.EXE
  197. FILE: E:\AFTERDRK\AD.EXE
  198. . . .
  199. FILE: E:\AFTERDRK\ADMODULE.SDK\BLANKER\MNAME.RSC
  200. Install program added 81 files and 5 directories.
  201.  
  202. *** FILES AND DIRECTORIES CHANGED ***
  203. FILE: E:\WINDOWS\AD.CFG
  204. FILE: E:\WINDOWS\ADMODULE.ADS
  205. FILE: E:\WINDOWS\AD_PREFS.INI
  206. FILE: E:\WINDOWS\PROGMAN.INI
  207. FILE: E:\WINDOWS\SYSTEM.ADK
  208. FILE: E:\WINDOWS\SYSTEM.INI
  209. FILE: E:\WINDOWS\WIN.INI
  210. FILE: E:\WINDOWS\WININI.ADK
  211. Install program changed 8 files and 0 directories.
  212.  
  213. *** KEYS CHANGED IN WIN.INI SECTION [windows] ***
  214. BEFORE: load=
  215.  AFTER: load=e:\afterdrk\ad.exe e:\afterdrk\adinit.exe
  216. 1 keys changed in WIN.INI section [windows]
  217.  
  218. *** KEYS ADDED TO SYSTEM.INI SECTION [386Enh] ***
  219. 1 DEVICE= lines added to the [386Enh] section of SYSTEM.INI
  220. 1 keys added to SYSTEM.INI section [386Enh]
  221. ----------------------------------------------------------------------
  222.