Upgrading settings in the ProgramData folder

One of my applications has several small xml files saved in the ProgramData folder that contain configuration information.  This works nicely, but when a new version of the application is installed, I need to bring these files forward so the user doesn’t lose their settings.  It seems like there must be a better way to do this, but the following looks through previous folder versions for the files.

The folder path follows the format C:\ProgramData\Company Name\Program Name\1.0.0.1

Dim ds As New DataSet
Dim a As String = My.Computer.FileSystem.SpecialDirectories.AllUsersApplicationData
Dim b As String = "\Job.xml"
If IO.File.Exists(a & b) Then
    ds.ReadXml(a & b)
Else
    Dim di As DirectoryInfo = Directory.GetParent(a)
    Dim dirs = di.GetDirectories.OrderByDescending(Function(f) f.FullName)
    For Each d As DirectoryInfo In dirs
        If d.FullName <> a Then
            If File.Exists(d.FullName & b) Then
                ds.ReadXml(d.FullName & b)
                Exit For
            End If
        End If
    Next
End If
This entry was posted in VB.net, VB.net 3.5, WinForms. Bookmark the permalink.

Comments are closed.