protected override void OnStartup(StartupEventArgs e)
{
Tracker.StartStudio();
bool createdNew;
Task.Factory.StartNew(() =>
{
var path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "Warewolf", "Feedback");
DirectoryHelper.CleanUp(path);
DirectoryHelper.CleanUp(Path.Combine(GlobalConstants.TempLocation, "Warewolf", "Debug"));
});
// ReSharper disable once UnusedVariable
var localprocessGuard = e.Args.Length > 0
? new Mutex(true, e.Args[0], out createdNew)
: new Mutex(true, "Warewolf Studio", out createdNew);
if (createdNew)
{
_processGuard = localprocessGuard;
}
else
{
Environment.Exit(Environment.ExitCode);
}
Browser.Startup();
new Bootstrapper().Start();
base.OnStartup(e);
var settingsConfigFile = HelperUtils.GetStudioLogSettingsConfigFile();
if (!File.Exists(settingsConfigFile))
{
File.WriteAllText(settingsConfigFile, GlobalConstants.DefaultStudioLogFileConfig);
}
XmlConfigurator.ConfigureAndWatch(new FileInfo(settingsConfigFile));
_mainViewModel = MainWindow.DataContext as MainViewModel;
//2013.07.01: Ashley Lewis for bug 9817 - setup exception handler on 'this', with main window data context as the popup dialog controller
_appExceptionHandler = new AppExceptionHandler(this, _mainViewModel);
#if ! (DEBUG)
var versionChecker = new VersionChecker();
if(versionChecker.GetNewerVersion())
{
WebLatestVersionDialog dialog = new WebLatestVersionDialog();
dialog.ShowDialog();
}
#endif
}