コード例 #1
0
ファイル: Options.cs プロジェクト: ChrisKoenig/XrmToolBox
 public void Save()
 {
     XmlSerializerHelper.SerializeToFile(this, "XrmToolBox.Settings.xml");
 }
コード例 #2
0
        public void Save()
        {
            var settingsFile = "XrmToolBox.Settings.xml";

            XmlSerializerHelper.SerializeToFile(this, settingsFile);
        }
コード例 #3
0
        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();
                }
            }
        }