Home All Groups Group Topic Archive Search About

Application.UserAppDataPath Question

Author
1 Mar 2006 2:34 AM
David White
The MSDN docs say, "If a path does not exist, one is created in the following
format: BasePath\CompanyName\ProductName\ProductVersion". Where does the
BasePath value come from? It seems the default is "C:\Documents and Settings\
username\Application Data".

But from which of the system environment variables (or elsewhere) is the
BasePath value retrieved? The obvious options seem to be:

%USERPROFILE%

%HOMEDRIVE%%HOMEPATH%

%HOME% (which is set = %USERPROFILE% on my system)

These all resolve to the same location on my system. But for roaming users and
users under Terminal Services, some of these locations can be relocated via
startup scripts somehome (I think) to network locations. So these may all not
always be equal (otherwise why all the different ways to do it?) and I need to
know what changes are picked up by the .Net runtime and passed in.

As an aside - does Application.UserAppDataPath always equal the environment
variable %APPDATA%?

Thanks.

Author
1 Mar 2006 8:12 AM
Simon Murrell
Hello David

The BasePath is the AppData environment variable
(e.g. "C:\Documents and Settings\SimonM\Application Data") environment
variable. Hope this helps... You can use the
Environment.GetEnvironmentVariable
method to retrieve the the AppData value (which I presume you already know) as
well as the
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
method. Hope this helps.

Regards,
Simon

Show quote
"David White" wrote:

> The MSDN docs say, "If a path does not exist, one is created in the following
> format: BasePath\CompanyName\ProductName\ProductVersion". Where does the
> BasePath value come from? It seems the default is "C:\Documents and Settings\
> username\Application Data".
>
> But from which of the system environment variables (or elsewhere) is the
> BasePath value retrieved? The obvious options seem to be:
>
> %USERPROFILE%
>
> %HOMEDRIVE%%HOMEPATH%
>
> %HOME% (which is set = %USERPROFILE% on my system)
>
> These all resolve to the same location on my system. But for roaming users and
> users under Terminal Services, some of these locations can be relocated via
> startup scripts somehome (I think) to network locations. So these may all not
> always be equal (otherwise why all the different ways to do it?) and I need to
> know what changes are picked up by the .Net runtime and passed in.
>
> As an aside - does Application.UserAppDataPath always equal the environment
> variable %APPDATA%?
>
> Thanks.
>
Author
1 Mar 2006 1:38 PM
Kevin Spencer
Check out the Environment.SpecialFolder enumeration documentation:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemenvironmentspecialfolderclasstopic.asp

--
HTH,

Kevin Spencer
Microsoft MVP
..Net Developer
A brute awe as you,
a Metallic hag entity, eat us.


Show quote
"David White" <whitedav***@comcast.net> wrote in message
news:OFqVpiNPGHA.3196@TK2MSFTNGP09.phx.gbl...
> The MSDN docs say, "If a path does not exist, one is created in the
> following format: BasePath\CompanyName\ProductName\ProductVersion". Where
> does the BasePath value come from? It seems the default is "C:\Documents
> and Settings\ username\Application Data".
>
> But from which of the system environment variables (or elsewhere) is the
> BasePath value retrieved? The obvious options seem to be:
>
> %USERPROFILE%
>
> %HOMEDRIVE%%HOMEPATH%
>
> %HOME% (which is set = %USERPROFILE% on my system)
>
> These all resolve to the same location on my system. But for roaming users
> and users under Terminal Services, some of these locations can be
> relocated via startup scripts somehome (I think) to network locations. So
> these may all not always be equal (otherwise why all the different ways to
> do it?) and I need to know what changes are picked up by the .Net runtime
> and passed in.
>
> As an aside - does Application.UserAppDataPath always equal the
> environment variable %APPDATA%?
>
> Thanks.

AddThis Social Bookmark Button