diff --git a/src/settings-ui/Settings.UI.Library/SettingsBackupAndRestoreUtils.cs b/src/settings-ui/Settings.UI.Library/SettingsBackupAndRestoreUtils.cs index 316fbfd626..10ebf74314 100644 --- a/src/settings-ui/Settings.UI.Library/SettingsBackupAndRestoreUtils.cs +++ b/src/settings-ui/Settings.UI.Library/SettingsBackupAndRestoreUtils.cs @@ -653,11 +653,15 @@ namespace Microsoft.PowerToys.Settings.UI.Library return (false, "General_SettingsBackupAndRestore_InvalidBackupLocation", "Error", lastBackupExists, "\n" + appBasePath); } - var dirExists = TryCreateDirectory(settingsBackupAndRestoreDir); - if (!dirExists) + // Only create the backup directory if this is not a dry run + if (!dryRun) { - Logger.LogError($"Failed to create dir {settingsBackupAndRestoreDir}"); - return (false, $"General_SettingsBackupAndRestore_BackupError", "Error", lastBackupExists, "\n" + settingsBackupAndRestoreDir); + var dirExists = TryCreateDirectory(settingsBackupAndRestoreDir); + if (!dirExists) + { + Logger.LogError($"Failed to create dir {settingsBackupAndRestoreDir}"); + return (false, $"General_SettingsBackupAndRestore_BackupError", "Error", lastBackupExists, "\n" + settingsBackupAndRestoreDir); + } } // get data needed for process @@ -717,12 +721,11 @@ namespace Microsoft.PowerToys.Settings.UI.Library var relativePath = currentFile.Value.Substring(appBasePath.Length + 1); var backupFullPath = Path.Combine(fullBackupDir, relativePath); - TryCreateDirectory(fullBackupDir); - TryCreateDirectory(Path.GetDirectoryName(backupFullPath)); - Logger.LogInfo($"BackupSettings writing, {backupFullPath}, dryRun:{dryRun}."); if (!dryRun) { + TryCreateDirectory(fullBackupDir); + TryCreateDirectory(Path.GetDirectoryName(backupFullPath)); File.WriteAllText(backupFullPath, currentSettingsFileToBackup); } }