Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Losing VB.NET "My.Settings" with each new ClickOnce deployment release

I am using the built-in My.Settings functionality in VB.NET to save application settings.

This is very convenient but I notice that each time I release a new version, the settings are lost.

Why and how can I prevent it?

like image 809
Chad Avatar asked Jan 23 '23 00:01

Chad


1 Answers

You need to manually update your application settings, I use this easy method:

  • Create a boolean setting called MustUpgrade, User scope, default to True.

Then write a method to check if My.Settings requires updating, and call it's Update() method if so. Flag your settings as updated, and save. Call this somewhere in your app load. The Upgrade() method will update your Settings to the new format, and migrate your existing values over.

Sub UpgradeMySetings()
    If My.Settings.MustUpgrade Then
        My.Settings.Upgrade()
        My.Settings.MustUpgrade = False
        My.Settings.Save()
    End If
End Sub
like image 59
invert Avatar answered Jan 29 '23 09:01

invert