diff --git a/NvidiaCleaner.sln b/NvidiaCleaner.sln new file mode 100644 index 0000000..757ae62 --- /dev/null +++ b/NvidiaCleaner.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.27130.2024 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NvidiaCleaner", "NvidiaCleaner\NvidiaCleaner.csproj", "{585F40B9-4B50-4032-9E27-5865DFA40409}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {585F40B9-4B50-4032-9E27-5865DFA40409}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {585F40B9-4B50-4032-9E27-5865DFA40409}.Debug|Any CPU.Build.0 = Debug|Any CPU + {585F40B9-4B50-4032-9E27-5865DFA40409}.Release|Any CPU.ActiveCfg = Release|Any CPU + {585F40B9-4B50-4032-9E27-5865DFA40409}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {F01FE2C7-79F0-4DD9-B598-26ADE46D5335} + EndGlobalSection +EndGlobal diff --git a/NvidiaCleaner/App.config b/NvidiaCleaner/App.config new file mode 100644 index 0000000..74ade9d --- /dev/null +++ b/NvidiaCleaner/App.config @@ -0,0 +1,6 @@ + + + + + + diff --git a/NvidiaCleaner/Lib/NVC.cs b/NvidiaCleaner/Lib/NVC.cs new file mode 100644 index 0000000..14fc1f4 --- /dev/null +++ b/NvidiaCleaner/Lib/NVC.cs @@ -0,0 +1,42 @@ +using System; +using System.IO; + +namespace NvidiaCleaner.Lib +{ + class NVC + { + //Calculates the directory size by checking each and every files' size's in directory and sub-directories. + public static long GetDirectorySize(string path) + { + string[] a = Directory.GetFiles(path, "*.*", SearchOption.AllDirectories); + long b = 0; + foreach (var name in a) + { + FileInfo info = new FileInfo(name); + b += info.Length; + } + return b; + } + + //Byte to desired significance converter. KB, MB, GB only. + public static double SizeConvert(long b, string desired) + { + long sizeKB = b / 1024; + int sizeMB = (int)sizeKB / 1024; + double sizeGB = sizeMB / 1024.0; + + switch (desired) + { + case "KB": + return sizeKB; + case "MB": + return sizeMB; + case "GB": + return sizeGB; + default: + return 0.0; + } + } + + } +} diff --git a/NvidiaCleaner/MainForm.Designer.cs b/NvidiaCleaner/MainForm.Designer.cs new file mode 100644 index 0000000..32d6d47 --- /dev/null +++ b/NvidiaCleaner/MainForm.Designer.cs @@ -0,0 +1,266 @@ +namespace NvidiaCleaner +{ + partial class MainForm + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm)); + this.tabControl1 = new System.Windows.Forms.TabControl(); + this.tabMain = new System.Windows.Forms.TabPage(); + this.groupBox2 = new System.Windows.Forms.GroupBox(); + this.freeUpSpaceButton = new System.Windows.Forms.Button(); + this.progressBar = new System.Windows.Forms.ProgressBar(); + this.groupBox1 = new System.Windows.Forms.GroupBox(); + this.label1 = new System.Windows.Forms.Label(); + this.textArea = new System.Windows.Forms.RichTextBox(); + this.tabSettings = new System.Windows.Forms.TabPage(); + this.groupBox3 = new System.Windows.Forms.GroupBox(); + this.cGenerateLog = new System.Windows.Forms.CheckBox(); + this.richTextBox4 = new System.Windows.Forms.RichTextBox(); + this.cWindowsDriver = new System.Windows.Forms.CheckBox(); + this.basicSettingsGroup = new System.Windows.Forms.GroupBox(); + this.richTextBox3 = new System.Windows.Forms.RichTextBox(); + this.richTextBox2 = new System.Windows.Forms.RichTextBox(); + this.richTextBox1 = new System.Windows.Forms.RichTextBox(); + this.cRepository = new System.Windows.Forms.CheckBox(); + this.cDownloaded = new System.Windows.Forms.CheckBox(); + this.cExtracted = new System.Windows.Forms.CheckBox(); + this.tabControl1.SuspendLayout(); + this.tabMain.SuspendLayout(); + this.groupBox2.SuspendLayout(); + this.groupBox1.SuspendLayout(); + this.tabSettings.SuspendLayout(); + this.groupBox3.SuspendLayout(); + this.basicSettingsGroup.SuspendLayout(); + this.SuspendLayout(); + // + // tabControl1 + // + this.tabControl1.Controls.Add(this.tabMain); + this.tabControl1.Controls.Add(this.tabSettings); + resources.ApplyResources(this.tabControl1, "tabControl1"); + this.tabControl1.Name = "tabControl1"; + this.tabControl1.SelectedIndex = 0; + // + // tabMain + // + this.tabMain.Controls.Add(this.groupBox2); + this.tabMain.Controls.Add(this.groupBox1); + resources.ApplyResources(this.tabMain, "tabMain"); + this.tabMain.Name = "tabMain"; + this.tabMain.UseVisualStyleBackColor = true; + // + // groupBox2 + // + this.groupBox2.Controls.Add(this.freeUpSpaceButton); + this.groupBox2.Controls.Add(this.progressBar); + resources.ApplyResources(this.groupBox2, "groupBox2"); + this.groupBox2.Name = "groupBox2"; + this.groupBox2.TabStop = false; + // + // freeUpSpaceButton + // + resources.ApplyResources(this.freeUpSpaceButton, "freeUpSpaceButton"); + this.freeUpSpaceButton.Name = "freeUpSpaceButton"; + this.freeUpSpaceButton.UseVisualStyleBackColor = true; + this.freeUpSpaceButton.Click += new System.EventHandler(this.FreeUpSpaceButton_Click); + // + // progressBar + // + resources.ApplyResources(this.progressBar, "progressBar"); + this.progressBar.Name = "progressBar"; + // + // groupBox1 + // + this.groupBox1.Controls.Add(this.label1); + this.groupBox1.Controls.Add(this.textArea); + resources.ApplyResources(this.groupBox1, "groupBox1"); + this.groupBox1.Name = "groupBox1"; + this.groupBox1.TabStop = false; + // + // label1 + // + resources.ApplyResources(this.label1, "label1"); + this.label1.Name = "label1"; + // + // textArea + // + this.textArea.BackColor = System.Drawing.Color.White; + this.textArea.BorderStyle = System.Windows.Forms.BorderStyle.None; + this.textArea.Cursor = System.Windows.Forms.Cursors.Default; + resources.ApplyResources(this.textArea, "textArea"); + this.textArea.Name = "textArea"; + this.textArea.ReadOnly = true; + this.textArea.TabStop = false; + // + // tabSettings + // + this.tabSettings.Controls.Add(this.groupBox3); + this.tabSettings.Controls.Add(this.basicSettingsGroup); + resources.ApplyResources(this.tabSettings, "tabSettings"); + this.tabSettings.Name = "tabSettings"; + this.tabSettings.UseVisualStyleBackColor = true; + // + // groupBox3 + // + this.groupBox3.Controls.Add(this.cGenerateLog); + this.groupBox3.Controls.Add(this.richTextBox4); + this.groupBox3.Controls.Add(this.cWindowsDriver); + this.groupBox3.ForeColor = System.Drawing.Color.Maroon; + resources.ApplyResources(this.groupBox3, "groupBox3"); + this.groupBox3.Name = "groupBox3"; + this.groupBox3.TabStop = false; + // + // cGenerateLog + // + resources.ApplyResources(this.cGenerateLog, "cGenerateLog"); + this.cGenerateLog.ForeColor = System.Drawing.Color.Maroon; + this.cGenerateLog.Name = "cGenerateLog"; + this.cGenerateLog.UseVisualStyleBackColor = true; + // + // richTextBox4 + // + this.richTextBox4.BackColor = System.Drawing.Color.White; + this.richTextBox4.BorderStyle = System.Windows.Forms.BorderStyle.None; + this.richTextBox4.ForeColor = System.Drawing.Color.Maroon; + resources.ApplyResources(this.richTextBox4, "richTextBox4"); + this.richTextBox4.Name = "richTextBox4"; + this.richTextBox4.ReadOnly = true; + this.richTextBox4.TabStop = false; + // + // cWindowsDriver + // + resources.ApplyResources(this.cWindowsDriver, "cWindowsDriver"); + this.cWindowsDriver.ForeColor = System.Drawing.Color.Maroon; + this.cWindowsDriver.Name = "cWindowsDriver"; + this.cWindowsDriver.UseVisualStyleBackColor = true; + this.cWindowsDriver.CheckedChanged += new System.EventHandler(this.CWindowsDriver_CheckedChanged); + // + // basicSettingsGroup + // + this.basicSettingsGroup.Controls.Add(this.richTextBox3); + this.basicSettingsGroup.Controls.Add(this.richTextBox2); + this.basicSettingsGroup.Controls.Add(this.richTextBox1); + this.basicSettingsGroup.Controls.Add(this.cRepository); + this.basicSettingsGroup.Controls.Add(this.cDownloaded); + this.basicSettingsGroup.Controls.Add(this.cExtracted); + resources.ApplyResources(this.basicSettingsGroup, "basicSettingsGroup"); + this.basicSettingsGroup.Name = "basicSettingsGroup"; + this.basicSettingsGroup.TabStop = false; + // + // richTextBox3 + // + this.richTextBox3.BackColor = System.Drawing.Color.White; + this.richTextBox3.BorderStyle = System.Windows.Forms.BorderStyle.None; + resources.ApplyResources(this.richTextBox3, "richTextBox3"); + this.richTextBox3.Name = "richTextBox3"; + this.richTextBox3.ReadOnly = true; + this.richTextBox3.TabStop = false; + // + // richTextBox2 + // + this.richTextBox2.BackColor = System.Drawing.Color.White; + this.richTextBox2.BorderStyle = System.Windows.Forms.BorderStyle.None; + resources.ApplyResources(this.richTextBox2, "richTextBox2"); + this.richTextBox2.Name = "richTextBox2"; + this.richTextBox2.ReadOnly = true; + this.richTextBox2.TabStop = false; + // + // richTextBox1 + // + this.richTextBox1.BackColor = System.Drawing.Color.White; + this.richTextBox1.BorderStyle = System.Windows.Forms.BorderStyle.None; + resources.ApplyResources(this.richTextBox1, "richTextBox1"); + this.richTextBox1.Name = "richTextBox1"; + this.richTextBox1.ReadOnly = true; + this.richTextBox1.TabStop = false; + // + // cRepository + // + resources.ApplyResources(this.cRepository, "cRepository"); + this.cRepository.Name = "cRepository"; + this.cRepository.UseVisualStyleBackColor = true; + // + // cDownloaded + // + resources.ApplyResources(this.cDownloaded, "cDownloaded"); + this.cDownloaded.Name = "cDownloaded"; + this.cDownloaded.UseVisualStyleBackColor = true; + // + // cExtracted + // + resources.ApplyResources(this.cExtracted, "cExtracted"); + this.cExtracted.Name = "cExtracted"; + this.cExtracted.UseVisualStyleBackColor = true; + // + // MainForm + // + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; + resources.ApplyResources(this, "$this"); + this.Controls.Add(this.tabControl1); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; + this.MaximizeBox = false; + this.Name = "MainForm"; + this.tabControl1.ResumeLayout(false); + this.tabMain.ResumeLayout(false); + this.groupBox2.ResumeLayout(false); + this.groupBox1.ResumeLayout(false); + this.groupBox1.PerformLayout(); + this.tabSettings.ResumeLayout(false); + this.groupBox3.ResumeLayout(false); + this.groupBox3.PerformLayout(); + this.basicSettingsGroup.ResumeLayout(false); + this.basicSettingsGroup.PerformLayout(); + this.ResumeLayout(false); + + } + + #endregion + + private System.Windows.Forms.TabControl tabControl1; + private System.Windows.Forms.TabPage tabMain; + private System.Windows.Forms.TabPage tabSettings; + private System.Windows.Forms.ProgressBar progressBar; + private System.Windows.Forms.Button freeUpSpaceButton; + private System.Windows.Forms.GroupBox groupBox2; + private System.Windows.Forms.GroupBox groupBox1; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.RichTextBox textArea; + private System.Windows.Forms.GroupBox groupBox3; + private System.Windows.Forms.RichTextBox richTextBox4; + private System.Windows.Forms.CheckBox cWindowsDriver; + private System.Windows.Forms.GroupBox basicSettingsGroup; + private System.Windows.Forms.RichTextBox richTextBox3; + private System.Windows.Forms.RichTextBox richTextBox2; + private System.Windows.Forms.RichTextBox richTextBox1; + private System.Windows.Forms.CheckBox cRepository; + private System.Windows.Forms.CheckBox cDownloaded; + private System.Windows.Forms.CheckBox cExtracted; + private System.Windows.Forms.CheckBox cGenerateLog; + } +} + diff --git a/NvidiaCleaner/MainForm.cs b/NvidiaCleaner/MainForm.cs new file mode 100644 index 0000000..6ae3cfe --- /dev/null +++ b/NvidiaCleaner/MainForm.cs @@ -0,0 +1,314 @@ +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.ComponentModel; +using System.Diagnostics; +using System.Drawing; +using System.IO; +using System.Linq; +using System.Runtime.CompilerServices; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using Microsoft.Win32; +using System.Threading; +using System.Security.Principal; +using NvidiaCleaner.Lib; + + +namespace NvidiaCleaner +{ + public partial class MainForm : Form + { + private const string logFileName = "NCleaner.log"; + //Get System path. + private readonly string _osPath = Path.GetPathRoot(Environment.SystemDirectory); + private readonly List _errors = new List(); + private double totalCleanedMb=0; + + public MainForm() + { + InitializeComponent(); + //Initial Settings. + cExtracted.Checked = true; + cDownloaded.Checked = true; + } + + //Calculates the percentage of each checked setting except generate log. + public int GetBarPercentage() + { + int total=0; + int result=0; + + if (cDownloaded.Checked == true) + total++; + if (cExtracted.Checked == true) + total++; + if (cRepository.Checked == true) + total++; + if (cWindowsDriver.Checked == true) + total++; + + switch (total) + { + case 1: + result = 100; + break; + case 2: + result = 50; + break; + case 3: + result = 33; + progressBar.Maximum = 99; + break; + case 4: + result = 25; + break; + default: + break; + } + return result; + } + + //Method that delets the extracted drivers at System:\NVIDIA path. + public void DeleteExtractedDrivers() + { + string path = _osPath + @"NVIDIA"; + double deletedTotal = 0; + textArea.Text += @"-----Extracted Drivers-----" + Environment.NewLine; + + if (Directory.Exists(path)) + { + //MessageBox.Show(_path + @" Exist!"); + textArea.Text += path + @" FOUND! " + Environment.NewLine; + + long sizeB = NVC.GetDirectorySize(path); + double sizeMB = NVC.SizeConvert(sizeB, "MB"); + + try + { + Directory.Delete(path, true); + textArea.Text += path + @" Deleted! " + sizeMB + @" MB cleaned!" + Environment.NewLine; + deletedTotal += sizeMB; + progressBar.Value += GetBarPercentage(); + } + catch (Exception e) + { + _errors.Add(e.ToString()); + textArea.Text += path + @" is not deleted! " + Environment.NewLine + @"Error: " + e.Message + Environment.NewLine; + } + } + else + { + textArea.Text += path + @" NOT FOUND! PASSING... " + Environment.NewLine; + progressBar.Value += GetBarPercentage(); + } + + textArea.Text += @"Total " + deletedTotal + @" MB Deleted in " + path + Environment.NewLine; + textArea.Text += @"-----Extracted Drivers End-----" + Environment.NewLine + Environment.NewLine; + totalCleanedMb += deletedTotal; + } + + + //Method that delets the downloaded drivers at System:\ProgramData\NVIDIA Corporation\Downloader path. + public void DeleteDownloadedDrivers() + { + string path = _osPath + @"ProgramData\NVIDIA Corporation\Downloader"; + double deletedTotal = 0; + textArea.Text += @"-----Downloaded Drivers-----" + Environment.NewLine; + + if (Directory.Exists(path)) + { + //ONLY DELETE latest and random numbers. + string whiteList = "config"; //Maybe add latest but not necessary. + foreach (var dir in Directory.GetDirectories(path)) + { + if (!dir.Contains(whiteList)) + { + textArea.Text += dir.Substring(45) + @" FOUND! " + Environment.NewLine; + long sizeB = NVC.GetDirectorySize(dir); + double sizeMB = NVC.SizeConvert(sizeB, "MB"); + + try + { + Directory.Delete(dir, true); + deletedTotal += sizeMB; + textArea.Text += dir.Substring(45) + @" Deleted! " + sizeMB + @" MB cleaned!" + Environment.NewLine + Environment.NewLine; + } + catch (Exception e) + { + _errors.Add(e.ToString()); + textArea.Text += dir + @" is not deleted! " + Environment.NewLine + @"Error: " + e.Message + Environment.NewLine + Environment.NewLine; + } + } + } + progressBar.Value += GetBarPercentage(); + } + else + { + textArea.Text += path + @" NOT FOUND! PASSING... " + Environment.NewLine; + progressBar.Value += GetBarPercentage(); + } + textArea.Text += @"Total " + deletedTotal + @" MB Deleted in " + path + Environment.NewLine; + textArea.Text += @"-----Downloaded Drivers End-----" + Environment.NewLine + Environment.NewLine; + totalCleanedMb += deletedTotal; + } + + //Method that delets the downloaded drivers at System:\Program Files\NVIDIA Corporation\Installer2 path. + public void DeleteRepository() + { + //DO NOT DELETE THE INSTALLER2 FOLDER ITSELF!!! + //Delete Repository. + string path = _osPath + @"Program Files\NVIDIA Corporation\Installer2"; + double deletedTotal = 0; + textArea.Text += @"-----Repository-----" + Environment.NewLine; + + if (Directory.Exists(path)) + { + foreach (var dir in Directory.GetDirectories(path)) + { + textArea.Text += dir.Substring(47) + @" FOUND! " + Environment.NewLine; + long sizeB = NVC.GetDirectorySize(dir); + double sizeMB = NVC.SizeConvert(sizeB, "MB"); + + try + { + Directory.Delete(dir, true); + deletedTotal += sizeMB; + textArea.Text += dir.Substring(47) + @" Deleted! " + sizeMB + @" MB cleaned!" + Environment.NewLine + Environment.NewLine; + } + catch (Exception e) + { + _errors.Add(e.ToString()); + textArea.Text += dir + @" is not deleted! " + Environment.NewLine + @"Error: " + e.Message + Environment.NewLine + Environment.NewLine; + } + } + progressBar.Value += GetBarPercentage(); + } + else + { + textArea.Text += path + @" NOT FOUND! PASSING... " + Environment.NewLine; + progressBar.Value += GetBarPercentage(); + } + textArea.Text += @"Total " + deletedTotal + @" MB Deleted in " + path + Environment.NewLine; + textArea.Text += @"-----Repository End-----" + Environment.NewLine + Environment.NewLine; + totalCleanedMb += deletedTotal; + } + + public void DeleteLogs() + { + string[] path ={ _osPath + @"ProgramData\NVIDIA Corporation\GeForce Experience\Logs", _osPath + @"ProgramData\NVIDIA Corporation\NVIDIA GeForce Experience\Logs"}; + + for (int i = 0; i < 2; i++) + { + double deletedTotal = 0; + textArea.Text += @"-----Unneccessary Logs "+(i+1)+@"-----" + Environment.NewLine; + if (Directory.Exists(path[i])) + { + long sizeB = NVC.GetDirectorySize(path[i]); + double sizeMB = NVC.SizeConvert(sizeB, "MB"); + + foreach (var item in Directory.GetFiles(path[i])) + { + try + { + if (item.EndsWith(".log")) + { + File.Delete(item); + textArea.Text += item + @" Deleted! " + Environment.NewLine; + } + } + catch (Exception e) + { + _errors.Add(e.ToString()); + textArea.Text += item + @" is not deleted! " + Environment.NewLine + @"Error: " + e.Message + Environment.NewLine + Environment.NewLine; + } + } + deletedTotal += sizeMB; + } + else + { + textArea.Text += path[i] + @" NOT FOUND! PASSING... " + Environment.NewLine; + progressBar.Value += GetBarPercentage(); + } + textArea.Text += @"Total " + deletedTotal + @" MB Deleted in " + path[i] + Environment.NewLine; + textArea.Text += @"-----Unneccessary Logs "+(i+1)+@" End-----" + Environment.NewLine + Environment.NewLine; + totalCleanedMb += deletedTotal; + } + } + + public void DeleteWindowsDrivers() + { + //TODO:Delete Repository using bruteforce. Use powershell script. + } + + public void GenerateLog() + { + //TODO: Implement real log method. + + string path = Environment.CurrentDirectory; + + if (_errors.Count != 0) + { + try + { + System.IO.File.WriteAllLines(path + @"\" + logFileName, _errors); + } + catch + { + MessageBox.Show(@"Error while creating log."); + } + } + + + } + + private void FreeUpSpaceButton_Click(object sender, EventArgs e) + { + //Reset progress bar. + progressBar.Value = 0; + //Clear text area in order to write logs. + textArea.Clear(); + //Disable editing settings. + tabSettings.Enabled = false; + + GenerateLog(); + + try + { + if (cExtracted.Checked == true) + DeleteExtractedDrivers(); + + if (cDownloaded.Checked == true) + { + DeleteDownloadedDrivers(); + DeleteLogs(); + } + + if (cRepository.Checked == true) + DeleteRepository(); + + //if (cWindowsDriver.Checked == true) + //DeleteWindowsDrivers(); + + //Done Message! + MessageBox.Show(@"Operation Successfull! " + totalCleanedMb + @" Mb Cleaned!", @"Success!"); + } + catch (Exception ex) + { + _errors.Add(ex.Message); + } + + //Enable editing settings upon finish. + tabSettings.Enabled = true; + } + + private void CWindowsDriver_CheckedChanged(object sender, EventArgs e) + { + if (cWindowsDriver.Checked == true) + { + MessageBox.Show(@"This process may damage current installed driver if the driver is not running right now. Eg. You are in safe mode, etc.", @"Warning!!!"); + } + } + } +} diff --git a/NvidiaCleaner/MainForm.resx b/NvidiaCleaner/MainForm.resx new file mode 100644 index 0000000..5e49937 --- /dev/null +++ b/NvidiaCleaner/MainForm.resx @@ -0,0 +1,763 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + NoControl + + + + 6, 86 + + + 295, 57 + + + + 0 + + + Free Up Space! + + + freeUpSpaceButton + + + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox2 + + + 0 + + + 6, 31 + + + 295, 30 + + + 1 + + + progressBar + + + System.Windows.Forms.ProgressBar, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox2 + + + 1 + + + 6, 248 + + + 307, 149 + + + 3 + + + Action + + + groupBox2 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabMain + + + 0 + + + Top, Left, Right + + + True + + + Microsoft Sans Serif, 12pt, style=Bold + + + 32, 16 + + + 247, 20 + + + 1 + + + Nvidia Driver Leftover Cleaner + + + MiddleCenter + + + label1 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 0 + + + 6, 39 + + + 295, 191 + + + 0 + + + This simple program deletes the old Nvidia display driver & +GeForce Experiance setups which are not needed anymore. + +================================================ + +Free space gain may vary from computer to computer. +Check settings for more detailed cleaning. + +This process is completely safe as those files are only used +during the installation of the graphic driver. + +You can read further in the About part. + + + textArea + + + System.Windows.Forms.RichTextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox1 + + + 1 + + + 6, 6 + + + 310, 236 + + + 2 + + + Info + + + groupBox1 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabMain + + + 1 + + + 4, 22 + + + 3, 3, 3, 3 + + + 324, 405 + + + 0 + + + Free Up Space + + + tabMain + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabControl1 + + + 0 + + + True + + + Microsoft Sans Serif, 8.25pt, style=Bold + + + 7, 97 + + + 127, 17 + + + 7 + + + Generate Log File + + + cGenerateLog + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox3 + + + 0 + + + 6, 43 + + + 300, 48 + + + 6 + + + Deletes the old driver copies inside the windows folder. This method may cause trouble if there is no Nvidia driver running in the background as the method bruteforces the driver deletion. + + + richTextBox4 + + + System.Windows.Forms.RichTextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox3 + + + 1 + + + True + + + False + + + Microsoft Sans Serif, 8.25pt, style=Bold + + + 7, 20 + + + 203, 17 + + + 0 + + + Delete Windows Driver Backup + + + cWindowsDriver + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + groupBox3 + + + 2 + + + 6, 267 + + + 312, 135 + + + 2 + + + Advanced Settings + + + groupBox3 + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabSettings + + + 0 + + + 6, 180 + + + 300, 68 + + + 5 + + + Deletes the old downloaded driver setups under the System\Program Files\NVIDIA Corporation\Installer2 location. +After deleting this, you cannot uninstal Geforce Experience properly. READ ABOUT FOR DETAILS AS IT BREAKS THE UNINSTALL MECHANISM. + + + richTextBox3 + + + System.Windows.Forms.RichTextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + basicSettingsGroup + + + 0 + + + 6, 111 + + + 300, 40 + + + 4 + + + Deletes the old downloaded driver setups under the System\ProgramData\NVIDIA Corporation\Downloader location. + + + richTextBox2 + + + System.Windows.Forms.RichTextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + basicSettingsGroup + + + 1 + + + 6, 42 + + + 300, 40 + + + 3 + + + Deletes the old extracted driver setups under the System\Nvidia directory. + + + richTextBox1 + + + System.Windows.Forms.RichTextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + basicSettingsGroup + + + 2 + + + True + + + Microsoft Sans Serif, 8.25pt, style=Bold + + + 6, 157 + + + 198, 17 + + + 2 + + + Delete Installation Repository* + + + cRepository + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + basicSettingsGroup + + + 3 + + + True + + + Microsoft Sans Serif, 8.25pt, style=Bold + + + 6, 88 + + + 237, 17 + + + 1 + + + Delete Downloaded Drivers and Logs + + + cDownloaded + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + basicSettingsGroup + + + 4 + + + True + + + Microsoft Sans Serif, 8.25pt, style=Bold + + + 6, 19 + + + 165, 17 + + + 0 + + + Delete Extracted Drivers + + + cExtracted + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + basicSettingsGroup + + + 5 + + + 6, 6 + + + 312, 255 + + + 1 + + + Basic Settings + + + basicSettingsGroup + + + System.Windows.Forms.GroupBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabSettings + + + 1 + + + 4, 22 + + + 3, 3, 3, 3 + + + 324, 405 + + + 1 + + + Settings + + + tabSettings + + + System.Windows.Forms.TabPage, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + tabControl1 + + + 1 + + + 2, 2 + + + 0, 0, 0, 0 + + + 0, 0 + + + 332, 431 + + + 0 + + + tabControl1 + + + System.Windows.Forms.TabControl, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + $this + + + 0 + + + True + + + 334, 433 + + + + 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 + KzkoKyvzKCsr/ygrK9IoKyvIKCsr/ygrK/0oKytSKCsrOSgrK6YoKysrKCsrAAAAAAAAAAAAAAAAAAAA + AAAoKysAKCsrACcuLAAmMzEAAKtmNwCsZ38AqmNzFrt+uTrKmP80y5j/DsGF4gC+ezQXZUsAKCsrACgr + KwAoKysAKCsrOSgrK/MoKyv/KCsr/ygrK/8oKyv/KCsr/CgrK1EoKyt3KCsr/ygrK1woKysAAAAAAAAA + AAAAAAAAAAAAAAAAAAAAAAAAALBsAACuajQKtXTfMsKL/03Jmf8tvoe4ALZ0eQC6eoYAuXk7J8pXABRu + TgAoKysAKCsrACgrKwAoKys5KCsr8ygrK/8oKyv/KCsr/ygrK/8oKyv8KCsrUSgrK3goKyv/KCsrXSgr + KwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQvn8ACbd2d1TPov+K3r//pebO/2HSqOUAq14gB6RuAAD/ + ywAsHSQBKCwsASgrKwEoKysAKCsrACgrKzkoKyvzKCsr/ygrK/8oKyv/KCsr/ygrK/0oKytRKCsreCgr + K/8oKytdKCsrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAm9fgAFuXlcK8eR/mfXsf+h58//WdKn0QB4 + SicoKSqCKCsrqSgrK6coKyumKCsrpygrK2koKysBKCsrOCgrK/MoKyv/KCsr/ygrK/8oKyv/KCsr/Sgr + K1EoKyt4KCsr/ygrK10oKysAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALZ1AAC1cw8AunqQCL+D3w/A + hc4LwIFPKCYnHCgrK8koKyvwKCsr7igrK+4oKyv6KCsr9CgrK0soKys1KCsr8ygrK/8oKyv/KCsr/ygr + K/8oKyv9KCsrUSgrK3goKyv/KCsrXSgrKwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAt3cAALd3AACx + cQQAt3YdALRzFDXJmQA7ABYBKCsrGigrKyooKysqKCsrJygrK2AoKyv1KCsryigrK1UoKyvxKCsr/ygr + K/8oKyv/KCsr/ygrK/0oKytPKCsrdigrK/8oKytdKCsrAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACr + bAAAtnYAALV1AAC3eAAAt3cAAL94ACsgJQAoKysAKCsrACgrKwAoKysAKCsrAygrK5MoKyv/KCsrxigr + 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 + gAf//8Af///AH///wB///8Af///AP///4H8= + + + + CenterScreen + + + Nvidia Cleaner + + + MainForm + + + System.Windows.Forms.Form, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/NvidiaCleaner/NvidiaCleaner.csproj b/NvidiaCleaner/NvidiaCleaner.csproj new file mode 100644 index 0000000..4a9415c --- /dev/null +++ b/NvidiaCleaner/NvidiaCleaner.csproj @@ -0,0 +1,150 @@ + + + + + Debug + AnyCPU + {585F40B9-4B50-4032-9E27-5865DFA40409} + WinExe + NvidiaCleaner + Nvidia Cleaner + v4.0 + 512 + true + false + + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 3 + 1.0.0.%2a + false + true + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + true + + + AnyCPU + pdbonly + true + bin\Release\ + DEBUG;TRACE + prompt + 4 + true + false + + + 7940CA7F4E03CF648EE582747B2B8329F7EACED3 + + + NvidiaCleaner_TemporaryKey.pfx + + + false + + + false + + + Resources\Icon.ico + + + + false + + + + + + + + LocalIntranet + + + app.manifest + + + + + + + + + + + + + Form + + + MainForm.cs + + + + + MainForm.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + True + + + Designer + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + Designer + + + + + False + Microsoft .NET Framework 4.6.1 %28x86 and x64%29 + true + + + False + .NET Framework 3.5 SP1 + false + + + + + + + + \ No newline at end of file diff --git a/NvidiaCleaner/Program.cs b/NvidiaCleaner/Program.cs new file mode 100644 index 0000000..68f2f90 --- /dev/null +++ b/NvidiaCleaner/Program.cs @@ -0,0 +1,22 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace NvidiaCleaner +{ + static class Program + { + /// + /// The main entry point for the application. + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new MainForm()); + } + } +} diff --git a/NvidiaCleaner/Properties/AssemblyInfo.cs b/NvidiaCleaner/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..d07628c --- /dev/null +++ b/NvidiaCleaner/Properties/AssemblyInfo.cs @@ -0,0 +1,39 @@ +using System.Resources; +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("Nvidia Driver Cleaner")] +[assembly: AssemblyDescription("Deletes the remaining setups, extracted drivers and old driver remains to gain space.")] +[assembly: AssemblyConfiguration("Public")] +[assembly: AssemblyCompany("Ata Berk YILMAZ")] +[assembly: AssemblyProduct("Nvidia Cleaner")] +[assembly: AssemblyCopyright("Copyright © 2018")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("585f40b9-4b50-4032-9e27-5865dfa40409")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.1")] +[assembly: AssemblyFileVersion("1.0.0.1")] +[assembly: NeutralResourcesLanguage("en")] + diff --git a/NvidiaCleaner/Properties/Resources.Designer.cs b/NvidiaCleaner/Properties/Resources.Designer.cs new file mode 100644 index 0000000..3d3efc7 --- /dev/null +++ b/NvidiaCleaner/Properties/Resources.Designer.cs @@ -0,0 +1,63 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace NvidiaCleaner.Properties { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("NvidiaCleaner.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + } +} diff --git a/NvidiaCleaner/Properties/Resources.resx b/NvidiaCleaner/Properties/Resources.resx new file mode 100644 index 0000000..af7dbeb --- /dev/null +++ b/NvidiaCleaner/Properties/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/NvidiaCleaner/Properties/Settings.Designer.cs b/NvidiaCleaner/Properties/Settings.Designer.cs new file mode 100644 index 0000000..f1efaea --- /dev/null +++ b/NvidiaCleaner/Properties/Settings.Designer.cs @@ -0,0 +1,26 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace NvidiaCleaner.Properties { + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.5.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default { + get { + return defaultInstance; + } + } + } +} diff --git a/NvidiaCleaner/Properties/Settings.settings b/NvidiaCleaner/Properties/Settings.settings new file mode 100644 index 0000000..3964565 --- /dev/null +++ b/NvidiaCleaner/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/NvidiaCleaner/Resources/Icon.ico b/NvidiaCleaner/Resources/Icon.ico new file mode 100644 index 0000000..e52a152 Binary files /dev/null and b/NvidiaCleaner/Resources/Icon.ico differ diff --git a/NvidiaCleaner/app.manifest b/NvidiaCleaner/app.manifest new file mode 100644 index 0000000..2ef6a60 --- /dev/null +++ b/NvidiaCleaner/app.manifest @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file