internal static void ReinstallAddon(string _AddonName, WowVersionEnum _WowVersion) { //Delete WTF files var savedVariableFiles = WowUtility.GetPerCharacterSavedVariableFilePaths(_AddonName, _WowVersion); savedVariableFiles.AddRange(WowUtility.GetSavedVariableFilePaths(_AddonName, _WowVersion)); foreach (string savedVariableFile in savedVariableFiles) { Utility.DeleteFile(savedVariableFile); } //Delete WTF files }
internal static bool UninstallAddon(string _AddonName, WowVersionEnum _WowVersion) { if (System.IO.Directory.Exists(Settings.GetWowDirectory(_WowVersion) + "Interface\\AddOns\\" + _AddonName)) { Utility.DeleteDirectory(Settings.GetWowDirectory(_WowVersion) + "Interface\\AddOns\\" + _AddonName); //Delete WTF files var savedVariableFiles = WowUtility.GetPerCharacterSavedVariableFilePaths(_AddonName, _WowVersion); savedVariableFiles.AddRange(WowUtility.GetSavedVariableFilePaths(_AddonName, _WowVersion)); foreach (string savedVariableFile in savedVariableFiles) { Utility.DeleteFile(savedVariableFile); } //Delete WTF files } return(System.IO.Directory.Exists(Settings.GetWowDirectory(_WowVersion) + "Interface\\AddOns\\" + _AddonName) == false); }
internal static List <string> InstallAddonPackage(string _AddonZipFilePackage, WowVersionEnum _WowVersion, Action <float> _InstallProgress = null, bool _ClearWTFSettings = false) { List <string> addonsInPackage = GetAddonsInAddonPackage(_AddonZipFilePackage); _InstallProgress(0.2f); string backupFile = BackupAddons(addonsInPackage, _WowVersion); _InstallProgress(0.4f); for (int i = 0; i < addonsInPackage.Count; ++i) { string addon = addonsInPackage[i]; if (_ClearWTFSettings == true) { var savedVariableFiles = WowUtility.GetPerCharacterSavedVariableFilePaths(addon, _WowVersion); savedVariableFiles.AddRange(WowUtility.GetSavedVariableFilePaths(addon, _WowVersion)); foreach (string savedVariableFile in savedVariableFiles) { Utility.DeleteFile(savedVariableFile); } } if (System.IO.Directory.Exists(Settings.GetWowDirectory(_WowVersion) + "Interface\\AddOns\\" + addon)) { Utility.DeleteDirectory(Settings.GetWowDirectory(_WowVersion) + "Interface\\AddOns\\" + addon); } _InstallProgress(0.4f + ((float)(i + 1) / (float)addonsInPackage.Count) * 0.4f); } _InstallProgress(0.8f); try { FastZip fastZip = new FastZip(); fastZip.ExtractZip(_AddonZipFilePackage, Settings.GetWowDirectory(_WowVersion) + "Interface\\AddOns\\", null); _InstallProgress(1.0f); return(addonsInPackage); } catch (Exception ex) { Logger.LogException(ex); Utility.MessageBoxShow("There was an error extracting the AddonPackage, Backup of anything deleted/replaced exists in the \"" + backupFile + "\" unfortunately automatic restoration is not implemented yet"); } return(null); }