From: tommy@lynx.msc.cornell.edu.UUCP (Mike Thompson,332,54714,2734927)
Subject: Re: OS of the future....RFD about configuration
Originator: tommy@snoopy.msc.cornell.edu
Organization: Cornell-Materials-Science-Center
Date: Thu, 7 Jan 1993 17:48:16 GMT

From article <gershon.726358269@husc.harvard.edu>, by gershon@husc11.harvard.edu (Ethan Gershon):
> dic5340@hertz.njit.edu (David Charlap) writes:
>>>How does Macintosh doit. The UNIX rc file system while similar to config.sys
>>>does split the tasks among different files. (rc.net rc.local rc.boot).
> 
>>What would you prefer, instead of config.sys.
>>-- 
-- Ethan Geshon writes
--
> is that there is no standard installation routine.  I have proposed this
> before on this group:  OS/2 needs some standard install utility that will
> read an install script provided by an app and do the appropriate
> installation.

I totally disagree on the philosophy of changing CONFIG.SYS.  In my opinion,
software vendors change CONFIG.SYS far too often and the changes are simply
not necessary if some formal structure would introduced.

The last thing I want to see in my config.sys is a path that is more than
4 lines long.  I have OS/2, CSET/2 TOOLKT20, WORKFRAME, MULTIMEDIA, COREL,
... installed on my machine.  The PATH statement includes a bin for every
bloody one of these applications, and in general they all think they should
be ***FIRST*** in the path.  Well, I prefer to have my own dir first so
I can replace some of the programs with more useful versions.  And then
there is DPATH, and LIBPATH, and HELP and INCLUDE and ...  I agree that 
it has become unmanageable, but the solution is in the software vendors.

I would suggest that OS/2 provide a default location for software
applications to put their work files.  
 /usr/bin        -- location for all application executables RUN BY USER!
 /usr/dll        -- location for all application dll's
 /usr/help       -- obvious
 /usr/include    -- you get the picture
 /usr/local/bin  -- location for all user built software
 /usr/local/dll  -- location for all application dll's
 ...

Second, applications should build their own paths rather than relying on 
having their own little pieces stored in the main path.  My own software 
package uses a single entry in the OS2SYS.INI to store its internal path.
The path is set on install, and I provide a utility so the user can change
it easily if needed.  Once the program runs, it reads it's path from
OS2SYS.INI, and the rest of it's files are COMPLETELY INDEPENDENT of the
OS/2 path.  A simple routine SysResolveFilename() handles the appropriate
search to find files in the local directory, program's path, or user's PATH.
In the end, it is only necessary to include a single .CMD file somewhere
in the user's PATH to get things started (this is even unnecessary if
they use only the ICON to start programs).

Third, applications should absolutely minimize their use of OS2SYS.INI and
OS2.INI.  The API's for using program .INI files are great.  Using a
separate .INI file allows me to give various users of the program on the
same machine different configurations - simply give a .INI name on the
command line.  There is FAR TOO MUCH CRAP in the system .INI files now, and
all the applications that add their own is just making it impossible to 
move smoothly between machines (ever try to make two machines look nearly
identical - don't!).  Programmers, leave OS2.INI and OS2SYS.INI to the
system itself as much as possible.

Finally, applications should either be very tight in where they install
(a single subdirectory) or provide a de-install program.

IMHO

------
  ____ ___   ___    ___        Michael O. Thompson
   /  /  / / / /  / / / \ /    Materials Science & Engineering
  /  /__/ / / /  / / /  /      329 Bard Hall -- Cornell University
                               Ithaca, NY  14853
tommy@msc.cornell.edu          Ph: (607) 255-4714

OS/2:  For the few, the proud, the devoted!
-- 
Michael O. Thompson            tommy@msc.cornell.edu
Cornell University             (607) 255-4714

OS/2:  For the few, the proud, the devoted!
Newsgroups: comp.os.os2.misc