home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-385-Vol-1of3.iso / f / fixini.zip / CHECKINI.TXT < prev    next >
Text File  |  1993-01-04  |  10KB  |  273 lines

  1.                          === DISCLAIMER ===
  2.  
  3.  
  4. I allow you to use and distribute CHECKINI freely under the condition
  5. that I am in no way responsible for any damage or loss you may suffer.
  6.  
  7. You should take care when using these tools on new version of OS/2
  8. since this program interprets data from the ini-files.
  9. The internal structure of this data can change, and the programs might fail.
  10. This was the case with the new OS/2 2.00.1 (or 2.01) version.
  11.  
  12.  
  13. Henk Kelder
  14.  
  15.                      === NOTES ON CHECKINI.EXE ===
  16.  
  17.  
  18. Notes on version 1.1:
  19.  
  20. o  Some checks were added:
  21.     PM_Workplace:PalettePos
  22.     PM_Workplace:Startup
  23.     Some other checkings were extended.
  24.  
  25. Notes on version 1.2:
  26.  
  27. o  The check for PM_Workplace:Handles was moved so that it would be the
  28.    last test done.
  29.  
  30. o  The frase 'DOES NOT EXIST' for file objects (files & directories) has
  31.    been changed to 'UNABLE TO ACCESS' since this is a better description
  32.    of what CHECKINI finds.
  33.  
  34. Notes on version 1.3:
  35.  
  36. o  The only extra in this version is that it support OS/2 2.00.1 (beta
  37.    version) since in this version the internal structure of various
  38.    workplace shells object data has changed.
  39.  
  40. Notes on version 1.4:
  41.  
  42. o  Not all the data checkini appearantly needs to exist. If some data
  43.    checkini checks does not exist, the test is skipped.
  44.  
  45. Notes on verion 1.5:
  46.  
  47. o  Checkini now works properly after installing the servicepack dated
  48.    october 1992.
  49.  
  50.  
  51.                     ==== DESCRIPTION ===
  52.  
  53. CHECKINI checks for, and optionally corrects, some problems in OS2.INI and
  54. OS2SYS.INI. CHECKINI only looks at information regarding the workplace
  55. shell.
  56.  
  57. The main reason for CHECKINI is the growth that the both .INI files tend to
  58. have if one uses the Workplace shell heavelly. Using CHECKINI in conjunction
  59. with COPYINI helps to reduce the INI files sizes, which in turn should
  60. increase the workplace shells performance.
  61.  
  62. Also CHECKINI helps to determine some possible cause's for workplace shell
  63. failures like loosing workplace shell objects, or situations in which a
  64. program object looses the proper executable name or current directory.
  65. Obviously, the real cause for these problems must be in the workplace shell
  66. itself, CHECKINI however could help you to determine the degree of damage
  67. that has been done.
  68.  
  69.  
  70.  
  71.                    === PM_Workplace:Handles ===
  72.  
  73.  
  74. A special note is in place about a specific piece of information in the
  75. INI-files called 'PM_Workplace:Handles'. The workplace shell uses some
  76. obscure entity called object-handles to refer to objects. Object handles are
  77. infact numbers.
  78. A object-handle can refer to a abstract object (a object NOT on your
  79. harddisk e.g. the color palette) and file-system objects (files & directories).
  80.  
  81. Abstract objects reside in the ini-files.
  82. File-system objects reside on your harddisk.
  83.  
  84. Whenever you add a program object to your desktop and specify a programfile
  85. the workplace shell determines if a handle was already assigned to the
  86. programfile and if so, it uses this handle.
  87. If no handle was assigned, the shell creates a handle and assignes it to
  88. the programfile. In the definition of the program object (self an abstract
  89. object) the handle for the programfile is stored.
  90.  
  91. When you start the program by clicking on the object the wps must have
  92. a way to refer the stored handle back to the programfile.
  93. This is done by using the 'PM_Workplace:Handles' information.
  94. Unfortunately only handles are added to this information and they are not
  95. removed when a (program)file is removed from your harddisk.
  96.  
  97. In theory the total amount of handle-to-file information could grow to
  98. big and than without any warning you will loose information. The workplace
  99. shell than shows nonsence or nothing at all in some of your program objects.
  100.  
  101. CHECKINI allows you to remove handles for files or directories that are no
  102. longer present or inaccessable.
  103.  
  104.  
  105.                        === ORPHAN OBJECTS ===
  106.  
  107. An wide spread way to remove undeleteable objects is to move them to
  108. a directory, and than, in a OS/2 or DOS session remove the directory. The
  109. Workplace shell than no longer shows the objects.
  110. They are infact NOT removed but they simply have no parent directory to
  111. they will show in.
  112. Also, sometimes it is possible that suddenly several objects are lost. A
  113. reason for this could be a unintended removal of a desktop directory.
  114.  
  115. CHECKINI detect these 'orphan objects' and queries to user (when /C
  116. specified) to move these objects to another (new) location. If this question
  117. is answered with NO, another question is asked whether the objects should be
  118. removed from the ini-files.
  119.  
  120.  
  121.  
  122. WARNING 1
  123.  
  124. if you are normally connected to a network and run CHECKINI when you are NOT
  125. connected to this network, or when you are not logged in, CHECKINI will
  126. report errors for references to network objects.
  127. In the situation mentioned above and with the /C swith given, take care
  128. when confirming deleting or correcting problems.
  129.  
  130. WARNING 2
  131.  
  132. Whenever you run CHECKINI with the /C switch you must be prepared to
  133. shutdown immidiatly after you have run the program. This because the
  134. workplace shell has a lot of info in memory and it you keep on working
  135. some of the changes checkini has made will be overwritten by the desktop.
  136.  
  137. WARNING 3
  138.  
  139. Whenever corrections are made to PM_Workplace:Handles you'd better skip all
  140. other tests and shutdown first. This because when your objects are checked
  141. and objects are moved to another location the wps overwrites the changes
  142. done in PM_Workplace:Handles.
  143.  
  144. NOTE on version 1.2: This is no longer necessairy since this specific test
  145. has been moved to be the last test done!
  146.  
  147. WARNING 4
  148.  
  149. I do not know it all. The PM_Workplace:Handles record in the ini contains
  150. some information I do not understand (yet). Still I decided on my own PC to
  151. delete several lumbs of information in this record. I have done so several
  152. times without any problems.
  153.  
  154.  
  155.  
  156. USING CHECKINI
  157.  
  158. From an OS/2 command prompt enter the command CHECKINI. Without any command
  159. line options CHECKINI doesn't change anything to your ini-files.
  160.  
  161. COMMAND LINE OPTIONS
  162.  
  163. /C            - Write corrections to ini-files. The default is to diagnose
  164.                 only. If this option is specified the program will ask
  165.                 confirmations for all changes it may want to do in your
  166.                 ini-files.
  167.  
  168. /APath        - Specify different location for ini-files to be checked. This
  169.                 option is usefull if you have a copy of you ini files and
  170.                 you would like these copies to be checked.
  171.  
  172. /Llogfilename - specify name of logfile. The default is CHECKINI.LOG in the
  173.                 directory you start the program in.
  174.  
  175. /W            - Write all output to logfile. Normally only problems are
  176.                 written to the logfile. This option could help you to
  177.                 inspect a lot about your workplace shell objects (actually
  178.                 workplace shell objects instances).
  179.  
  180. /S            - 'Silent run', only write logfile. Normally found errors are
  181.                 reported directly.
  182.  
  183. /?            - Show info.
  184.  
  185.  
  186.  
  187. HOW THE PROGRAM WORKS
  188.  
  189. While running CHECKINI displays all found information on the screen.
  190. Whenever a problem is found, and the /S switch is not used the program
  191. reports the problem. The problem itself is visible in the bottom lines
  192. of the screen. Problems are always reported in CAPITALS.
  193.  
  194. some examples:
  195.  
  196. =================================================
  197.  PM_Workplace:Handles:BLOCK1
  198. =================================================
  199. 3E2DA:CHECKINI.EXE   =>E:\ICON\CHECKINI.EXE<-DOES NOT EXIST
  200. 395F8:COPYINI.EXE    =>E:\ICON\COPYINI.EXE<-DOES NOT EXIST
  201. 39400:GETPROG.EXE    =>E:\ICON\GETPROG.EXE<-DOES NOT EXIST
  202. =================================================
  203.  PM_Abstract:Objects & PM_Abstract:FldrContents
  204. =================================================
  205.   Object 13087, Class WPNetLink : A network folder
  206.    Linked to: \\SERVER09\SYS3\DIRECTORY1<-DOES NOT EXIST!
  207.   Object 140AD, Class WPNetLink : SYS3
  208.    Linked to: \\SERVER09\SYS3<-DOES NOT EXIST!
  209.   Object 15185, Class WPNetLink : SYS1
  210.    Linked to: \\SERVER09\SYS1<-DOES NOT EXIST!
  211.   Object 15956, Class WPNetLink : A network folder
  212.    Linked to: \\SERVER09\SYS3\DIRECTORY1<-DOES NOT EXIST!
  213. =================================================
  214.  Checking AssocCheckSum
  215. =================================================
  216. PMWP_ASSOC_CHECKSUM:252153
  217.   points to 3D8F9 - E:\ICON\GETBLOCK.EXE<-DOES NOT EXIST
  218. =================================================
  219.  Checking FolderPos
  220. =================================================
  221. PM_Workplace:FolderPos:252223@10
  222.   points to 3D93F - OBJECT DOES NOT EXIST
  223.  
  224.  
  225. WHAT THE PROGRAM CHECKS
  226.  
  227. The following ini-records (Application - Key) are checked:
  228.  
  229.  
  230. PM_Workplace:Handles    - BLOCK1
  231.   (Checks consistency and existence of filesystem object-handles)
  232.  
  233. PM_Workplace:Location   - (all keys)
  234.   (Checks existence of object where id-strings like <WP_DESKTOP> point to)
  235.  
  236. PM_Workplace:Folderpos  - (all keys)
  237.   (Checks for obsolete saved object positions)
  238.  
  239. PM_Workplace:PalettePos - (all keys)
  240.   (Checks for obsolete save palette positions)
  241.  
  242. PM_Workplace:Templates  - (all keys)
  243.   (Checks for template-records that refer to non-existing objects)
  244.  
  245. PM_Abstract:Objects     - (all keys)
  246.   (Mainly checks WPProgram objects for consistency, but also checks for
  247.   'lost-objects' - objects moved to non-existing locations. Also checks
  248.   WPNetLink and WPShadow links.)
  249.  
  250. PM_Abstract:FldrContent - (all keys)
  251.   (Used for the check mentioned above for 'lost-objects')
  252.  
  253. PM_Abstract:Icons       - (all keys)
  254.   (Checks for obsolete icons, icons for abstract objects that do not exist)
  255.  
  256. PMWP_ASSOC_FILTER       - (all keys)
  257.   (Checks for associations with non-existing objects)
  258.  
  259. PMWP_ASSOC_TYPE         - (all keys)
  260.   (Checks for associations with non-existing objects)
  261.  
  262. PMWP_ASSOC_CHECKSUM     - (all keys)
  263.   (Checks for obsolete checksum record that point to non-existing objects)
  264.  
  265. PM_Workplace:Location   - (all keys)
  266.   (Checks consistency of logical location names e.g. <WP_DESKTOP>)
  267.  
  268. PM_Workplace:Startup    - (all keys)
  269.   (Checks the referenced folders are infact startup folders)
  270.  
  271.  
  272.  
  273.