364,033 Members | 4770 Browsing Online
Community for Developers & IT Professionals
Bytes IT Community

How to maintain user.config settings when upgrading?

davepkz@hotmail.com
P: n/a
davepkz@hotmail.com
I have a basic question about managing user.config settings:

In my C# app, I save the user's preferences to the config file. But
each time I release a new build of the app, something in .NET creates a
new folder (named for the build number) in Documents And Settings. The
result is the users lose all their settings and have to start over.

What is the standard way to allow users to maintain their settings when
they get a new version of a .NET app?

thanks
Dave

Aug 10 '06 #1
Share this Question
Share on Google+
3 Replies


Mike Lowery
P: n/a
Mike Lowery

<davepkz@hotmail.comwrote in message
news:1155225149.646271.291150@75g2000cwc.googlegro ups.com...
>I have a basic question about managing user.config settings:
>
In my C# app, I save the user's preferences to the config file. But
each time I release a new build of the app, something in .NET creates a
new folder (named for the build number) in Documents And Settings. The
result is the users lose all their settings and have to start over.
>
What is the standard way to allow users to maintain their settings when
they get a new version of a .NET app?
You could store them in a different file or use the registry.


Aug 10 '06 #2

Carl Daniel [VC++ MVP]
P: n/a
Carl Daniel [VC++ MVP]
<davepkz@hotmail.comwrote in message
news:1155225149.646271.291150@75g2000cwc.googlegro ups.com...
>I have a basic question about managing user.config settings:
>
In my C# app, I save the user's preferences to the config file. But
each time I release a new build of the app, something in .NET creates a
new folder (named for the build number) in Documents And Settings. The
result is the users lose all their settings and have to start over.
>
What is the standard way to allow users to maintain their settings when
they get a new version of a .NET app?
Here's the way I do it - ClickOnce does something similar automatically.
You need to make use of the SettingsBase.Upgrade method.

Add a Setting to your project called ApplicationVersion, then use code like
the following in the startup of your applicaiton:

System.Reflection.Assembly a =
System.Reflection.Assembly.GetExecutingAssembly();
Version appVersion = a.GetName().Version;
string appVersionString = appVersion.ToString();

if (Properties.Settings.Default.ApplicationVersion != appVersion.ToString())
{
Properties.Settings.Default.Upgrade();
Properties.Settings.Default.ApplicationVersion = appVersionString;
}

-cd


Aug 10 '06 #3

davepkz@hotmail.com
P: n/a
davepkz@hotmail.com

This suggestion worked perfectly. Thanks.
Dave


Carl Daniel [VC++ MVP] wrote:
Here's the way I do it - ClickOnce does something similar automatically.
You need to make use of the SettingsBase.Upgrade method.
>
Add a Setting to your project called ApplicationVersion, then use code like
the following in the startup of your applicaiton:
...
Aug 12 '06 #4

Post your reply

Help answer this question



Didn't find the answer to your C# / C Sharp question?

You can also browse similar questions: C# / C Sharp