Skip to content

Commit

Permalink
Merge pull request #12 from basharast/main
Browse files Browse the repository at this point in the history
Files, temp and processes improvements
  • Loading branch information
fadilfadz01 authored Oct 18, 2024
2 parents f50cfcf + 733198b commit 76d1cb5
Show file tree
Hide file tree
Showing 14 changed files with 1,183 additions and 163 deletions.
18 changes: 17 additions & 1 deletion Universal Updater/App.config
Original file line number Diff line number Diff line change
@@ -1,6 +1,22 @@
<?xml version="1.0" encoding="utf-8" ?>
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
</startup>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Buffers" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.3.0" newVersion="4.0.3.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Numerics.Vectors" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.1.4.0" newVersion="4.1.4.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
2 changes: 1 addition & 1 deletion Universal Updater/CheckForUpdates.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ namespace Universal_Updater
{
class CheckForUpdates
{
public static int Choice { get; private set; }
public static int Choice { get; set; }

public static string AvailableUpdates()
{
Expand Down
126 changes: 82 additions & 44 deletions Universal Updater/DownloadPackages.cs

Large diffs are not rendered by default.

57 changes: 37 additions & 20 deletions Universal Updater/GetDeviceInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,28 @@ class GetDeviceInfo
public static string[] OSVersion { get; private set; }
public static string[] SerialNumber { get; private set; }

public static void Offline()
{
if (!Program.useConnectedDevice)
{
SerialNumber = new string[] { "Dummy" };
if (Directory.Exists(Program.filteredDirectory + $@"\{SerialNumber[0]}"))
{
Directory.Delete(Program.filteredDirectory + $@"\{SerialNumber[0]}", true);
Directory.CreateDirectory(Program.filteredDirectory + $@"\{SerialNumber[0]}\Packages");
}
else
{
Directory.CreateDirectory(Program.filteredDirectory + $@"\{SerialNumber[0]}\Packages");
}
}
}

public static int GetLog()
{
getDeviceInfoProcess = new Process();
getDeviceInfoProcess.StartInfo.FileName = @"C:\ProgramData\Universal Updater\getdulogs.exe";
getDeviceInfoProcess.StartInfo.Arguments = @"-o ""C:\ProgramData\Universal Updater\DeviceLog.cab""";
getDeviceInfoProcess.StartInfo.FileName = Program.toolsDirectory + @"\i386\getdulogs.exe";
getDeviceInfoProcess.StartInfo.Arguments = @"-o """ + Program.tempDirectory + @"\DeviceLog.cab""";
getDeviceInfoProcess.StartInfo.RedirectStandardOutput = true;
getDeviceInfoProcess.StartInfo.RedirectStandardError = true;
getDeviceInfoProcess.StartInfo.RedirectStandardInput = true;
Expand All @@ -47,23 +64,23 @@ public static async Task<string[]> ReadInfo()
getDeviceInfoProcess.Start();
getDeviceInfoProcess.WaitForExit();
string logOutput = await getDeviceInfoProcess.StandardOutput.ReadToEndAsync();
File.WriteAllText(@"C:\ProgramData\Universal Updater\DeviceInfo.txt", logOutput);
CabExtractor.ExtractFile(@"C:\ProgramData\Universal Updater\DeviceLog.cab", "OEMDevicePlatform.xml", @"C:\ProgramData\Universal Updater\OEMDevicePlatform.xml");
File.WriteAllText(Program.tempDirectory + @"\DeviceInfo.txt", logOutput);
CabExtractor.ExtractFile(Program.tempDirectory + @"\DeviceLog.cab", "OEMDevicePlatform.xml", Program.tempDirectory + @"\OEMDevicePlatform.xml");
try
{
CabExtractor.ExtractFile(@"C:\ProgramData\Universal Updater\DeviceLog.cab", "UsoTroubleshooting.reg", @"C:\ProgramData\Universal Updater\UsoTroubleshooting.reg");
CabExtractor.ExtractFile(Program.tempDirectory + @"\DeviceLog.cab", "UsoTroubleshooting.reg", Program.tempDirectory + @"\UsoTroubleshooting.reg");
}
catch (FileNotFoundException) { }
try
{
CabExtractor.ExtractFile(@"C:\ProgramData\Universal Updater\DeviceLog.cab", "DuTroubleshooting.reg", @"C:\ProgramData\Universal Updater\DuTroubleshooting.reg");
CabExtractor.ExtractFile(Program.tempDirectory + @"\DeviceLog.cab", "DuTroubleshooting.reg", Program.tempDirectory + @"\DuTroubleshooting.reg");
}
catch (FileNotFoundException) { }
CabExtractor.ExtractFile(@"C:\ProgramData\Universal Updater\DeviceLog.cab", "InstalledPackages.csv", @"C:\ProgramData\Universal Updater\InstalledPackages.csv");
CabExtractor.ExtractFile(@"C:\ProgramData\Universal Updater\DeviceLog.cab", "OEMInput.xml", @"C:\ProgramData\Universal Updater\OEMInput.xml");
CabExtractor.ExtractFile(Program.tempDirectory + @"\DeviceLog.cab", "InstalledPackages.csv", Program.tempDirectory + @"\InstalledPackages.csv");
CabExtractor.ExtractFile(Program.tempDirectory + @"\DeviceLog.cab", "OEMInput.xml", Program.tempDirectory + @"\OEMInput.xml");
deviceInfo = new string[deviceDetails.Length + 4];
SerialNumber = File.ReadAllLines(@"C:\ProgramData\Universal Updater\DeviceInfo.txt").Where(i => i.Contains("Serial:")).ToArray();
string[] platID = File.ReadAllLines(@"C:\ProgramData\Universal Updater\OEMDevicePlatform.xml").Where(i => i.Contains("<DevicePlatformID>")).ToArray();
SerialNumber = File.ReadAllLines(Program.tempDirectory + @"\DeviceInfo.txt").Where(i => i.Contains("Serial:")).ToArray();
string[] platID = File.ReadAllLines(Program.tempDirectory + @"\OEMDevicePlatform.xml").Where(i => i.Contains("<DevicePlatformID>")).ToArray();
deviceInfo[0] = SerialNumber[0];
SerialNumber[0] = $@"{SerialNumber[0].Split(':')[1].Replace(" ", null)}";
deviceInfo[1] = "PlatformID: " + platID[0].Split('>')[1].Split('<')[0];
Expand All @@ -76,7 +93,7 @@ public static async Task<string[]> ReadInfo()
{
try
{
OSVersion = File.ReadAllLines(@"C:\ProgramData\Universal Updater\InstalledPackages.csv").Where(k => k.ContainsAny(checkTagsArray)).ToArray();
OSVersion = File.ReadAllLines(Program.tempDirectory + @"\InstalledPackages.csv").Where(k => k.ContainsAny(checkTagsArray)).ToArray();
}
catch (FileNotFoundException)
{
Expand All @@ -86,8 +103,8 @@ public static async Task<string[]> ReadInfo()
j++;
}
string[] details = null;
if (File.Exists(@"C:\ProgramData\Universal Updater\UsoTroubleshooting.reg")) details = File.ReadAllLines(@"C:\ProgramData\Universal Updater\UsoTroubleshooting.reg").Where(l => l.Contains(deviceDetails[i])).ToArray();
else if (File.Exists(@"C:\ProgramData\Universal Updater\DuTroubleshooting.reg")) details = File.ReadAllLines(@"C:\ProgramData\Universal Updater\DuTroubleshooting.reg").Where(l => l.Contains(deviceDetails[i])).ToArray(); ;
if (File.Exists(Program.tempDirectory + @"\UsoTroubleshooting.reg")) details = File.ReadAllLines(Program.tempDirectory + @"\UsoTroubleshooting.reg").Where(l => l.Contains(deviceDetails[i])).ToArray();
else if (File.Exists(Program.tempDirectory + @"\DuTroubleshooting.reg")) details = File.ReadAllLines(Program.tempDirectory + @"\DuTroubleshooting.reg").Where(l => l.Contains(deviceDetails[i])).ToArray(); ;
if (details.Count() > 0)
{
deviceInfo[i + j] = details[0].Replace(" ", null).Replace("\"", null).Replace("=", ": ").Replace("Phone", null);
Expand All @@ -97,23 +114,23 @@ public static async Task<string[]> ReadInfo()
deviceInfo[i + j] = deviceDetails[i].Replace("Phone", "") + ": ";
}
}
string[] res = File.ReadAllLines(@"C:\ProgramData\Universal Updater\OEMInput.xml").Where(i => i.Contains("<Resolution>")).ToArray();
string[] res = File.ReadAllLines(Program.tempDirectory + @"\OEMInput.xml").Where(i => i.Contains("<Resolution>")).ToArray();
deviceInfo[deviceInfo.Length - 1] = "Resolution: " + res[0].Split('>')[1].Split('<')[0];
if (Directory.Exists($@"{Environment.CurrentDirectory}\{SerialNumber[0]}"))
if (Directory.Exists(Program.filteredDirectory + $@"\{SerialNumber[0]}"))
{
Directory.Delete($@"{Environment.CurrentDirectory}\{SerialNumber[0]}", true);
Directory.CreateDirectory($@"{Environment.CurrentDirectory}\{SerialNumber[0]}\Packages");
Directory.Delete(Program.filteredDirectory + $@"\{SerialNumber[0]}", true);
Directory.CreateDirectory(Program.filteredDirectory + $@"\{SerialNumber[0]}\Packages");
}
else
{
Directory.CreateDirectory($@"{Environment.CurrentDirectory}\{SerialNumber[0]}\Packages");
Directory.CreateDirectory(Program.filteredDirectory + $@"\{SerialNumber[0]}\Packages");
}
File.Copy(@"C:\ProgramData\Universal Updater\DeviceLog.cab", $@"{Environment.CurrentDirectory}\{SerialNumber[0]}\DeviceLog.cab");
File.Copy(Program.tempDirectory + @"\DeviceLog.cab", Program.filteredDirectory + $@"\{SerialNumber[0]}\DeviceLog.cab");
for (int i = 0; i < deviceInfo.Length; i++)
{
var splitDetails = deviceInfo[i].Split(':');
deviceInfo[i] = splitDetails[0] + ":" + spaceAlign[i] + splitDetails[1];
File.AppendAllText($@"{Environment.CurrentDirectory}\{SerialNumber[0]}\DeviceInfo.txt", deviceInfo[i] + "\n");
File.AppendAllText(Program.filteredDirectory + $@"\{SerialNumber[0]}\DeviceInfo.txt", deviceInfo[i] + "\n");
}
return deviceInfo;
}
Expand Down
Loading

0 comments on commit 76d1cb5

Please sign in to comment.