public static void Start() { HostCore.Log.Message("Starting wizard to create a new application package."); PreConfigurationState preConfigurationState; ApplicationData applicationData; do { if (!RunPreWizard(out preConfigurationState)) { return; } if (PrepareApplicationData(preConfigurationState, out applicationData)) { break; // Successfully extracted ApplicationData from the data specified in the wizard } if ( MessageBox.Show("Failed to start a packaging process from the data specified. Please retry.", "Packaging Initialization Failed", MessageBoxButtons.RetryCancel, MessageBoxIcon.Error) != DialogResult.Retry) { return; } } while (true); PackagedApplication packagedApplication; if (!RunPackagingSequence(preConfigurationState, applicationData, out packagedApplication)) { return; } HostCore.Log.Message("Successfully constructed a package for: " + preConfigurationState.InstallerExecutable); var applicationDataFile = System.IO.Path.Combine(preConfigurationState.InstallerOutputDestination, HostCore.Configuration.Application.DefaultApplicationDataFile); if (!RunPostWizard(packagedApplication, applicationDataFile)) { MessageBox.Show("Failed to create an application data file for the packaged application.", "Unable to create application data file", MessageBoxButtons.OK, MessageBoxIcon.Error); // ToDo: // Ask user whether or not he wants to start the ApplicationConfigurationUtility // or create a recovery utility based on ApplicationConfigurationUtility return; } // Start the application, if requested. if (preConfigurationState.Autostart) { HostManager.StartProcess(applicationDataFile); } }
static void Main(string[] args) { System.Threading.Thread.CurrentThread.Name = "Main"; var parser = new CommandlineParser(args); HostManager.InitializeCore(); #if !DEBUG try { #endif if (parser.HasDefinitions) { ConfigureFromArgs(parser); HostManager.StartProcess(parser.IsDefined(CommandlineOption.ApplicationDataFile) ? parser.GetOption(CommandlineOption.ApplicationDataFile) : HostCore.Configuration.Application.DefaultApplicationDataFile); } else { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new FrmManager()); } #if !DEBUG } catch (Exception ex) { // ToDo: Refactor following code to use WinForm in stead of console window CoreBus.Log.Critical("A fatal exception occured.", ex); ProcessHelper.SetWindowState(WindowShowStyle.ShowNormal); Console.WriteLine("\r\n\r\n\r\n\r\n\r\n\r\n"); Console.WriteLine("############################################################\r\n"); Console.WriteLine(" A fatal exception occured, see below for more information.\r\n"); Console.WriteLine("############################################################\r\n"); Console.WriteLine(ex.GetType()); Console.WriteLine(" -> " + ex.Message); } #endif Console.WriteLine("\r\n\r\nPress any key to exit.\r\n"); Console.ReadLine(); }