public Application(Installer installer)
 {
     this._installer = installer;
     this.DispatcherUnhandledException += (sender, e) =>
     {
         e.Handled = true;
         installer.Log(LogLevel.Verbose, e.Exception.Message);
         installer.Quit(e.Exception.HResult);
     };
 }
            protected override void Run()
            {
                this.Engine.Log(LogLevel.Verbose, $"Bundle.Name: {this.BAManifest.Bundle.Name}");
                this.Engine.Log(LogLevel.Verbose, $"CurrentUICulture: {CultureInfo.CurrentUICulture}");

                Resources.Culture = CultureInfo.CurrentUICulture;
                AppDomain.CurrentDomain.UnhandledException += (sender, e) => this.Engine.Log(LogLevel.Verbose, e.ExceptionObject?.ToString());
                TaskLog.Occured += (sender, log) => this.Engine.Log(LogLevel.Error, $"Unhandled Exception: {log.Exception.Message}");

                this._installer = new Installer(this);
                var application = new Application(this._installer);
                var exitCode = application.Run();

                this.Engine.Quit(exitCode);
            }