void StartTrackingUsage() { _writer.Write("Registering usage tracker... "); CustomContainer.Register(ApplicationTrackerFactory.GetApplicationTrackerProvider()); var applicationTracker = CustomContainer.Get <IApplicationTracker>(); applicationTracker?.EnableApplicationTracker(VersionInfo.FetchVersionInfo(), VersionInfo.FetchInformationalVersion(), @"Warewolf" + $" ({ClaimsPrincipal.Current.Identity.Name})".ToUpperInvariant()); applicationTracker?.TrackEvent("Server Events", "Server Startup"); _writer.WriteLine("done."); }
[PrincipalPermission(SecurityAction.Demand)] // Principal must be authenticated protected override void OnStartup(System.Windows.StartupEventArgs e) { CustomContainer.Register <IFieldAndPropertyMapper>(new FieldAndPropertyMapper()); CustomContainer.Register(ApplicationTrackerFactory.GetApplicationTrackerProvider()); var applicationTracker = CustomContainer.Get <IApplicationTracker>(); applicationTracker?.EnableApplicationTracker(VersionInfo.FetchVersionInfo(), VersionInfo.FetchInformationalVersion(), @"Warewolf" + $" ({ClaimsPrincipal.Current.Identity.Name})".ToUpperInvariant()); ShutdownMode = System.Windows.ShutdownMode.OnMainWindowClose; Task.Factory.StartNew(() => { var dir = new DirectoryWrapper(); var path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), GlobalConstants.Warewolf, "Feedback"); dir.CleanUp(path); dir.CleanUp(Path.Combine(GlobalConstants.TempLocation, GlobalConstants.Warewolf, "Debug")); }); var localprocessGuard = new Mutex(true, GlobalConstants.WarewolfStudio, out bool createdNew); if (createdNew) { _processGuard = localprocessGuard; } else { Environment.Exit(Environment.ExitCode); } InitializeShell(e); #if !(DEBUG) var versionChecker = new VersionChecker(); if (versionChecker.GetNewerVersion()) { WebLatestVersionDialog dialog = new WebLatestVersionDialog(); dialog.ShowDialog(); } #endif }