Program.cs
4.65 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Threading;
using Microsoft.Web.Administration;
using System.Management;
using System.Diagnostics;
using Vrh.Log4Pro.MaintenanceConsole.ColorConsoleNS;
using Vrh.Log4Pro.MaintenanceConsole.MenuNS;
using Vrh.Log4Pro.MaintenanceConsole.ToolsNS;
using Vrh.Log4Pro.MaintenanceConsole.WebApplicationManagerNS;
using Vrh.Log4Pro.MaintenanceConsole.WindowsServiceManagerNS;
using Vrh.Log4Pro.MaintenanceConsole.BackupPackageManagerNS;
using Vrh.Log4Pro.MaintenanceConsole.SQLDataBaseManagerNS;
using Vrh.Log4Pro.MaintenanceConsole.ScheduledTaskManagerNS;
using Vrh.Log4Pro.MaintenanceConsole.MSMQManagerNS;
using Vrh.Log4Pro.MaintenanceConsole.FileCleanerManagerNS;
using Vrh.Log4Pro.MaintenanceConsole.MaintenanceToolManagerNS;
using Vrh.Log4Pro.MaintenanceConsole.UserManagerNS;
using Vrh.Log4Pro.MaintenanceConsole.InstallManagerNS;
using Vrh.Log4Pro.MaintenanceConsole.CommandLineParserNS;
using Vrh.XmlProcessing;
using VRH.Common;
using System.Xml.Linq;
using System.Reflection;
namespace Vrh.Log4Pro.MaintenanceConsole
{
class Program
{
static void Main(string[] args)
{
Tests.T3();
return;
var startassystemstr = CommandLine.GetCommandLineArgument(args, CLP.CMD_STARTASSYSTEM);
var startassystem = startassystemstr!=null && startassystemstr.ToLower() == "yes";
OtherTools.StartAsAdmin();
OtherTools.StartAsSystem(silent:startassystem);
var forcedmodulekey = CommandLine.GetCommandLineArgument(args, CLP.CMD_MODULE);
var commandmode = !string.IsNullOrEmpty(forcedmodulekey);
var silentmode = commandmode && !string.IsNullOrEmpty(CommandLine.GetCommandLineArgument(args, CLP.CMD_SILENT, switchtype: true));
ColorConsole.SilentMode=silentmode;
Menu.SetCommandMode(commandmode);
var appconfigpath = CommandLine.GetCommandLineArgument(args, CLP.CMD_APPCONFIG);
CommandLine.SetAppConfigFile(appconfigpath);
try { ColorConsole.SetWindowSize(120, 64); }
catch
{
ColorConsole.WriteLine("Change the size of the console fonts smaller!");
ColorConsole.ReadKey();
return;
}
if (!Tools.IsElevated)
{
ColorConsole.WriteLine("Run as administartor!");
ColorConsole.ReadKey();
return;
}
var mm = new Menu("Log4ProIS Maintenance Console")
.AddMenuItem(new Menu.Item(CLP.Module.WebApplicationManager.KEY, "Web Application Manager", WebApplicationManager.Execute, new Menu.ExecutorParameter(args: args)))
.AddMenuItem(new Menu.Item(CLP.Module.WindowsServiceManager.KEY, "Windows Service Manager", WindowsServiceManager.Execute, new Menu.ExecutorParameter(args: args)))
.AddMenuItem(new Menu.Item(CLP.Module.FileCleanerManager.KEY, "File Cleaner Manager", FileCleanerManager.Execute, new Menu.ExecutorParameter(args: args)))
.AddMenuItem(new Menu.Item(CLP.Module.ScheduledTaskManager.KEY, "Scheduled Task Manager", ScheduledTaskManager.Execute, new Menu.ExecutorParameter(args: args)))
.AddMenuItem(new Menu.Item(CLP.Module.MSMQManager.KEY, "MS MessageQueue (MSMQ) Manager", MSMQManager.Execute, new Menu.ExecutorParameter(args: args)))
.AddMenuItem(new Menu.Item(CLP.Module.BackupPackageManager.KEY, "Backup Package Manager", BackupPackageManager.Execute, new Menu.ExecutorParameter(args: args)))
.AddMenuItem(new Menu.Item(CLP.Module.SQLDataBaseManager.KEY, "SQL Database Manager", SQLDataBaseManager.Execute, new Menu.ExecutorParameter(args: args)))
.AddMenuItem(new Menu.Item(CLP.Module.Log4ProUserManager.KEY, "Log4Pro User Manager", UserManager.Execute, new Menu.ExecutorParameter(args: args)))
.AddMenuItem(new Menu.Item(CLP.Module.InstallManager.KEY, "Install Manager", InstallManager.Execute, new Menu.ExecutorParameter(args: args)))
.AddMenuItem(new Menu.ItemSeparator('-'))
.AddMenuItem(new Menu.Item(CLP.Module.MaintenanceToolManager.KEY, "Maintenance tools", MaintenanceToolManager.Execute, new Menu.ExecutorParameter(args: args)))
.SetMenuHeaderDisplayer(ComputerInfo.DisplayThis)
.SetSelectionMode(Menu.SelectionMode.Single);
mm.ExecuteMenu(forcedmodulekey);
ColorConsole.PressAnykeyToContinue();
}
}
#region MaintenanceConsoleXmlProcessor class
public class MaintenanceConsoleXmlProcessor : XmlParser
{
public string Xml_Header;
#region constructor
public MaintenanceConsoleXmlProcessor(string xmlcs, string basefolder, string lcid) : base(xmlcs, basefolder, lcid, null)
{
Xml_Header = GetValue(GetXElement(nameof(XmlStructure.Header)),"");
}
#endregion constructor
#region XmlStructure
public static class XmlStructure
{
public static class Header { }
}
#endregion XmlStructure
}
#endregion MaintenanceConsoleXmlProcessor class
}