private void CreateModDirectoryLinkInternal(string localModPath) { var globalModDirectory = App.Instance.Settings.GetModDirectory(Version); if (!globalModDirectory.Exists) { globalModDirectory.Create(); } var localModJunction = new JunctionInfo(localModPath); if (localModJunction.Exists) { localModJunction.SetDestination(globalModDirectory.FullName); } else { if (System.IO.Directory.Exists(localModJunction.FullName)) { System.IO.Directory.Delete(localModJunction.FullName, true); } localModJunction.Create(globalModDirectory.FullName); } }
/// <summary> /// Deletes all directory junctions. /// </summary> public void DeleteLinks() { if (!IsSpecialVersion) { JunctionInfo localSaveJunction = new JunctionInfo(Path.Combine(linkDirectory.FullName, "saves")); if (localSaveJunction.Exists) { localSaveJunction.Delete(); } JunctionInfo localScenarioJunction = new JunctionInfo(Path.Combine(linkDirectory.FullName, "scenarios")); if (localScenarioJunction.Exists) { localScenarioJunction.Delete(); } JunctionInfo localModJunction = new JunctionInfo(Path.Combine(linkDirectory.FullName, "mods")); if (localModJunction.Exists) { localModJunction.Delete(); } } }