App.xaml.cs 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. using System;
  2. using System.IO;
  3. using System.Windows;
  4. using System.Windows.Threading;
  5. using GCHR.Control;
  6. using GCHR.Model;
  7. using Microsoft.Win32;
  8. namespace GCHR
  9. {
  10. public partial class App
  11. {
  12. // private TaskManager _tasks;
  13. protected override void OnStartup(StartupEventArgs e)
  14. {
  15. //FrameworkVersionPruefen();
  16. KonfigdateiUmbenennen();
  17. if (e.Args.Length > 0 && e.Args[0].Contains(".xml"))
  18. {
  19. MessageBox.Show(e.Args[0]);
  20. Constants.ConfigDatei = "config\\" + e.Args[0];
  21. }
  22. StartupUri = new Uri("Main.xaml", UriKind.Relative);
  23. base.OnStartup(e);
  24. }
  25. /*
  26. private void ConsoleStart(String periode)
  27. {
  28. Logger.Info("GCHR - Start im Konsolenmodus");
  29. _tasks = new TaskManager();
  30. _tasks.CreateTasks(Ablaufsteuerung, new Periode(periode));
  31. _tasks.TryRunNextWorker();
  32. _tasks.Data.AufManuelleKontenWarten.Set();
  33. }
  34. private void Ablaufsteuerung(object s, RunWorkerCompletedEventArgs e)
  35. {
  36. var aktuellerWorker = (BackgroundWorker)s;
  37. var aktuelleAufgabe = _tasks.GetAufgabeByWorker(aktuellerWorker);
  38. if (e.Error == null)
  39. {
  40. Console.WriteLine(aktuelleAufgabe + @"... OK.");
  41. }
  42. else
  43. {
  44. Console.WriteLine(aktuelleAufgabe + @"... Abbruch." + Environment.NewLine + e.Error.Message);
  45. Shutdown();
  46. }
  47. if (aktuelleAufgabe.ID == 9)
  48. {
  49. Shutdown();
  50. }
  51. }
  52. */
  53. private static void FrameworkVersionPruefen()
  54. {
  55. try
  56. {
  57. // ReSharper disable PossibleNullReferenceException
  58. var installedVersions = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\NET Framework Setup\NDP");
  59. var versionNames = installedVersions.GetSubKeyNames();
  60. var framework = versionNames[versionNames.Length - 1].Substring(1);
  61. var sp = installedVersions.OpenSubKey(versionNames[versionNames.Length - 1]).GetValue("SP", 0).ToString();
  62. // ReSharper restore PossibleNullReferenceException
  63. if ((framework == "3.5" || sp == "1") || framework.Substring(0, 1) == "4") return;
  64. MessageBox.Show(string.Format(".NET-Framework Version {0} SP{1} gefunden.", framework, sp));
  65. Logger.Info(string.Format(".NET-Framework Version {0} SP{1} gefunden.", framework, sp));
  66. }
  67. catch (NullReferenceException)
  68. {
  69. Logger.Info(string.Format("Keine Informationen über .NET-Framework-Installationen gefunden."));
  70. }
  71. }
  72. private void ApplicationDispatcherUnhandledException(object sender, DispatcherUnhandledExceptionEventArgs e)
  73. {
  74. Logger.Info(e.Exception.ToString());
  75. }
  76. private void KonfigdateiUmbenennen()
  77. {
  78. if (File.Exists(Constants.ConfigDatei)) return;
  79. if (File.Exists(Constants.ConfigDateiAlt))
  80. {
  81. File.Move(Constants.ConfigDateiAlt, Constants.ConfigDatei);
  82. }
  83. else
  84. {
  85. MessageBox.Show(string.Format("Konfigurationsdatei '{0}' nicht vorhanden!", Constants.ConfigDatei));
  86. Logger.Info(string.Format("Konfigurationsdatei '{0}' nicht vorhanden!", Constants.ConfigDatei));
  87. Shutdown();
  88. }
  89. }
  90. }
  91. }