/// <summary> /// Method responsible for running. /// </summary> /// <param name="bootstrapper">bootstrapping class object</param> public void Run(IBootstrapper bootstrapper) { log.Debug("going to run bootstrapping class"); Bootstrapper = bootstrapper; ConfigureModuleCatalog(); ConfigureContainer(); ConfigureApplicationInformation(); ShowSplashScreen(); PublishSystemMessage("Splash screen opened"); AuthenticateUser(); InitialiseShell(); if (Container.IsTypeRegistered <IModuleManager>()) { log.Debug("module manager is registered going to initialize modules"); InitializeModules(); Bootstrapper.PostModuleInitialization(Container); } log.Debug("going to close splash screen"); CloseSplashScreen(); PublishSystemMessage("Application Started :-)"); }