public void Save() { XmlSerializerHelper.SerializeToFile(this, "XrmToolBox.Settings.xml"); }
public void Save() { var settingsFile = "XrmToolBox.Settings.xml"; XmlSerializerHelper.SerializeToFile(this, settingsFile); }
private static void RemovePlugins() { uninstalltries++; var updateFile = Path.Combine(Paths.XrmToolBoxPath, "Deletion.xml"); if (!File.Exists(updateFile)) { return; } try { using (StreamReader reader = new StreamReader(updateFile)) { var pds = (PluginDeletions)XmlSerializerHelper.Deserialize(reader.ReadToEnd(), typeof(PluginDeletions)); try { var oldProcess = Process.GetProcessById(pds.PreviousProcessId); oldProcess.WaitForExit(); } catch { } foreach (var pd in pds.Plugins) { foreach (var filePath in pd.Files) { var pathToDelete = Path.Combine(Paths.XrmToolBoxPath, filePath); if (File.Exists(pathToDelete)) { File.Delete(pathToDelete); } else { pathToDelete = Path.Combine(Paths.PluginsPath, filePath); if (File.Exists(pathToDelete)) { File.Delete(pathToDelete); } } } } } File.Delete(updateFile); } catch (Exception error) { if (uninstalltries > 3) { MessageBox.Show( $"An error occured when trying to delete some tools: {error.Message}.\n\nPlease start XrmToolBox again to fix this problem.", @"Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } else { Thread.Sleep(500); RemovePlugins(); } } }