[comp.windows.ms] Using Win 3.0 on Shared-Use Machines

robf@athena.mit.edu (Robert E Fellows) (07/06/90)

Well, I have a different kind of problem: how to introduce Windows as a
standard environment where several people may share the same machines.
I run a small microcomputer lab where a large number of people share a
small number of machines, and over time I have finally prevailed in
coercing people to launch all their DOS applications from their private
user directory, rather than from the application directory, thereby
keeping the hard disks relatively free of endless unidentifiable
rubbish.  In the DOS world, PATH statements freed us some time ago from
having to run applications from their own directory, and then to
indicate specifically where the data files should go (done differently
in each application).

As far as I can tell, Windows 3.0 throws this concept away, in the sense
that there is no ability to set and maintain a "current" default
directory for data files.  If you start a windows app from DOS, (i.e.
'win excel'), then the File Open dialog will default to the current
directory.  But if you start Windows and launch applications from the
program manager, the default directory for all apps (including a DOS
shell) is changed -- at least on my machine -- to the windows directory.
For a DOS app, at least I can specify a startup directory other than
that containing the application in the PIF file, but I don't necessarily
always want an app to start from the same directory, and I would prefer
to have windows default to the current DOS directory or to be somehow
tied to one's current window in the File Manager.  It's back to the old
days when you have to specifically indicate the directory you want your
data saved in by calling up File Open (or typing the full path name in
Save As) for each application you work with.  That may be fine if you
are the only user on a machine, but I know exactly what it will mean for
me: the windows directory will be full of junk, and the users won't be
able to figure out where their files ended up.  Is there a solution to
this, or am I misunderstanding how it works?  It seems like a pretty
basic organization issue.

It's not hard to imagine how Windows could maintain the notion of a
current directory -- for example, a window in File Manager could
automatically open to the current directory, shown in the status bar,
and the current directory would be changed by putting the focus into a
different duirectory window.  But at least windows shouldn't
unilaterally change the current directory, as the program manager does
now -- it is possible that the user started windows in a particular
directory for a reason.

Are there any out there who have grappled with how to make Windows (and
Windows apps) work on shared-use machines?  My current approach will
probably be to run windows apps from DOS only, and force windows to exit
when the application terminates (through sending keys to the program
manager).  But that just doesn't seem to be making the best use of windows.

Rob Fellows
uunet!ATHENA.MIT.EDU!robf

bwb@sei.cmu.edu (Bruce Benson) (07/07/90)

In article <1990Jul6.152405.929@athena.mit.edu> robf@athena.mit.edu (Robert E Fellows) writes:

>As far as I can tell, Windows 3.0 throws this concept away, in the sense
>that there is no ability to set and maintain a "current" default
>directory for data files.  If you start a windows app from DOS, (i.e.
>'win excel'), then the File Open dialog will default to the current
>directory.  But if you start Windows and launch applications from the
>program manager, the default directory for all apps (including a DOS
>shell) is changed -- at least on my machine -- to the windows directory.

My solution:  I need word for windows to start in the subdirectory that
contains this months letters (\wp\90-07).  Using properties I specify:
\wp\90-07\winword.exe as the program to run. Since winword.exe is not
found in that directory, the program manager complains that the file is
invalid BUT allows me to select OK.  As winword.exe is on the path,
winword.exe will still be found and started, but the starting directory
will be \wp\90-07. 

A kludge, but it does what I need.  Anyone have other approaches?  

* Bruce Benson                   + Internet  - bwb@sei.cmu.edu +       +
* Software Engineering Institute + Compuserv - 76226,3407      +    >--|>
* Carnegie Mellon University     + Voice     - 412 268 8496    +       +
* Pittsburgh PA 15213-3890       +                             +  US Air Force

geoff@nluug.nl (G. Coupe EPD/74 O75/1435) (07/08/90)

In article <7768@fy.sei.cmu.edu> bwb@sei.cmu.edu (Bruce Benson) writes:
>My solution:  I need word for windows to start in the subdirectory that
>contains this months letters (\wp\90-07).  Using properties I specify:
>\wp\90-07\winword.exe as the program to run. Since winword.exe is not
>found in that directory, the program manager complains that the file is
>invalid BUT allows me to select OK.  As winword.exe is on the path,
>winword.exe will still be found and started, but the starting directory
>will be \wp\90-07. 
>
>A kludge, but it does what I need.  Anyone have other approaches?  

The kludge is actually documented in the Windows manual (sorry, I can't give
page reference, the manual is 30 kilometers away in my office...).  However,
what the manual does not tell you is that there are gotchas:-

1) As Bruce points out, the program manager complains when you follow the 
   procedure, but if you persist, this does allow you to set up default
   directories when applications are started.
2) Your application's icon is replaced by the default Windows icon for a DOS
   file in the program manager window.  So now, on my system, both WinWord
   and Excel have the same nondescript icons, which rather removes the whole 
   raison d'etre of icons ...

You can't have your cake and eat it...

- Geoff Coupe

rspangle@jarthur.Claremont.EDU (Randy Spangler) (07/09/90)

In article <1433@epd74hp.nluug.nl> geoff@epd74hp.UUCP (Geoff Coupe) writes:
>2) Your application's icon is replaced by the default Windows icon for a DOS
>   file in the program manager window.  So now, on my system, both WinWord
>   and Excel have the same nondescript icons, which rather removes the whole 
>   raison d'etre of icons ...
>
>You can't have your cake and eat it...

Oh, yes you can.

Single-click on that icon to highlight it, then go into the menu item
"properties."  Then click on "change icon."  In the filename box, type
EXCEL.EXE or whatever, then click on "view next."  This will go through all
the icons in EXCEL.EXE, one of which should be the regular Excel icon.

Same technique for WinWord.

Now, can someone please find a way to make Windows remember that icon, so
that when I run a PIF file with a custom icon in program manager and then 
minimize it, I get my custom icon down at the bottom of the screen?  I'm 
getting tired of these infernal little DOS boxes.

-- 
 --------------------------------------------------------------------------
|    Randy Spangler                    |    The less things change, the    |
|    rspangle@jarthur.claremont.edu    |    more they remain the same      |
 --------------------------------------------------------------------------

goodearl@world.std.com (Robert D Goodearl) (07/10/90)

In article <1433@epd74hp.nluug.nl> geoff@epd74hp.UUCP (Geoff Coupe) writes:
>In article <7768@fy.sei.cmu.edu> bwb@sei.cmu.edu (Bruce Benson) writes:
>>My solution:  I need word for windows to start in the subdirectory that
>>contains this months letters (\wp\90-07).  Using properties I specify:
>>\wp\90-07\winword.exe as the program to run. Since winword.exe is not
>>found in that directory, the program manager complains that the file is
>>invalid BUT allows me to select OK.  As winword.exe is on the path,
>>winword.exe will still be found and started, but the starting directory
>>will be \wp\90-07. 
>>

...

>2) Your application's icon is replaced by the default Windows icon for a DOS
>   file in the program manager window.  So now, on my system, both WinWord
>   and Excel have the same nondescript icons, which rather removes the whole 
>   raison d'etre of icons ...
>
>You can't have your cake and eat it...
>

Before clicking OK in the Program Item Properties dialog box, click on the
Change Icon button.  Then enter the full pathname to the executable file you
want to take the icon from.  This can be the executable you are running (Excel,
WinWord, etc.), any other executable (an interesting way to confuse people :-)
or a .ico file that contains just an icon.

Bob Goodearl -- goodearl@world.std.com

jta@locus.com (JT Anderson) (07/10/90)

In article <1433@epd74hp.nluug.nl>, geoff@nluug.nl (G. Coupe EPD/74 O75/1435) writes:
> In article <7768@fy.sei.cmu.edu> bwb@sei.cmu.edu (Bruce Benson) writes:
> >My solution:  I need word for windows to start in the subdirectory that
> >contains this months letters (\wp\90-07).  Using properties I specify:
> >\wp\90-07\winword.exe as the program to run. Since winword.exe is not
> >found in that directory, the program manager complains that the file is
> >invalid BUT allows me to select OK.  As winword.exe is on the path,
> >winword.exe will still be found and started, but the starting directory
> >will be \wp\90-07. 
> >
> >A kludge, but it does what I need.  Anyone have other approaches?  

I have had some success with the following approach.

1.  Make sure the document type for the application is registered in the
    extensions section of WIN.INI.

2.  Put an empty document in your data directory.

3.  Set up a PROGMAN icon that runs the document.

4.  Go to PROGMAN, PROPERTIES, Change Icon and give the path to the actual
    .EXE file for the windows app.  You can get the proper icon.

jmorriso@fs0.ee.ubc.ca (John Paul Morrison) (07/10/90)

Aha..! But you can too have your cake and eat it too! After you set the path
to the start-up directory and choose ok, you get the ivalid path message
blah blah..., but if you then choose the change icons button, you will get
a dialog box with 'filename' containing the start up path you entred. Since
this file doesn't exist, you get a default icon. But you can change this file
name to anything you want, even back to the original file in the right place.
The first (wrong) path specifies the startup, the othe specifies the icon.

This isn't new, and you can get a hold of some PD icons as in icon.dll which has
hords of icons in it.

jp

grosen@amadeus.ucsb.edu (Mark D. Grosen) (07/10/90)

About the icon when using a bogus command line path:

Choose "Change icon" and type the pathname of the real application,
choose "View next" and then "Ok".  This will get back the original
icon.  Note that the path for the icon source does not have to have any
resemblence to the command line.

Mark

Mark D. Grosen		ARPA: grosen@amadeus.ucsb.edu
Signal Processing Lab / Communications Research Lab
ECE Dept.
University of California
Santa Barbara, CA  93106

craig@tureen.berkeley.edu (Craig Lant) (07/14/90)

In article <1990Jul6.152405.929@athena.mit.edu> robf@athena.mit.edu
(Robert E Fellows) writes:
|>
|>As far as I can tell, Windows 3.0 throws this concept away, in the sense
|>that there is no ability to set and maintain a "current" default
|>directory for data files.  If you start a windows app from DOS, (i.e.
|>'win excel'), then the File Open dialog will default to the current
|>directory.  But if you start Windows and launch applications from the
|>program manager, the default directory for all apps (including a DOS
|>shell) is changed -- at least on my machine -- to the windows directory.

What I did was to install windows as if on a network.  That is, I installed
everything on my machine as if it were a file server (it's not).  Then I
installed windows from the windows directory into my home directory as
if I were
my own client.  Now when I start windows from my home directory, thats where
apps get launched from yet most executables are still kept in the windows
directory.  By reinstalling for each user on my system everyone gets there own
environment and stuff launches from there home directories.  I haven't had any
problems with this yet.


						Craig Lant
				    University of California, Berkeley