new regions and starting to split to functions

This commit is contained in:
2021-10-09 12:55:15 +03:00
parent 415838753c
commit 060c8ccc4e
2 changed files with 30 additions and 47 deletions

View File

@@ -1,88 +1,62 @@
namespace Installizer namespace Installizer {
{ class Registrayzier {
class Registrayzier
{
private string regJson; private string regJson;
private string[] regFiles; private string[] regFiles;
private System.Collections.Generic.List<System.Collections.Generic.Dictionary<string, string>> listOfRegistries = new(); private System.Collections.Generic.List<System.Collections.Generic.Dictionary<string, string>> listOfRegistries = new();
public Registrayzier(string Folder) public Registrayzier(string Folder) {
{
this.regFiles = System.IO.Directory.GetFiles(Folder, "*.reg", System.IO.SearchOption.AllDirectories); this.regFiles = System.IO.Directory.GetFiles(Folder, "*.reg", System.IO.SearchOption.AllDirectories);
} }
private string[] CropLocations(string regFileText) private string[] CropLocations(string regFileText) {
{
return regFileText.Split("[")[1..^0]; return regFileText.Split("[")[1..^0];
} }
private string GetKey(string regFileText) private string GetKey(string regFileText) {
{
regFileText = regFileText.Replace(@"\", @"\\"); regFileText = regFileText.Replace(@"\", @"\\");
if (regFileText.StartsWith("hk")) if (regFileText.StartsWith("hk")) {
{
regFileText = regFileText.Replace("hklm", "HKEY_LOCAL_MACHINE").Replace("hkcu", "HKEY_CURRENT_USER").Replace("hkcr", @"HKEY_LOCAL_MACHINE\SOFTWARE\Classes"); regFileText = regFileText.Replace("hklm", "HKEY_LOCAL_MACHINE").Replace("hkcu", "HKEY_CURRENT_USER").Replace("hkcr", @"HKEY_LOCAL_MACHINE\SOFTWARE\Classes");
} }
if (regFileText.Contains(']')) if (regFileText.Contains(']')) {
{
return regFileText.Split("]")[0]; return regFileText.Split("]")[0];
} } else if (regFileText.Contains("\r\n")) {
else if (regFileText.Contains("\r\n"))
{
return regFileText.Split("\r\n")[0]; return regFileText.Split("\r\n")[0];
} } else if (regFileText.Contains("\n")) {
else if (regFileText.Contains("\n"))
{
return regFileText.Split("\n")[0]; return regFileText.Split("\n")[0];
} }
return regFileText; return regFileText;
} }
private string[]? SplitReg(string regFileText) private string[]? SplitReg(string regFileText) {
{ if (regFileText.Contains("=")) {
if (regFileText.Contains("="))
{
return regFileText.Split("="); return regFileText.Split("=");
} }
return null; return null;
} }
private string GetName(string regFileText) private string GetName(string regFileText) {
{
string name = SplitReg(regFileText)[0] ?? ""; string name = SplitReg(regFileText)[0] ?? "";
return name; return name;
} }
private string GetType(string regFileText) private string GetType(string regFileText) {
{
string type = SplitReg(regFileText)[1] ?? ""; string type = SplitReg(regFileText)[1] ?? "";
if (type.Length == 0) if (type.Length == 0) {
{
return "None"; return "None";
} } else if (type.StartsWith("\"")) {
else if (type.StartsWith("\""))
{
return "string"; return "string";
} } else if (type.StartsWith("hex")) {
else if (type.StartsWith("hex"))
{
return "hex"; return "hex";
} }
return "dword"; return "dword";
} }
private string GetValue(string regFileText) private string GetValue(string regFileText) {
{
string value; string value;
string tempValue = SplitReg(regFileText)[1]; string tempValue = SplitReg(regFileText)[1];
string type = GetType(regFileText); string type = GetType(regFileText);
if(type == "string") if (type == "string") {
{
value = tempValue; value = tempValue;
} } else if (type == "dword") {
else if(type == "dword")
{
value = tempValue.Split("dword:")[1]; value = tempValue.Split("dword:")[1];
} } else {
else
{
value = ""; value = "";
} }
return value; return value;
} }
//private string //private string
} }
} }

View File

@@ -255,6 +255,15 @@ namespace Installizer {
// trigger.StartBoundary = new DateTime[dates.Length]; // trigger.StartBoundary = new DateTime[dates.Length];
//} //}
#region Exports
private static string TaskNameExport(Tasker task) {
return task.TaskName;
}
private static string TaskPathExport(Tasker task) {
return task.TaskPath;
}
//private static string
#endregion
#region Jsoner #region Jsoner
public static void ExportJson(string path, Tasker task) { public static void ExportJson(string path, Tasker task) {
var tas = Newtonsoft.Json.JsonConvert.SerializeObject(task, Newtonsoft.Json.Formatting.Indented); var tas = Newtonsoft.Json.JsonConvert.SerializeObject(task, Newtonsoft.Json.Formatting.Indented);