Ethereal-dev: Re: [Ethereal-dev] Directory settings

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: "Mark H. Wood" <mwood@xxxxxxxxx>
Date: Mon, 1 Mar 2004 09:45:45 -0500 (EST)
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Sun, 29 Feb 2004, Guy Harris wrote:
> On Sun, Feb 29, 2004 at 09:43:02PM +0100, Ulf Lamping wrote:
> > I'm not sure if that's the right thing to do. The data in the profile
> > directory on win32 will be copied to the server each time
> > you do a logoff, so this will copy probably a huge amount of data.
>
> ...unless you don't have a roaming profile.  How many people do?

Not nearly enough. :-(

> Also, isn't that where *most* applications put their data, by default -
> in some directory under your profile directory?  (Presumably that's why
> profile directories get put under "Documents and Settings" in NT 5.x.)

Yes, and they're wrong.  The profile, proper, is for tiny things like
shortcuts and other settings and preferences (think dotfiles), not for
huge working files. Template files and such should go into
%APPDATA%\vendor\product , for example.  %USERPROFILE% is broken down into
subsections which can be individually redirected via policy, and
administrators of big Windows installations [touches cap ruefully] will
thank you for paying attention to policy issues.

I'd say the best default for capture files would be to ask the shell for
the My Documents path.  That's another place which can be separately
redirected, and it's appropriate for files which are used by an
application but are not an essential part of its setup.  You need to ask
the shell because these paths are localizable.

The distinction between startup/operational data for the product's own
use, and user data, is always important, but it's especially important to
think about it in the Windows context, both because they are kept
topologically close together in the Windows model, and because incorrect
placement of large files in a roaming profile will put a severe strain on
the "briefcase reconciler" and lead to unpleasant logon/logoff delays.

BTW *scratch* files should go in %TEMP%, if that wasn't obvious.  Not only
can this be redirected, it is by default excluded from copy-in/copy-out
along with all the other stuff in %USERPROFILE%\LocalSettings.

Some of these nice distinctions weren't implemented in earlier versions of
Win32, but I figure that anyone who is still running Windows 95 in 2004
gets what he deserves.

> > Also some people reported, that the working dir must be the same as the
> > exe's dir, to work together with GTK-Wimp,
> > however, I didn't tested this myself.
>
> That sounds like a severe botch in GTK-Wimp.

If it's a question of the GTK-Wimp libraries being on the PATH, consider
having the installer add ethereal to the list of known applications with
an augmented PATH.  That is, make a key in
HKLM\Software\Microsoft\Windows\CurrentVersion\AppPaths with the name
"ethereal.exe" (or whatever), a default value of the full path to the
Ethereal executable, and a value "Path" being a string containing paths to
be appended to PATH whenever ethereal.exe is run.  This way you avoid
gunking up the default PATH with stuff that has no significance to
anything else.

This is probably better than plunking the GTK-Wimp libraries into a system
directory, given Microsoft's current ideas about the route out of DLL
Hell.

You're quite right that GTK-Wimp shouldn't be this fragile.  Possibly GTK
should add its libraries to the Known DLLs list, but that's a question for
the GTK team.

++++++++++++++++

I used to just tell people to "go read the Logo Requirements", but
Microsoft seem to have scattered this information across bits of the
Visual Studio documentation and what is now called the Application
Specification.  You can get the AppSpec from Microsoft (as a Word file,
grrr) at:

http://msdn.microsoft.com/winlogo/

- -- 
Mark H. Wood, Lead System Programmer   mwood@xxxxxxxxx
MS Windows *is* user-friendly, but only for certain values of "user".
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (GNU/Linux)
Comment: pgpenvelope 2.10.2 - http://pgpenvelope.sourceforge.net/

iD8DBQFAQ0yds/NR4JuTKG8RAufUAJ4t4K3El4mGOe+LTDpGxGn+DGsvugCfQvny
vGi6e7KUTh98/6rQWc1aJHA=
=Cw8k
-----END PGP SIGNATURE-----