Changeset 2600 for trunk/sources/HeuristicLab
- Timestamp:
- 01/05/10 15:31:21 (15 years ago)
- Location:
- trunk/sources/HeuristicLab
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab/Files.txt
r2598 r2600 1 1 ; This line is skipped. DO NOT TOUCH THIS line! 2 2 ; List of project directories and file names separated by ':' that are part of the installation 3 4 HeuristicLab.PluginInfrastructure:ICSharpCode.SharpZipLib License.txt 5 HeuristicLab.PluginInfrastructure:ICSharpCode.SharpZipLib.dll 3 6 4 7 ALGLIB:ALGLIB.dll -
trunk/sources/HeuristicLab/Program.cs
r2593 r2600 21 21 22 22 using System; 23 using System.Collections.Generic;24 using System.Windows.Forms;25 using System.Xml;26 using System.Threading;27 using System.Text;28 using System.Linq;29 using HeuristicLab.PluginInfrastructure;30 using HeuristicLab.PluginInfrastructure.Advanced;31 using System.Runtime.InteropServices;32 using HeuristicLab.PluginInfrastructure.Starter;33 using System.IO;34 23 35 24 namespace HeuristicLab { … … 37 26 [STAThread] 38 27 static void Main(string[] args) { 39 if (args.Length == 0) { // normal mode 40 try { 41 Application.EnableVisualStyles(); 42 Application.SetCompatibleTextRenderingDefault(false); 43 Application.Run(new StarterForm()); 44 } 45 catch (Exception ex) { 46 ShowErrorMessageBox(ex); 47 } 48 49 } else { 50 var cmd = args[0].ToUpperInvariant(); 51 string pluginDir = Path.GetFullPath(Application.StartupPath); 52 switch (cmd) { 53 case "START": { 54 if (args.Length != 2) { 55 PrintUsage(); 56 } else { 57 Application.EnableVisualStyles(); 58 Application.SetCompatibleTextRenderingDefault(false); 59 Application.Run(new StarterForm(args[1])); 60 } 61 break; 62 } 63 case "SHOW": { 64 InstallationManagerConsole managerConsole = new InstallationManagerConsole(pluginDir); 65 managerConsole.Show(args.Skip(1)); 66 break; 67 } 68 case "INSTALL": { 69 InstallationManagerConsole managerConsole = new InstallationManagerConsole(pluginDir); 70 managerConsole.Install(args.Skip(1)); 71 break; 72 } 73 case "UPDATE": { 74 InstallationManagerConsole managerConsole = new InstallationManagerConsole(pluginDir); 75 managerConsole.Update(args.Skip(1)); 76 break; 77 } 78 case "REMOVE": { 79 InstallationManagerConsole managerConsole = new InstallationManagerConsole(pluginDir); 80 managerConsole.Remove(args.Skip(1)); 81 break; 82 } 83 default: PrintUsage(); break; 84 } 85 } 86 } 87 88 private static void PrintUsage() { 89 Console.WriteLine("Usage: HeuristicLab.exe <command> <args>"); 90 Console.WriteLine("Commands:"); 91 Console.WriteLine("\tstart <application name>"); 92 Console.WriteLine("\tshow <plugin name(s)>"); 93 Console.WriteLine("\tupdate <plugin name(s)>"); 94 Console.WriteLine("\tremove <plugin name(s)>"); 95 Console.WriteLine("\tinstall <plugin name(s)>"); 96 } 97 98 private static void ShowErrorMessageBox(Exception ex) { 99 MessageBox.Show(null, 100 BuildErrorMessage(ex), 101 "Error - " + ex.GetType().Name, 102 MessageBoxButtons.OK, 103 MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly); 104 } 105 106 private static string BuildErrorMessage(Exception ex) { 107 StringBuilder sb = new StringBuilder(); 108 sb.Append("Sorry, but something went wrong!\n\n" + ex.Message + "\n\n" + ex.StackTrace); 109 110 while (ex.InnerException != null) { 111 ex = ex.InnerException; 112 sb.Append("\n\n-----\n\n" + ex.Message + "\n\n" + ex.StackTrace); 113 } 114 return sb.ToString(); 28 HeuristicLab.PluginInfrastructure.Main.Run(args); 115 29 } 116 30 }
Note: See TracChangeset
for help on using the changeset viewer.