static Installer() { programFolder = Path.GetDirectoryName(Application.ExecutablePath); appDataFolder = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData); if (appDataFolder == "") { appDataFolder = programFolder; } else { appDataFolder += "\\C-evo"; if (!Directory.Exists(appDataFolder)) { Directory.CreateDirectory(appDataFolder); } } downloadFolder = Path.GetTempPath().TrimEnd('\\'); if (downloadFolder == "") { downloadFolder = appDataFolder + "\\Temp"; if (!Directory.Exists(downloadFolder)) { Directory.CreateDirectory(downloadFolder); } } installedAddOns = new AddOnSet(true); if (File.Exists(appDataFolder + "\\addons.xml")) { try { installedAddOns.AddXML(File.ReadAllText(appDataFolder + "\\addons.xml")); } catch (Exception) { MessageBox.Show("Error reading file 'addons.xml' from AppData folder!", "Error"); } } if (File.Exists(programFolder + "\\addons.xml")) { try { installedAddOns.AddXML(File.ReadAllText(programFolder + "\\addons.xml")); } catch (Exception) { MessageBox.Show("Error reading file 'addons.xml' from program folder!", "Error"); } } }
void DownloadStringCompleted(Object sender, DownloadStringCompletedEventArgs e) { availableAddOns = new AddOnSet(false); if (!e.Cancelled) { if (e.Error != null) { MessageBox.Show("Can't connect to server c-evo.org!\nOnly limited options will be available.", "No Internet Connection", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } else { try { availableAddOns.AddXML(e.Result); } catch (Exception) { MessageBox.Show("Error reading file 'index.xml'!", "Error"); } } } downloader.DownloadStringCompleted -= DownloadStringCompleted; RaiseComplete(); }