public static void Main(string[] args) { SplashScreenForm.SetCommandLineArgs(args); SplashScreenForm.SplashScreen.Show(); Application.ThreadException += new ThreadExceptionEventHandler(ShowErrorBox); ArrayList commands = null; try { string[] addInDirectories = AddInSettingsHandler.GetAddInDirectories(); AddInTreeSingleton.SetAddInDirectories(addInDirectories); commands = AddInTreeSingleton.AddInTree.GetTreeNode("/Workspace/Autostart").BuildChildItems(null); for (int i = 0; i < commands.Count - 1; ++i) { ((ICommand)commands[i]).Run(); } } catch (Exception ex) { MessageBox.Show(ex.ToString()); } finally { if (SplashScreenForm.SplashScreen != null) { SplashScreenForm.SplashScreen.Close(); } } try { if (commands.Count > 0) { ((ICommand)commands[commands.Count - 1]).Run(); } } finally { ServiceManager.Services.UnloadAllServices(); } }
public static void Main(string[] args) { bool ignoreDefaultPath = false; string[] addInDirs = AddInSettingsHandler.GetAddInDirectories(out ignoreDefaultPath); AddInTreeSingleton.SetAddInDirectories(addInDirs); ArrayList commands = null; try { ServiceManager.Services.InitializeServicesSubsystem(@"/CodeGenerator/Services"); commands = AddInTreeSingleton.AddInTree.GetTreeNode(@"/CodeGenerator/Autostart").BuildChildItems(null); for (int i = 0; i < commands.Count - 1; ++i) { ((ICommand)commands[i]).Run(); } } catch (XmlException e) { MessageBox.Show("Could not load XML :" + Environment.NewLine + e.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } catch (Exception e) { MessageBox.Show(e.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return; } try { if (commands.Count > 0) { ((ICommand)commands[commands.Count - 1]).Run(); } } catch (Exception e) { MessageBox.Show(e.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } }
public static void Main(string[] args) { commandLineArgs = args; bool noLogo = false; SplashScreenForm.SetCommandLineArgs(args); foreach (string parameter in SplashScreenForm.GetParameterList()) { switch (parameter.ToUpper()) { case "NOLOGO": noLogo = true; break; } } if (!noLogo) { SplashScreenForm.SplashScreen.Show(); } Application.ThreadException += new ThreadExceptionEventHandler(ShowErrorBox); bool ignoreDefaultPath = false; string [] addInDirs = ICSharpCode.SharpDevelop.AddInSettingsHandler.GetAddInDirectories(out ignoreDefaultPath); AddInTreeSingleton.SetAddInDirectories(addInDirs, ignoreDefaultPath); ArrayList commands = null; try { ServiceManager.Services.AddService(new MessageService()); ServiceManager.Services.AddService(new ResourceService()); ServiceManager.Services.AddService(new IconService()); ServiceManager.Services.InitializeServicesSubsystem("/Workspace/Services"); commands = AddInTreeSingleton.AddInTree.GetTreeNode("/Workspace/Autostart").BuildChildItems(null); for (int i = 0; i < commands.Count - 1; ++i) { ((ICommand)commands[i]).Run(); } } catch (XmlException e) { MessageBox.Show("Could not load XML :" + Environment.NewLine + e.Message); return; } catch (Exception e) { MessageBox.Show("Loading error, please reinstall :" + Environment.NewLine + e.ToString()); return; } finally { if (SplashScreenForm.SplashScreen != null) { SplashScreenForm.SplashScreen.Close(); } } try { // run the last autostart command, this must be the workbench starting command if (commands.Count > 0) { ((ICommand)commands[commands.Count - 1]).Run(); } } finally { // unloading services ServiceManager.Services.UnloadAllServices(); } }