diff --git a/Vrh.Log4Pro.MaintenanceConsole/ConsoleFunction - CommandLineParser.cs b/Vrh.Log4Pro.MaintenanceConsole/ConsoleFunction - CommandLineParser.cs
index 1b0d388..b90a340 100644
--- a/Vrh.Log4Pro.MaintenanceConsole/ConsoleFunction - CommandLineParser.cs
+++ b/Vrh.Log4Pro.MaintenanceConsole/ConsoleFunction - CommandLineParser.cs
@@ -206,6 +206,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.CommandLineParserNS
{
public const string CMD_WEBAPPS = "-WEBAPPS";
public static class Register { public const string KEY = "WAR"; }
+ public static class ConfigureIIS { public const string KEY = "IIS"; }
public static class Unregister { public const string KEY = "WAU"; }
public static class SetImpersonateIdentity { public const string KEY = "WAI"; }
public static class PoolStart { public const string KEY = "APS"; }
@@ -282,14 +283,24 @@ namespace Vrh.Log4Pro.MaintenanceConsole.CommandLineParserNS
public static class RelocatePhysicalFiles { public const string KEY = "COP"; }
}
}
+
+ public static class InstallManager
+ {
+ public const string KEY = "INM";
+ public static class Functions
+ {
+ public static class EnvironmentInstall { public const string KEY = "ENV"; }
+ public static class RestartServer { public const string KEY = "RST"; }
+ public static class ConfigureIIS { public const string KEY = "IIS"; }
+ }
+ }
public static class MaintenanceToolManager
{
public const string KEY = "TOL";
public static class Functions
{
public static class RegexTester { public const string KEY = "RGX"; }
- public static class Tool1 { public const string KEY = "TL1"; }
- public static class Tool2 { public const string KEY = "TL2"; }
+ public static class Tool { public const string KEY = "TOL"; }
}
}
}
diff --git a/Vrh.Log4Pro.MaintenanceConsole/ConsoleFunction - Tools - Membership.cs b/Vrh.Log4Pro.MaintenanceConsole/ConsoleFunction - Tools - Membership.cs
index 8e80f48..c832174 100644
--- a/Vrh.Log4Pro.MaintenanceConsole/ConsoleFunction - Tools - Membership.cs
+++ b/Vrh.Log4Pro.MaintenanceConsole/ConsoleFunction - Tools - Membership.cs
@@ -421,7 +421,6 @@ namespace Vrh.Log4Pro.MaintenanceConsole.ToolsNS
///
public static VRH.Common.ReturnInfoJSON RolesToUser(string rolenamecommalist, string usernamecommalist)
{
- DAL.RoleGroup urg;
ReturnInfoJSON result = new ReturnInfoJSON() { ReturnMessage = "Assignment was successful!" };
try
{
diff --git a/Vrh.Log4Pro.MaintenanceConsole/ConsoleFunction - Tools.cs b/Vrh.Log4Pro.MaintenanceConsole/ConsoleFunction - Tools.cs
index 28ab78e..df3d22b 100644
--- a/Vrh.Log4Pro.MaintenanceConsole/ConsoleFunction - Tools.cs
+++ b/Vrh.Log4Pro.MaintenanceConsole/ConsoleFunction - Tools.cs
@@ -174,5 +174,40 @@ namespace Vrh.Log4Pro.MaintenanceConsole.ToolsNS
if (extension == null) { extension = ".tmp"; }
return Path.Combine(directorypath, DateTime.Now.ToString($"TMP_yyyyMMddHHmmssfffffff.{extension}"));
}
+ public static void ShutDown(ShutDownMode oparation)
+ {
+ string filename = string.Empty;
+ string arguments = string.Empty;
+ switch (oparation)
+ {
+ case ShutDownMode.ShutDown:
+ filename = "shutdown.exe";
+ arguments = "-s";
+ break;
+ case ShutDownMode.Restart:
+ filename = "shutdown.exe";
+ arguments = "-r";
+ break;
+ case ShutDownMode.Logoff:
+ filename = "shutdown.exe";
+ arguments = "-l";
+ break;
+ case ShutDownMode.Lock:
+ filename = "Rundll32.exe";
+ arguments = "User32.dll, LockWorkStation";
+ break;
+ case ShutDownMode.Hibernation:
+ filename = @"%windir%\system32\rundll32.exe";
+ arguments = "PowrProf.dll, SetSuspendState";
+ break;
+ case ShutDownMode.Sleep:
+ filename = "Rundll32.exe";
+ arguments = "powrprof.dll, SetSuspendState 0,1,0";
+ break;
+ }
+ ProcessStartInfo startinfo = new ProcessStartInfo(filename, arguments);
+ Process.Start(startinfo);
+ }
+ public enum ShutDownMode { Sleep, Hibernation,Lock,Logoff,Restart,ShutDown,}
}
}
diff --git a/Vrh.Log4Pro.MaintenanceConsole/Manager - InstallManager.cs b/Vrh.Log4Pro.MaintenanceConsole/Manager - InstallManager.cs
new file mode 100644
index 0000000..ac04e4a
--- /dev/null
+++ b/Vrh.Log4Pro.MaintenanceConsole/Manager - InstallManager.cs
@@ -0,0 +1,163 @@
+using System;
+using System.IO;
+using System.Configuration.Install;
+using System.Collections.Generic;
+using System.Linq;
+using System.ServiceProcess;
+using System.Text;
+using System.Threading;
+using System.Threading.Tasks;
+
+using Microsoft.Web.Administration;
+using System.Management;
+using System.Diagnostics;
+
+using Vrh.Log4Pro.MaintenanceConsole.MenuNS;
+using Vrh.Log4Pro.MaintenanceConsole.ColorConsoleNS;
+using Vrh.Log4Pro.MaintenanceConsole.CommandLineParserNS;
+using Vrh.Log4Pro.MaintenanceConsole.ToolsNS;
+using Vrh.Log4Pro.MaintenanceConsole.WebApplicationManagerNS;
+
+
+using Vrh.XmlProcessing;
+using System.Xml.Linq;
+using System.Text.RegularExpressions;
+
+namespace Vrh.Log4Pro.MaintenanceConsole.InstallManagerNS
+{
+ #region MaintenanceTools class
+ public static class InstallManager
+ {
+ private const string XMLCONNECTIONSTRING = "config=MAINTENANCECONSOLE_INSTALLMANAGER;";
+ private const string XMLCONNECTIONSTRING_DEFAULT = "file=Config.Xml;element=InstallManager;";
+
+ #region Execute
+ public static object Execute(object o1 = null, object o2 = null)
+ {
+ var args = (o1 as Menu.ExecutorParameter).Args;
+ string xmlcs = XMLCONNECTIONSTRING;
+ var config = new InstallManagerXmlParser(xmlcs, "", "hu-HU");
+
+ var epWA = WebApplicationManager.GetExecutorParameter(args);
+
+ var menufunctions = new Menu("Install Manager", "Select function!")
+ .AddMenuItem(new Menu.Item(CLP.Module.InstallManager.Functions.EnvironmentInstall.KEY, "Environment install", EnvironmentInstall, new Menu.ExecutorParameter(cfg: config, null)))
+ .AddMenuItem(new Menu.Item(CLP.Module.WebApplicationManager.Function.ConfigureIIS.KEY, "Configure IIS Default App Pool", WebApplicationManager.ConfigIIS, epWA))
+ .AddMenuItem(new Menu.ItemSeparator())
+ .AddMenuItem(new Menu.Item(CLP.Module.InstallManager.Functions.RestartServer.KEY, "Restart server", RestartServer, new Menu.ExecutorParameter(cfg: config, null)))
+ .SetSelectionMode(Menu.SelectionMode.Single);
+ menufunctions.ExecuteMenu();
+ return null;
+ }
+ #endregion Execute
+
+ #region First level Executors with UI
+ #region EnvironmentInstall
+ private static object EnvironmentInstall(object parameter, object o)
+ {
+ var config = (parameter as Menu.ExecutorParameter).GetConfig();
+ InstallManagerXmlParser.XmlStructure.EnvironmentInstall.WindowsFeatureList.Attributes.Group.Values grp;
+ InstallManagerXmlParser.XmlStructure.EnvironmentInstall.WindowsFeatureList.Attributes.OS.Values os;
+ string answer;
+ foreach (var wfg in config.WindowsFeatureGroups)
+ {
+ grp = wfg.Group;
+ os = wfg.OS;
+ answer = ColorConsole.ReadLine($"Do You want to configure feature group '{grp}' for os '{os}'?(Y/N)", ConsoleColor.Yellow);
+ if (answer.ToUpper() == "Y") { EnableWindowsFeatures(grp, os, config); }
+ };
+ return o;
+ }
+ private static void EnableWindowsFeatures(InstallManagerXmlParser.XmlStructure.EnvironmentInstall.WindowsFeatureList.Attributes.Group.Values grp
+ , InstallManagerXmlParser.XmlStructure.EnvironmentInstall.WindowsFeatureList.Attributes.OS.Values os, InstallManagerXmlParser environmentinstallconfig)
+ {
+ ColorConsole.WriteLine($"Enableing {grp} features for os {os}...",ConsoleColor.Yellow);
+ foreach (var fn in environmentinstallconfig.GetFeatureList(os,grp))
+ {
+ if (string.IsNullOrWhiteSpace(fn) || fn.StartsWith("#")) { continue; }
+ ColorConsole.WriteLine($"Enableing {grp} features for os {os}. Feature name: {fn}.",ConsoleColor.Yellow);
+ string response;
+ switch (os)
+ {
+ case InstallManagerXmlParser.XmlStructure.EnvironmentInstall.WindowsFeatureList.Attributes.OS.Values.WS2016:
+ response = Tools.ExecuteAndGetStdIo("Install-WindowsFeature", $"-Name {fn} -IncludeAllSubFeature -IncludeManagementTools");
+ break;
+ case InstallManagerXmlParser.XmlStructure.EnvironmentInstall.WindowsFeatureList.Attributes.OS.Values.W7:
+ response = Tools.ExecuteAndGetStdIo("dism", $"/online /Enable-Feature /FeatureName:{fn}");
+ break;
+ default: break;
+ }
+ }
+ }
+ #endregion EnvironmentInstall
+ #region Restart server
+ private static object RestartServer(object parameter, object o)
+ {
+ var config = parameter as InstallManagerXmlParser;
+ string answer = ColorConsole.ReadLine($"Do You want to restart server?(Y/N)", ConsoleColor.Yellow);
+ if (answer.ToUpper() == "Y")
+ {
+ ColorConsole.WriteLine($"Restarting...", ConsoleColor.Yellow);
+ Tools.ShutDown(Tools.ShutDownMode.Restart);
+ }
+ return o;
+ }
+ #endregion Restart server
+
+ #endregion First level Executors with UI
+ }
+ #endregion MaintenanceTools class
+
+ #region InstallManagerXmlParser class
+ public class InstallManagerXmlParser: XmlParser
+ {
+ public InstallManagerXmlParser(string xmlcs, string basefolder, string lcid) : base(xmlcs, basefolder, lcid, null)
+ {
+ WindowsFeatureGroups = new List();
+ foreach (var wfgXml in GetAllXElements(nameof(InstallManagerXmlParser.XmlStructure.EnvironmentInstall),nameof(InstallManagerXmlParser.XmlStructure.EnvironmentInstall.WindowsFeatureList)))
+ {
+ try { WindowsFeatureGroups.Add(new WindowsFeatures(wfgXml)); }
+ catch { }
+ }
+ }
+ public class WindowsFeatures: XmlLinqBase
+ {
+ public WindowsFeatures(XElement wfgXml)
+ {
+ OS = GetValue(nameof(InstallManagerXmlParser.XmlStructure.EnvironmentInstall.WindowsFeatureList.Attributes.OS), wfgXml, InstallManagerXmlParser.XmlStructure.EnvironmentInstall.WindowsFeatureList.Attributes.OS.DEFAULT);
+ Group = GetValue(nameof(InstallManagerXmlParser.XmlStructure.EnvironmentInstall.WindowsFeatureList.Attributes.Group), wfgXml, InstallManagerXmlParser.XmlStructure.EnvironmentInstall.WindowsFeatureList.Attributes.Group.DEFAULT);
+ FeatureList = wfgXml.Value?.Split(new char[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries).Select(x => x.Trim()).ToList();
+ }
+ public InstallManagerXmlParser.XmlStructure.EnvironmentInstall.WindowsFeatureList.Attributes.OS.Values OS;
+ public InstallManagerXmlParser.XmlStructure.EnvironmentInstall.WindowsFeatureList.Attributes.Group.Values Group;
+ public List FeatureList;
+ }
+ public List WindowsFeatureGroups;
+ public List GetFeatureList(InstallManagerXmlParser.XmlStructure.EnvironmentInstall.WindowsFeatureList.Attributes.OS.Values os, InstallManagerXmlParser.XmlStructure.EnvironmentInstall.WindowsFeatureList.Attributes.Group.Values group) { return WindowsFeatureGroups?.FirstOrDefault(x => x.OS == os && x.Group == group)?.FeatureList; }
+ #region XmlStructure
+ public static class XmlStructure
+ {
+ public static class EnvironmentInstall
+ {
+ public static class WindowsFeatureList
+ {
+ public static class Attributes
+ {
+ public static class OS
+ {
+ public enum Values { WS2016, W7, }
+ public const Values DEFAULT = Values.WS2016;
+ }
+ public static class Group
+ {
+ public enum Values { ALL, IIS, MSMQ, DOTNET, }
+ public const Values DEFAULT = Values.IIS;
+ }
+ }
+ }
+ }
+ }
+ #endregion XmlStructure
+ }
+ #endregion InstallManagerXmlParser class
+}
diff --git a/Vrh.Log4Pro.MaintenanceConsole/Manager - MSMQManager.cs b/Vrh.Log4Pro.MaintenanceConsole/Manager - MSMQManager.cs
new file mode 100644
index 0000000..a0aa1ab
--- /dev/null
+++ b/Vrh.Log4Pro.MaintenanceConsole/Manager - MSMQManager.cs
@@ -0,0 +1,83 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Messaging;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Vrh.Log4Pro.MaintenanceConsole
+{
+ class Manager___MSMQManager
+ {
+ void CreateQueue()
+ {
+ string ccs = @"localhost\private$\ljskskin";
+ string msmqservername = "";
+ bool msmqprivate = true;
+ string msmqname = "";
+ string msmqFullname = msmqservername + "\\" + (msmqprivate ? "private$\\" : msmqname);
+ if (!MessageQueue.Exists(ccs)) { MessageQueue.Create(msmqFullname); }
+ }
+ void DeleteQueue()
+ {
+ string ccs = @"localhost\private$\ljskskin";
+ if (MessageQueue.Exists(ccs)) { MessageQueue.Delete(ccs); }
+ }
+ void Purge()
+ {
+ string ccs = @"localhost\private$\ljskskin";
+ var msmq = new MessageQueue(ccs);
+ msmq.Purge();
+ }
+ void Peek()
+ {
+ string ccs = @"localhost\private$\ljskskin";
+ var msmq = new MessageQueue(ccs);
+
+ Message m = msmq.Peek(new TimeSpan(0));
+ m.BodyStream.Position = 0;
+ var sr = new System.IO.StreamReader(m.BodyStream);
+ var label = m.Label;
+ var body = sr.ReadToEnd().Replace(((char)0).ToString(), "");
+ }
+ void Read()
+ {
+ string ccs = @"localhost\private$\ljskskin";
+ var msmq = new MessageQueue(ccs);
+ var frmA = new System.Messaging.ActiveXMessageFormatter();
+ var frmB = new System.Messaging.BinaryMessageFormatter();
+ var frmX = new System.Messaging.XmlMessageFormatter();
+ msmq.Formatter = frmA;
+
+ Message m = msmq.Receive(new TimeSpan(0));
+ m.BodyStream.Position = 0;
+
+ Encoding enc = System.Text.Encoding.UTF8;
+ enc = System.Text.Encoding.UTF7;
+ enc = System.Text.Encoding.UTF32;
+ enc = System.Text.Encoding.Unicode;
+ enc = System.Text.Encoding.BigEndianUnicode;
+ enc = System.Text.Encoding.ASCII;
+ enc = System.Text.Encoding.Default;
+ var sr = new System.IO.StreamReader(m.BodyStream, enc);
+ var label = m.Label;
+ var body = sr.ReadToEnd().Replace(((char)0).ToString(), "");
+ }
+ void Send()
+ {
+ string ccs = @"localhost\private$\ljskskin";
+
+ var frmA = new System.Messaging.ActiveXMessageFormatter();
+ var msmq = new MessageQueue(ccs);
+ msmq.Formatter = frmA;
+
+ string messagetosend = "";
+ string messagelabel = "";
+
+ Encoding enc = System.Text.Encoding.UTF8;
+ byte[] encodedmessage = enc.GetBytes(messagetosend);
+
+ msmq.Send(encodedmessage, messagelabel);
+ }
+ }
+}
diff --git a/Vrh.Log4Pro.MaintenanceConsole/Manager - MaintenanceToolManager.cs b/Vrh.Log4Pro.MaintenanceConsole/Manager - MaintenanceToolManager.cs
index 02de6c4..5bd36cf 100644
--- a/Vrh.Log4Pro.MaintenanceConsole/Manager - MaintenanceToolManager.cs
+++ b/Vrh.Log4Pro.MaintenanceConsole/Manager - MaintenanceToolManager.cs
@@ -15,6 +15,8 @@ using System.Diagnostics;
using Vrh.Log4Pro.MaintenanceConsole.MenuNS;
using Vrh.Log4Pro.MaintenanceConsole.ColorConsoleNS;
using Vrh.Log4Pro.MaintenanceConsole.CommandLineParserNS;
+using Vrh.Log4Pro.MaintenanceConsole.ToolsNS;
+
using Vrh.XmlProcessing;
using System.Xml.Linq;
@@ -37,8 +39,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.MaintenanceToolManagerNS
var menufunctions = new Menu("Maintenance Tools", "Select function!")
.AddMenuItem(new Menu.Item(CLP.Module.MaintenanceToolManager.Functions.RegexTester.KEY, "Regex tester", RegexTester,new Menu.ExecutorParameter(cfg:config)))
- .AddMenuItem(new Menu.Item(CLP.Module.MaintenanceToolManager.Functions.Tool1.KEY, "Tool #1", Tool1, new Menu.ExecutorParameter(cfg: config, null)))
- .AddMenuItem(new Menu.Item(CLP.Module.MaintenanceToolManager.Functions.Tool2.KEY, "Tool #2", Tool2, new Menu.ExecutorParameter(cfg: config, null)))
+ .AddMenuItem(new Menu.Item(CLP.Module.MaintenanceToolManager.Functions.Tool.KEY, "Tool sample", Tool2, new Menu.ExecutorParameter(cfg: config, null)))
.SetSelectionMode(Menu.SelectionMode.Single);
menufunctions.ExecuteMenu();
return null;
@@ -80,13 +81,8 @@ namespace Vrh.Log4Pro.MaintenanceConsole.MaintenanceToolManagerNS
return o;
}
#endregion RegexTester
+
#region Tool templates
- private static object Tool1(object parameter, object o)
- {
- var config = parameter as MaintenanceToolsXmlProcessor;
- ColorConsole.ReadLine($"{nameof(Tool1)} is not ready yet...",ConsoleColor.Yellow);
- return o;
- }
private static object Tool2(object parameter, object o)
{
var config = parameter as MaintenanceToolsXmlProcessor;
@@ -102,6 +98,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.MaintenanceToolManagerNS
public class MaintenanceToolsXmlProcessor : XmlParser
{
public XElement RegexpTesterConfig;
+
#region constructor
public MaintenanceToolsXmlProcessor(string xmlcs, string basefolder, string lcid) : base(xmlcs, basefolder, lcid, null)
{
diff --git a/Vrh.Log4Pro.MaintenanceConsole/Manager - SQLDataBaseManager.cs b/Vrh.Log4Pro.MaintenanceConsole/Manager - SQLDataBaseManager.cs
index 5e1017a..31325f1 100644
--- a/Vrh.Log4Pro.MaintenanceConsole/Manager - SQLDataBaseManager.cs
+++ b/Vrh.Log4Pro.MaintenanceConsole/Manager - SQLDataBaseManager.cs
@@ -67,10 +67,10 @@ namespace Vrh.Log4Pro.MaintenanceConsole.SQLDataBaseManagerNS
if (enabletabledatabackup) { SQLDataBaseManagerCore.BackupSqlData(sqld, timestamp); }
}
}
- #endregion Execute
+ #endregion Execute
- #region First level Executors with UI
- private static object CreateDataScripts(object parameter, object o)
+ #region First level Executors with UI
+ private static object CreateDataScripts(object parameter, object o)
{
var config = (parameter as Menu.ExecutorParameter).GetConfig();
var args = (parameter as Menu.ExecutorParameter).Args;
@@ -937,7 +937,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole.SQLDataBaseManagerNS
#endregion BackupSqlData
#endregion private methods
}
- #endregion class SQLDataBaseManager
+#endregion class SQLDataBaseManager
#region SQLDataBaseManager class
public class SQLDataBaseManagerXmlProcessor : XmlParser
diff --git a/Vrh.Log4Pro.MaintenanceConsole/Manager - WebApplicationManager.cs b/Vrh.Log4Pro.MaintenanceConsole/Manager - WebApplicationManager.cs
index f3c0ee7..c841ae5 100644
--- a/Vrh.Log4Pro.MaintenanceConsole/Manager - WebApplicationManager.cs
+++ b/Vrh.Log4Pro.MaintenanceConsole/Manager - WebApplicationManager.cs
@@ -13,6 +13,7 @@ using System.Diagnostics;
using Vrh.Log4Pro.MaintenanceConsole.CommandLineParserNS;
using Vrh.Log4Pro.MaintenanceConsole.MenuNS;
using Vrh.Log4Pro.MaintenanceConsole.ColorConsoleNS;
+using Vrh.Log4Pro.MaintenanceConsole.ToolsNS;
using Vrh.XmlProcessing;
using VRH.Common;
@@ -23,9 +24,16 @@ namespace Vrh.Log4Pro.MaintenanceConsole.WebApplicationManagerNS
#region WebApplicationManager
public static class WebApplicationManager
{
- private const string XMLCONNECTIONSTRING = "config=MAINTENANCECONSOLE_WEBAPPLICATIONMANAGER;";
+ internal const string XMLCONNECTIONSTRING = "config=MAINTENANCECONSOLE_WEBAPPLICATIONMANAGER;";
private const string XMLCONNECTIONSTRING_DEFAULT = "file=Config.Xml;element=WebApplications;";
+ public static Menu.ExecutorParameter GetExecutorParameter(string[] args)
+ {
+ var configWA = new WebApplicationManagerXmlProcessor(XMLCONNECTIONSTRING, "", "hu-HU");
+ var epWA = new Menu.ExecutorParameter(configWA, args);
+ return epWA;
+ }
+
#region public method: Execute
public static object Execute(object o1=null,object o2=null)
{
@@ -286,6 +294,16 @@ namespace Vrh.Log4Pro.MaintenanceConsole.WebApplicationManagerNS
ColorConsole.WriteLine($"{d.Xml_SiteName} {successstr}.");
}
}
+
+ public static object ConfigIIS(object parameters, object o)
+ {
+ var config = (parameters as Menu.ExecutorParameter).GetConfig();
+ var args = (parameters as Menu.ExecutorParameter).Args;
+
+ ColorConsole.WriteLine($"Configuring IIS default web application...",ConsoleColor.Yellow);
+ WebApplicationManagerCore.ConfigIIS();
+ return o;
+ }
private static object Register(object parameters, object o)
{
var config = (parameters as Menu.ExecutorParameter).GetConfig();
@@ -613,6 +631,18 @@ namespace Vrh.Log4Pro.MaintenanceConsole.WebApplicationManagerNS
}
#endregion private method: CollectWebAppInfo
+ public static void ConfigIIS()
+ {
+ string response = Tools.ExecuteAndGetStdIo(@"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe" ,@"/i");
+ using (ServerManager serverManager = new ServerManager())
+ {
+ ApplicationPool pool = serverManager.ApplicationPools["DefaultAppPool"];
+ pool.Enable32BitAppOnWin64 = true;
+ pool.ManagedRuntimeVersion = "v4.0";
+ CommitChanges(serverManager, pool.Name);
+ }
+ }
+
#region private method:RegisterWebApplication
public static void RegisterWebApplication(string sitename, string poolname, string appname, string poolphypath, string sitephypath, int siteport, bool recreatepool, bool recreatesite, bool recreateapp,ManagedPipelineMode plmode)
{
diff --git a/Vrh.Log4Pro.MaintenanceConsole/Program.cs b/Vrh.Log4Pro.MaintenanceConsole/Program.cs
index c90e42d..041ef89 100644
--- a/Vrh.Log4Pro.MaintenanceConsole/Program.cs
+++ b/Vrh.Log4Pro.MaintenanceConsole/Program.cs
@@ -21,6 +21,7 @@ using Vrh.Log4Pro.MaintenanceConsole.ScheduledTaskManagerNS;
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;
@@ -66,6 +67,7 @@ namespace Vrh.Log4Pro.MaintenanceConsole
.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(DisplayComputerInfo)
diff --git a/Vrh.Log4Pro.MaintenanceConsole/Vrh.Log4Pro.MaintenanceConsole.csproj b/Vrh.Log4Pro.MaintenanceConsole/Vrh.Log4Pro.MaintenanceConsole.csproj
index 1862d05..b78c8df 100644
--- a/Vrh.Log4Pro.MaintenanceConsole/Vrh.Log4Pro.MaintenanceConsole.csproj
+++ b/Vrh.Log4Pro.MaintenanceConsole/Vrh.Log4Pro.MaintenanceConsole.csproj
@@ -216,6 +216,7 @@
..\packages\System.IO.FileSystem.Primitives.4.0.1\lib\net46\System.IO.FileSystem.Primitives.dll
+
..\packages\System.Net.Http.4.1.0\lib\net46\System.Net.Http.dll
@@ -291,6 +292,8 @@
+
+
--
libgit2 0.21.2