bittnerd
bittnerd

Reputation: 196

ClickOnce and .NET 5: User settings not updated

I've updated one of my WPF apps from .NET Framework 4.7 to .NET 5. It uses the ClickOnce Installer to install updates. Since the change to .NET 5, I'm using the AssemblyVersion for setting the version instead of rely on the ClickOnce version, but the ClickOnce ApplicationVersion is also set.

Additionally I'm using application settings (user.config file) to store some user settings. Since the update to .NET 5, the user settings are always deleted after an update. I tought it is because of the different AssemblyVersion, but as far as I understand this site, the config file sould be merged by ClickOnce automatically.

Also a Settings.Default.Upgrade() didn't change anything. The user.config is still not existing for the updated version and therefore, no settings could be loaded from previous verions.

Did I understand something wrong? Should it work or do I have to change anything?

Thank you in advance for your help :)

Upvotes: 5

Views: 1194

Answers (2)

delly47
delly47

Reputation: 47

Putting this in the main form loaded event worked for me:

if (Properties.Settings.Default.UpgradeRequired)
{
    Properties.Settings.Default.Upgrade();
    Properties.Settings.Default.UpgradeRequired = false;
    Properties.Settings.Default.Save();
}

Set a Setting in settings called UpgradeRequired to true This way every time the program gets updated, the Upgrade method gets called and settings get carried forward to the next version.

Upvotes: 1

nemu
nemu

Reputation: 96

I have had the same issue. Signing the assembly of the WPF project did the trick for me and fixed the problem.

  • Project properties -> Singing -> "Sign the assembly"
  • Create a strong name key file

Upvotes: 8

Related Questions