using System; using System.IO; using System.Windows; using System.Windows.Threading; using GCHR.Control; using GCHR.Model; using Microsoft.Win32; namespace GCHR { public partial class App { // private TaskManager _tasks; protected override void OnStartup(StartupEventArgs e) { //FrameworkVersionPruefen(); KonfigdateiUmbenennen(); if (e.Args.Length > 0 && e.Args[0].Contains(".xml")) { MessageBox.Show(e.Args[0]); Constants.ConfigDatei = "config\\" + e.Args[0]; } StartupUri = new Uri("Main.xaml", UriKind.Relative); base.OnStartup(e); } /* private void ConsoleStart(String periode) { Logger.Info("GCHR - Start im Konsolenmodus"); _tasks = new TaskManager(); _tasks.CreateTasks(Ablaufsteuerung, new Periode(periode)); _tasks.TryRunNextWorker(); _tasks.Data.AufManuelleKontenWarten.Set(); } private void Ablaufsteuerung(object s, RunWorkerCompletedEventArgs e) { var aktuellerWorker = (BackgroundWorker)s; var aktuelleAufgabe = _tasks.GetAufgabeByWorker(aktuellerWorker); if (e.Error == null) { Console.WriteLine(aktuelleAufgabe + @"... OK."); } else { Console.WriteLine(aktuelleAufgabe + @"... Abbruch." + Environment.NewLine + e.Error.Message); Shutdown(); } if (aktuelleAufgabe.ID == 9) { Shutdown(); } } */ private static void FrameworkVersionPruefen() { try { // ReSharper disable PossibleNullReferenceException var installedVersions = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\NET Framework Setup\NDP"); var versionNames = installedVersions.GetSubKeyNames(); var framework = versionNames[versionNames.Length - 1].Substring(1); var sp = installedVersions.OpenSubKey(versionNames[versionNames.Length - 1]).GetValue("SP", 0).ToString(); // ReSharper restore PossibleNullReferenceException if ((framework == "3.5" || sp == "1") || framework.Substring(0, 1) == "4") return; MessageBox.Show(string.Format(".NET-Framework Version {0} SP{1} gefunden.", framework, sp)); Logger.Info(string.Format(".NET-Framework Version {0} SP{1} gefunden.", framework, sp)); } catch (NullReferenceException) { Logger.Info(string.Format("Keine Informationen über .NET-Framework-Installationen gefunden.")); } } private void ApplicationDispatcherUnhandledException(object sender, DispatcherUnhandledExceptionEventArgs e) { Logger.Info(e.Exception.ToString()); } private void KonfigdateiUmbenennen() { if (File.Exists(Constants.ConfigDatei)) return; if (File.Exists(Constants.ConfigDateiAlt)) { File.Move(Constants.ConfigDateiAlt, Constants.ConfigDatei); } else { MessageBox.Show(string.Format("Konfigurationsdatei '{0}' nicht vorhanden!", Constants.ConfigDatei)); Logger.Info(string.Format("Konfigurationsdatei '{0}' nicht vorhanden!", Constants.ConfigDatei)); Shutdown(); } } } }