home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: SysTools / SysTools.zip / inimaint.zip / inishare.txt < prev    next >
Text File  |  1995-03-22  |  22KB  |  448 lines

  1.  
  2.                          IniMaint
  3.            Copyright 1992, 1993, 1994, 1995 Carry Associates
  4.  
  5. IniMaint is an OS/2 PM program to display and manage *.INI files and
  6. is distributed by Carry Associates, 990 Ironwood Court, Marco Island,
  7. FL, 33937. Telephone number is 813-642-9126. The application was
  8. written by and is supported by Larry J. Martin. You can obtain
  9. Technical support by calling the number above, by leaving an Email on
  10. Compuserve for 72662,3616 or for the same ID in OS2BVEND Forum, Section 
  11. 5, Carry Associates.
  12.  
  13. WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
  14.  
  15. IniMaint gives you the ability to make virtually any change you want
  16. to any of the INI files in your OS/2 environment. Making changes to
  17. these files must be done with care because you can do serious and
  18. unpredictable damage to your environment. It is STRONGLY SUGGESTED
  19. that you insure that you have a usable backup of any INI file that
  20. you modify in any way.
  21.  
  22. WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING
  23.  
  24.                      SHAREWARE VERSION
  25.  
  26. The version of IniMaint that accompanies this documentation is a
  27. Shareware version of the program that must be registered with Carry
  28. Associates, if you intend to use it except for a brief test. This is
  29. not a free program and has been Copyrighted by Carry Associates. It
  30. is a violation of the Copyright Laws to use the program without
  31. registering and paying for it. The purpose of the unregistered
  32. version is ONLY to give users an opportunity to try the program so
  33. that they can determine whether they feel the program is worth the
  34. $29.95 cost.
  35.  
  36. Unregistered copies of IniMaint will display an initial dialog that
  37. will note the unregistered condition. This dialog will stay on the
  38. screen for 15 seconds, unless dismissed by clicking on the OK button.
  39. The dialog cannot be dismissed until it has been visible for 3
  40. seconds. In addition, the Title Bar will contain a note that this is
  41. an unregistered version of IniMaint.
  42.  
  43. To obtain your registration identifier you can charge if to your Visa
  44. or Mastercard by calling Carry Associates on the phone or leaving an
  45. Email on Compuserve or by sending a check for $29.95 per license for
  46. single licenses or $299 for an unlimited copies license made payable
  47. to:
  48.  
  49. Carry Associates
  50. 990 Ironwood Court
  51. Marco Island, FL 33937
  52.  
  53. IniMaint was written by and is support by:
  54.  
  55. Larry J. Martin
  56. Tel: 813-642-9126
  57. Fax: 813-642-1007
  58. Compuserve: 72662,3616
  59.  
  60. Once you have your registration identifier, you can register your
  61. copy of IniMaint by selecting the Register Your Copy entry
  62. on the Actions Menu. Once you are registered, this entry will no
  63. longer appear on the menu.
  64.  
  65. If you want a preregistered copy of IniMaint, add $7.00 for postage
  66. and handling. We will return a diskette with a preregistered copy of
  67. IniMaint, an Install CMD file and an IniMaint registration ID. The
  68. purpose of the ID is to allow preregistered users to download new
  69. versions, register and use them until they can obtain a preregistered
  70. update. The preregistered version will run as registered without any
  71. need to register it on each system.
  72.  
  73. The cost of a preregistered update is $10.00 per license for single
  74. licenses or $100.00 for an unlimited copies license, plus $7.00
  75. handling and postage.
  76.  
  77.  
  78.                       CURRENT VERSION
  79.  
  80. The enclosed is Version 3.3j of IniMaint and has the following
  81. known problems and/or incomplete features:
  82.  
  83. 1. The Initial Dialog cannot be dismissed using the Enter Key, the
  84. Mouse must be used.
  85.  
  86. 2. If the Groups Dialog is displayed, a new Group is selected and
  87. then OK is selected without actually making any changes to any of the
  88. Groups or the Applications in a Group, then the Last Group Displayed
  89. is not updated and a subsequent use of the Groups Dialog will revert
  90. back to the previous Last Group.
  91.  
  92. 3. There is no Help available for the standard OS/2 New File Dialog.
  93.  
  94.  
  95.                  REPORTED COMMENTS OR PROBLEMS
  96.  
  97. The following items are problems that have been reported, but cannot
  98. be reproduced or comments that I have received from one or more
  99. users. Any assistance on the problems or additions to the comments is
  100. more than welcome.
  101.  
  102. 1. It was pointed out that although the Cursor in the Value MLE can
  103. be an Insert Cursor, there is no way to Insert information. My
  104. response is that the only way to change the length of a Value is by
  105. using the Replace Value Dialog because changing the expected length
  106. of an INI Key Value can cause unusual and unexpected errors. I
  107. further responded that the only way to change the cursor is to
  108. change it System wide, therefore, changing it only when it is in the
  109. MLE is a non trivial problem and I have not attempted to do it even
  110. though it leaves the apparent conflict between the appearance of the
  111. Cursor and the actual effect when a key is depressed.
  112.  
  113.                         INSTALLATION
  114.  
  115. To install the Shareware version you must run the Install program as is 
  116. described in the Readme File.
  117.  
  118. You may optionally add the entry: SET INIMAINT= to your CONFIG.SYS
  119. file specifying the path and filename of an INI file that you want
  120. IniMaint to use to store it's operational information. If this entry
  121. is not found in the Environment, IniMaint will store it's operational
  122. information in the OS2.INI file.
  123.  
  124.                      GETTING STARTED
  125.  
  126. If you did not obtain your copy of IniMaint to address a specific
  127. problem or you are not familiar with INI files and the kinds of
  128. things that IniMaint allows you to do with them, then it is strongly
  129. suggested that you review the Getting Started entry in the Help file
  130. along with the other General Help subjects.
  131.  
  132.                         OPERATION
  133.  
  134. To run IniMaint simply start it by clicking on the IniMaint.EXE file
  135. or start it from the Group to which it has been added. When IniMaint
  136. first comes up, it will default to editing the INI file that is
  137. identified by the system as the user INI file. This is normally
  138. C:\OS2\OS2.INI. The name of the current file is always displayed in
  139. the TITLE bar of the main window.
  140.  
  141. IniMaint can also be started with an initial INI file specified on
  142. the command line. This allows IniMaint to be started with a new file
  143. by using the command line, but also allows for it to be started by
  144. dropping a file on the ICON on the desktop or double clicking on an
  145. INI file, once the association is set up.
  146.  
  147. IniMaint will locate the window in a default location, but you can
  148. move and or size the window as you choose. When IniMaint is shut
  149. down, it will remember the file that it was currently working with as
  150. well as the size and location of the window and will restore all of
  151. these the next time it is run.
  152.  
  153. There are a number of IniMaint functions which will take some time
  154. to execute. For example, the maximum length Key Value that IniMaint
  155. will load into the Key Value Window is 60,000 bytes. Since each line
  156. only displays 8 bytes, this comes to 7,500 lines and it takes well
  157. over a minute. There are other similar types of functions, although
  158. the example is the longest. During these long operations, it is not
  159. possible to do any other IniMaint operations. However, the long
  160. functions are done in separate threads and the Message Queue is not
  161. blocked, therefore it is possible to go do some other, non-IniMaint,
  162. function during this time. In addition, since there are a number of
  163. reasons why a user might not want to wait until the lengthy function
  164. is completed, for example, it might have been selected in error,
  165. any IniMaint operation that takes a long time and displays the Wait
  166. Pointer can be terminated by hitting the ESC key.
  167.  
  168. IniMaint will normally store the current operating information such
  169. as the size and position of the windows, that INI file that is
  170. currently being edited and a large number of other items, in the User
  171. INI file, OS2.INI. This is sometimes not a convenient location, since
  172. this file gets completely replaced when a new version is installed
  173. and a problem with the OS2.INI file would mean that IniMaint would
  174. not run. IniMaint will use a different INI file and will create the
  175. file, if necessary, if an Environment Variable IniMaint= is placed in
  176. the CONFIG.SYS file or in a CMD file that executes IniMaint. For
  177. example, if the user wanted IniMaint to use the file IniMaint.INI in
  178. the C:\OS2\APPS subdirectory, they would code:
  179.     SET IniMaint=C:\OS2\APPS\IniMaint.INI
  180.  
  181.                    MAIN WINDOW DESCRIPTION
  182.  
  183. The Main Window contains three standard child windows. Two of these
  184. windows are Listboxes and the third is a MLE.
  185.  
  186. The upper left Listbox will always contain the list of Applications
  187. for the current INI file.
  188.  
  189. The upper right Listbox will contain the list of Key Names for the
  190. Application that is currently selected in the Application Listbox.
  191.  
  192. The MLE, at the bottom, will contain the hex and ASCII display of the
  193. contents of the Key Name that is selected in the Key Listbox.
  194.  
  195. The Cursor will normally be forced to the MLE and the value of the
  196. data can be modified by changing either the hex or the ASCII fields
  197. of the MLE. The cursor cannot be moved to any portion of the MLE that
  198. does not contain data that can be modified and any modification to
  199. one type of data, hex or ASCII, will immediately be reflected in the
  200. other data.
  201.  
  202. The actual data in the INI file is not changed until the user selects
  203. the Update Item on the Action Menu or selects a different Key or
  204. Application in the same INI file. At this time, you will be asked to
  205. confirm that you want the INI file modified, unless you have turned
  206. the warning option off, see below.
  207.  
  208.                  IniMaint POPUP MENUS
  209.  
  210. In addition to the standard menu entries described below, each window
  211. has a Popup Menu that will appear when the standard action is taken,
  212. clicking once with the Right Mouse Button is the default. Each of the
  213. three primary windows has its own Menu and the Menu will contain those
  214. items which are general to the entire Application and those that
  215. apply to the entries in that particular window. Most of the items on
  216. these menus are discussed below, however, there are three items on
  217. each menu that are unique to the Popup Menus and they are:
  218.  
  219. 1. Explain will attempt to give the user an explanation of the
  220. meaning of the currently selected Application and Key. Not every
  221. Application will have an explanation, but an attempt has been made to
  222. explain all of the standard OS/2 entries as completely as possible.
  223. The Explain feature will only operate if the version of IniMaint is a
  224. registered version.
  225.  
  226. 2. Write Window to a File will cause the entries in the window in
  227. question to be written to a file, so they could be reviewed without
  228. IniMaint running.
  229.  
  230. 3. Print Window will cause the entries in the Window to be printed on
  231. the default printer.
  232.  
  233.                  IniMaint MENU OPTIONS
  234.  
  235. The various IniMaint Menu options are:
  236.  
  237. 1. File gives the user the ability to change INI or Extended Attribute
  238. files, refresh the current INI or Extended Attribute file, Dump the
  239. contents of the UniMaint variables, compare two INI or Extended
  240. Attribute files and Exit from UniMaint.
  241.  
  242.    The Compare option allows the user to Compare two INI or Extended
  243.    Attribute files on any one of three different levels:
  244.  
  245.    A. List Applications that are in one INI or Extended Attribute file,
  246.       but not the other.
  247.  
  248.    B. A. above plus any Key Names that are in one file, but not the
  249.       other.
  250.  
  251.    C. A. and B. above plus any Key Values that are in both files, but
  252.       are not equal.
  253.  
  254.    The differences are displayed in a Listbox within a Dialog that
  255.    allows the user to print or write a listing of the Listbox contents
  256.    and/or create an INI or Extended Attribute file with some or all of
  257.    the Applications or Keys that have differences.
  258.  
  259. 2. Miscellaneous allows for a number of functions:
  260.  
  261.    A. Options will display a Dialog that gives you the ability to:
  262.  
  263.       a. Turn off the display of the opening UniMaint Dialog.
  264.  
  265.       b. Turn off the dialogs that will ask for confirmation before
  266.          Deleting or Modifying the contents of the Current INI or
  267.          Extended Attribute file.
  268.  
  269.    B. Groups will display a Dialog that allows you to define and manage
  270.       the various Groups for this INI or Extended Attribute file. A bit of
  271.       explanation is needed here. UniMaint gives the user the ability to
  272.       arrange the applications in any INI or Extended Attribute file into
  273.       Groups. These Groups can then be used in a number of different
  274.       UniMaint areas and greatly ease the problems of handling an INI or
  275.       Extended Attribute file with a large number of applications. For
  276.       example, the OS2.INI or Extended Attribute file might be divided into
  277.       two Groups, System and Private. The System Group would be the
  278.       applications put in the file by OS/2 Install and the Private Group
  279.       would be the remaining applications. More or fewer Groups could be
  280.       defined. How the user can use Groups within the UniMaint structure
  281.       will become more clear below. The Groups Dialog gives the user the
  282.       ability to define new Groups, to add and delete Applications and
  283.       Delete Groups.
  284.  
  285.       The procedure for establishing a new Group is to select Groups in the
  286.       Group Dialog, select New Group, and supply a name. Once this is done,
  287.       the Title of the Dialog will show the current Group and the new Group
  288.       will be added to the Group Menu. You add Applications to the Group by
  289.       selecting them in the Listbox.
  290.    
  291.       The Listbox will display a specific Group or, if you want to know if
  292.       there are any Applications that are not in a Group, will display all
  293.       Groups. A single Application can be a member of up to 5 different
  294.       Groups at any one time, so it is possible to define overlapping
  295.       Groups.
  296.    
  297.    C. Size will calculate the minimum amount of Disk Space that would be
  298.       required for an INI or Extended Attribute file that contained a
  299.       selected set of Applications in the current INI or Extended Attribute
  300.       file. When this item is selected, the user will be asked what he
  301.       wants to Size. There will always be several choices, the various
  302.       standard INI or Extended Attribute files, the current file and the
  303.       currently selected Application. If there are any Groups defined, then
  304.       they will be included among the selections. If there are more than
  305.       one Group defined, then there will be an All Groups selection.
  306.    
  307. 3. Actions gives the user the ability to do a number of things:
  308.    A. Update Current Key will write any changes that have been made
  309.       to the data in the MLE into the current INI or Extended Attribute file.
  310.  
  311.    B. Delete Application and Delete Key will do the obvious.
  312.  
  313.    C. Add Application, Add Key and Replace Key Value are all the same
  314.       function except entered at different points. Add Application
  315.       will ask for the name of a new Application to add to the
  316.       current INI or Extended Attribute file and then fall through to
  317.       the Add Key, since the Applications must have at least one Key.
  318.       The Add Key will ask for the name of the new Key and then fall
  319.       through to the Replace Key Value, since any Key Name must have
  320.       an associated Value. This will cause the Key Dialog box to be
  321.       displayed. The Application and Key Names will be shown at the
  322.       top of the Dialog, followed by the current length of the data,
  323.       the ASCII representation of the data and the hex representation of
  324.       the data. This is the only option that will change the length of
  325.       a Key Value. Care must be taken when doing this, as many
  326.       applications depend on knowing the length of the INI items. As
  327.       the ASCII or hex values are changed, the changes will appear in
  328.       the other window and the length will be updated. The only
  329.       exception is when only a single hex digit is entered. The ASCII
  330.       window is not updated until two hex characters are entered.
  331.  
  332.    D. Rename and Duplicate Key give the user the ability to change
  333.       the name of an existing Key or to make a duplicate copy of the
  334.       Key using a different Key Name.
  335.  
  336.    E. Copy and Move will ask the user to select a Target File for the
  337.       Copy/Move and will then give the user the same choices as Size
  338.       above. The selected Applications will then be moved or copied
  339.       to the Target INI or Extended Attribute file, which will be created, if it does not
  340.       exist. This function is done Key by Key, so it will sometimes
  341.       take some time. However, the PM message queue is not blocked
  342.       while the move/copy is being done. The actual move or copy is
  343.       done by a separate program INICOPY, that can also be run as a
  344.       batch program, see below.
  345.  
  346.    F. Backup allows for an easy Backup of the System INI file, User 
  347.       INI file or both the System and User INI files. Once the user
  348.       has selected names for the normal backups for the two files,
  349.       these files will be presented as the default for additional
  350.       backups. The user can set an Option that will bypass asking
  351.       the user if he wants to use the defaults. This selection will
  352.       always delete the target files before doing the backup, which
  353.       is one of the ways it varies from the Copy selection.
  354.  
  355. 4. Recover contains a list of capabilities designed to give the user
  356. the ability to recover from corrupted INI or Extended Attribute files.
  357. These capabilities are:
  358.  
  359.    A. Change User and/or System INI files give the user the ability
  360.       to change the INI files that OS/2 is currently using to new
  361.       files. The primary use of this capability is to allow the user
  362.       to make changes to the User or System INI files that he knows
  363.       need to be made, but cannot make to the current User or System
  364.       Files because of protection built into OS/2. Great care must be
  365.       exercised when doing this, but it will sometimes represent the
  366.       only way that problem entries can be removed from an INI file.
  367.  
  368.    B. Repair inconsistencies between the INI files and the Desktop.
  369.  
  370.    C. Condense the Current INI file, the System INI file, the User
  371.       INI file or both the System and User INI files. The Condense
  372.       is necessary because of the way updating is done to the INI
  373.       files. The updating will leave empty areas in the INI files and
  374.       these areas tend to get fragmented, thus causing the overall
  375.       size of the INI file to grow, sometimes grow very large.
  376.       Condensing the System or User INI files is not a simple task,
  377.       since they cannot be copied or erased while they are being used
  378.       by OS/2. This item switches the files to the copies long enough
  379.       to erase the old files and copy a condensed backup to the
  380.       original names. The only problem this causes is that it will
  381.       reset the desktop to the boot desktop. This function is removed
  382.       for Version 2.1 of OS/2 and beyond, since the handling of the
  383.       INI files was changed to automatically remove the empty space.
  384.  
  385.    D. There are two items to Test for and Reset the condition where
  386.       the User and System INI files cannot be updated. When this
  387.       condition is found, the user will be asked if he wants to 
  388.       correct the condition and, if he answers yes, the User and
  389.       System INI files will get changed so that they will be able
  390.       to be updated. The process involves making a copy of the INI
  391.       files and switching to them, so it takes a minute or so and
  392.       involves resetting the Desktop.
  393.  
  394. 5. Find allows the user to search the Application Listbox, the Key
  395. Name Listbox, the Key Value MLE, all of the Key Names in the current
  396. INI or Extended Attribute file, all of the Key Values for the current
  397. Application or all of the Key Values in the current INI or Extended
  398. Attribute file for either an Ascii string or a Hex value.
  399.  
  400.                              INICOPY
  401.  
  402. INICOPY is the program that is used by IniMaint to do the actual
  403. COPY/MOVE operations. This option is implemented as a separate program
  404. so that the user will have the ability to make copies of INI files,
  405. including the User and System INI files, at any time during the day.
  406.  
  407. The parameters expected by INICOPY are:
  408.  
  409. Required Parameters:
  410.  
  411. -Ifilename  - The fully qualified path and filename of the Source,
  412.               Input, INI file.
  413.  
  414. -Ofilename  - The fully qualified path and filename of the Target,
  415.               Output, INI file. The Target will be created if it does
  416.               not exist.
  417.  
  418. Optional Parameters:
  419.  
  420. -Fx         - Function requested - Default is C(opy)
  421.               C = C(opy)
  422.               M = M(ove)
  423.  
  424. -E          - COPY/MOVE Entire INI file - Default
  425.                                             
  426. -A          - COPY/MOVE All Groups
  427.                                              
  428. -Ggroup     - COPY/MOVE Specific Group
  429.                                              
  430. -Sapp       - COPY/MOVE Specific Application
  431.  
  432. -T          - Use Fast Copy. This is only valid if -E is also specified
  433.  
  434. -M@old@new  - Modify all occurances of 'old' string to 'new' string, the @ is 
  435.               a delimiter and can be any character, however, the same 
  436.               character must preceed both the old and new string and cannot 
  437.               be in either the old or the new string. There can be multiple 
  438.               instances of the -M parameter in the same run of IniCopy.
  439.  
  440.               For example, to change D: to E: and change Smart to Dumb, you 
  441.               would code this parameter as:
  442.               
  443.               -m@D:@E: -m@Smart@Dumb
  444.               
  445.               or you could change the delimiters by coding:
  446.               
  447.               -m%D:%E: -m*Smart*Dumb
  448.