Solved

How to retrieve application settings when program installed to a new location

Posted on 2015-02-24
2
75 Views
Last Modified: 2015-03-13
I have a VB.Net program, called (for instance) "MyProgram", that was installed to a folder in Program Files called, "MyProgram v. 1".  This program has application settings that Windows stores in a folder called "MyProgram_Url_n4n5qrewg1zi5ilbibrsl21idmzcsdhw", which is located in the "AppData\Local" folder.  In the program there is the following code:

If My.Settings.CallUpgrade Then
     My.Settings.Upgrade()
     My.Settings.CallUpgrade = False
     My.Settings.Save()
End If

This code ensures that when I update my program, say from v. 1.0.0.0 to v. 1.1.0.0, that the application settings from the previous version.  This has worked very well and I have upgraded my application numerous times without a problem.  And each new version adds a new folder to the application data folder with the version number as the folder name containing a "user.config" file.

However, I now want to do a major upgrade to v. 2.0, and want to change the location of installation of the program (in Program Files) from "MyProgram v. 1" to simply, "MyProgram", since it is silly to keep the version number in the folder name.  However, when the program is installed, there are now two folders in Program Files:  "MyProgram v. 1" and "MyProgram", and there is now a new folder in the "AppData\Local" folder, "MyProgram_Url_w1x02urygryc3nq3z4ajs5h3r3rc443k", which only contains a folder named "2.0.0.0".  It does not have folders for the older versions, because those version folders are contained in the application data folder created for verison 1.0.0.0 of the program.

So it appears that once I change the installation location of the program, Windows treats it as a new application and creates a new place to store the application data.  My question is if there is any way to change this and/or have version 2.0 of "MyProgram" be able to find the previous version's config file to use as a base for its settings?  Thank you.

Vijay
0
Comment
Question by:vdurbal
2 Comments
 
LVL 40

Accepted Solution

by:
Jacques Bourgeois (James Burger) earned 500 total points
ID: 40629751
Normally, it's not the installation directory that is recorded in AppData\Local, it's the application name.

Have you also changed the application name in the Project's properties?

This being said, if you look into the AppData\Local directories, you will see that the only thing in there is a file called user.config. If you examine the content of the file, you will see that it makes no reference to the program name or it's location. So simply copying the user.config from the old installation to the new one should do the trick.
0
 

Author Closing Comment

by:vdurbal
ID: 40663402
Thank you very much.  That worked!
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Encryption Decryption in Oracle 12 107
VB.Net - For Loop Error 5 37
I need help embedding Base64 Images using VB.Net - When image is a .jpg 2 42
VS.net 2010 11 24
Article by: jpaulino
XML Literals are a great way to handle XML files and the community doesn’t use it as much as it should.  An XML Literal is like a String (http://msdn.microsoft.com/en-us/library/system.string.aspx) Literal, only instead of starting and ending with w…
Article by: Kraeven
Introduction Remote Share is a simple remote sharing tool, enabling you to see, add and remove remote or local shares. The application is written in VB.NET targeting the .NET framework 2.0. The source code and the compiled programs have been in…
In this video I am going to show you how to back up and restore Office 365 mailboxes using CodeTwo Backup for Office 365. Learn more about the tool used in this video here: http://www.codetwo.com/backup-for-office-365/ (http://www.codetwo.com/ba…
Video by: Mark
This lesson goes over how to construct ordered and unordered lists and how to create hyperlinks.

895 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

16 Experts available now in Live!

Get 1:1 Help Now