public void GetMelderInstalledAddons(string path) { MainView.StatusMessage = "Discovering Installed Addons..."; if (Directory.Exists(path)) { string[] fileEntries = Directory.GetFiles(path, "*.ini"); foreach (string fileName in fileEntries) { using (TextReader reader = File.OpenText(fileName)) { AddonMetaData addon = new AddonMetaData(); addon.ReadFromIni(reader); var FullAddon = GetAddonLocalByNameAndVersion(addon.Name, addon.Version); if (FullAddon != null) { FullAddon.IsEnabled = true; FullAddon.InstalledFilesList = addon.InstalledFilesList; } } } } else { Directory.CreateDirectory(path); } }
public static AddonMetaData ParseZipForIni(string path) { using (ZipFile zip = ZipFile.Read(path)) { foreach (ZipEntry file in zip) { if (file.FileName.ToUpper().Contains(Properties.Settings.Default.MelderInfoName.ToUpper())) { TextReader reader = new StreamReader(file.OpenReader()); AddonMetaData addon = new AddonMetaData(); addon.ReadFromIni(reader); return addon; } } } return null; }