Ethereal-users: Re: [Ethereal-users] change location of preferences dir '.ethereal' on W2K

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

From: Guy Harris <gharris@xxxxxxxxx>
Date: Thu, 30 Aug 2001 01:02:14 -0700
On Thu, Aug 30, 2001 at 08:39:19AM +0200, andreas.sikkema@xxxxxxxxxxx wrote:
> > Ethereal derives the path of your home directory, on Windows, from the
> > HOMEDRIVE and HOMEPATH environment variables; there is no provision for
> > overriding that.
> 
> You can change your environment variables,

Sorry, I didn't phrase that as well as I should have.

What I meant was that there was no provision for getting Ethereal to do
anything other than glue together the HOMEDRIVE and HOMEPATH environment
variables.  You could change their settings, but that might affect other
programs as well.

> I have a laptop on which I have
> HOME pointing to c:\somewhere..

I don't see any code in "get_home_dir()" in "epan/filesystem.c" that
looks at the "HOME" environment variable on Windows...

> But this is 0.8.15 and I don't know if
> there's been a change in this area since.

... not even in the 0.8.15 version.

This does raise a question.

On UNIX, there's only the notion of a home directory for the user, which
you can get from the password database, and to which the environment
variable HOME is normally set.

On Windows, there appears to be a home directory, the drive for which is
in HOMEDRIVE and the path for which within that drive is in HOMEPATH.

There's also, on NT 4.0, at least, the "profile" directory, which is
under WINNT\Profiles, and has a name that's the user's logon name.  A
lot of programs store stuff there, and your desktop is in a directory
"Desktop" under there.

That behaves a *lot* like the home directory in UNIX.  For example,
right now, my desktop (KDE) is in a directory called, err, umm,
"Desktop", under my home directory.

In addition, I just created a user on my NT 4.0 partition; their
HOMEDRIVE was set to "C:" and their HOMEPATH was set to "\", but their
"USERPROFILE" was set to "C:\WINNT\Profiles\joebob".

So which of those, in a shiny modern 32-bit application, *should* the
application treat as the user's "home directory"?  Is the "home
directory" something dating back to 16-bit Windows and LAN Manager, with
the profile being the shiny new home directory?  Or is the profile an
NTism, not present on Windows OT (95, 98, Me)?  Or is the idea that you
could have some information on your local machine, which is in your
profile directory, and some information on your file server, which is in
your home directory, so that you can get some stuff done even if the
file server isn't responding?  (And what about "roaming profiles"?)

I.e., for storing preference information, personal filters, and the
like, which of those directories - the profile directory, or the home
directory - would be the most sensible Windows equivalent to the UNIX
home directory?

(Think twice before using the word "Registry" in your reply.  :-)  I
guess we *could* tweak the preferences API in Ethereal so that we can,
invisibly to the rest of Ethereal, stuff the preferences in the Registry
on Windows, but that's a bit more of an undertaking....)