From f5f46012d0efc7b425a156f0b60200c41d5b5e27 Mon Sep 17 00:00:00 2001 From: Jonathan Jenne Date: Thu, 17 Dec 2020 15:19:10 +0100 Subject: [PATCH] add config migration and user config prefix --- app/DD_Clipboard_Searcher/ClassConfig.vb | 2 +- app/DD_Clipboard_Searcher/ClassInit.vb | 27 +++++++++++++++++++----- 2 files changed, 23 insertions(+), 6 deletions(-) diff --git a/app/DD_Clipboard_Searcher/ClassConfig.vb b/app/DD_Clipboard_Searcher/ClassConfig.vb index 5dae166..e14d32c 100644 --- a/app/DD_Clipboard_Searcher/ClassConfig.vb +++ b/app/DD_Clipboard_Searcher/ClassConfig.vb @@ -19,6 +19,6 @@ Public Class ClassConfig Public Property ResultDataWindowLocation As Point = New Size(0, 0) Public Property ConnectionStringAppServer As String = "" - + Public Property AppServerConfig As String = "" End Class diff --git a/app/DD_Clipboard_Searcher/ClassInit.vb b/app/DD_Clipboard_Searcher/ClassInit.vb index 0e5c333..8c13538 100644 --- a/app/DD_Clipboard_Searcher/ClassInit.vb +++ b/app/DD_Clipboard_Searcher/ClassInit.vb @@ -71,15 +71,32 @@ Public Class ClassInit End Function Public Function InitBasics() - Dim UserAppDataPath = Application.UserAppDataPath - Dim CommonAppDataPath = Application.CommonAppDataPath - Dim StartupPath = Application.StartupPath + Dim oUserAppDataPath As String = Application.UserAppDataPath + Dim oLegacyAppDataPath As String = Application.UserAppDataPath + Dim oCommonAppDataPath = Application.CommonAppDataPath + Dim oStartupPath = Application.StartupPath + Dim oConfigPrefix As String = My.Settings.UserConfig_Prefix + + ' If prefix is configured, use it to create a subfolder in app data and migrate existing data + If oConfigPrefix.Length > 0 Then + oUserAppDataPath = IO.Path.Combine(Application.UserAppDataPath, oConfigPrefix) + + Dim oConfigUtils As New ConfigUtils(LogConfig) + + If oConfigUtils.TestMigrationNeeded(oUserAppDataPath) Then + LogConfig.Debug = True + oConfigUtils.MigrateConfig(oLegacyAppDataPath, oUserAppDataPath) + LogConfig.Debug = False + End If + End If + + ' If AppConfig from Startup Path should be forced, rewrite the common app data path If My.Settings.UseAppConfigConString = True Then ' UserAppDataPath = StartupPath - CommonAppDataPath = StartupPath + oCommonAppDataPath = oStartupPath End If - ConfigManager = New ConfigManager(Of ClassConfig)(LogConfig, UserAppDataPath, CommonAppDataPath, StartupPath) + ConfigManager = New ConfigManager(Of ClassConfig)(LogConfig, oUserAppDataPath, oCommonAppDataPath, oStartupPath) With ConfigManager.Config MyConnectionString = DecryptConnectionString(.ConnectionString)