Browse Source

Major update with various fixes v16.3

deadmoon 1 year ago
parent
commit
721688c679

+ 8 - 0
CHANGELOG.md

@@ -1,3 +1,11 @@
+## [16.3] - 2023-12-22
+- New: Check for updates on launch option (#441, #423)
+- New: Options for hiding Weather and Search in Restore Classic Windows Explorer (#447)
+- Hotfix: Web search disable for all users (#427)
+- Hotfix: Tweak options are now dynamically disabled properly (#431)
+- Hotfix: Disable Automatic Updates does not break Store app install/update
+- Hotfix: DPI scaling count fallback added
+
 ## [16.2] - 2023-10-28
 - Regression: 'Remove Microsoft Edge' removed as an option due to too many false positives in VirusTotal
 

+ 2 - 2
Optimizer/DebugHelper.cs

@@ -9,11 +9,11 @@ namespace Optimizer
     // Collection of useful debugging methods and utilities
     internal sealed class DebugHelper
     {
-        // For comparing and detecting missing properties in two translation JSON files
+        // For comparing and detecting missing keys between two translation JSON files
         internal static void FindDifferenceInTwoJsons()
         {
             JObject file1 = JObject.Parse(Properties.Resources.EN);
-            JObject file2 = JObject.Parse(Properties.Resources.NE);
+            JObject file2 = JObject.Parse(Properties.Resources.RU);
 
             var p1 = file1.Properties().ToList();
             var p2 = file2.Properties().ToList();

+ 150 - 86
Optimizer/Forms/MainForm.Designer.cs

@@ -86,6 +86,8 @@ namespace Optimizer
             this.faxSw = new Optimizer.ToggleCard();
             this.performanceSw = new Optimizer.ToggleCard();
             this.windows10Tab = new System.Windows.Forms.TabPage();
+            this.chkHideFeed = new Optimizer.MoonCheck();
+            this.chkHideSearch = new Optimizer.MoonCheck();
             this.chkNewsInterest = new Optimizer.MoonCheck();
             this.classicPhotoViewerSw = new Optimizer.ToggleCard();
             this.edgeAiSw = new Optimizer.ToggleCard();
@@ -391,6 +393,7 @@ namespace Optimizer
             this.listFonts = new Optimizer.MoonList();
             this.fontSetTitle = new System.Windows.Forms.Label();
             this.optionsTab = new System.Windows.Forms.TabPage();
+            this.autoUpdateToggle = new Optimizer.ToggleCard();
             this.btnReinforce = new System.Windows.Forms.Button();
             this.linkLabel6 = new System.Windows.Forms.LinkLabel();
             this.linkLabel4 = new System.Windows.Forms.LinkLabel();
@@ -745,11 +748,11 @@ namespace Optimizer
             this.universalTab.Controls.Add(this.superfetchSw);
             this.universalTab.Controls.Add(this.faxSw);
             this.universalTab.Controls.Add(this.performanceSw);
-            this.universalTab.Location = new System.Drawing.Point(4, 25);
+            this.universalTab.Location = new System.Drawing.Point(4, 26);
             this.universalTab.Margin = new System.Windows.Forms.Padding(2);
             this.universalTab.Name = "universalTab";
             this.universalTab.Padding = new System.Windows.Forms.Padding(2);
-            this.universalTab.Size = new System.Drawing.Size(1273, 695);
+            this.universalTab.Size = new System.Drawing.Size(1273, 694);
             this.universalTab.TabIndex = 0;
             this.universalTab.Text = "General";
             // 
@@ -1225,6 +1228,8 @@ namespace Optimizer
             // 
             this.windows10Tab.AutoScroll = true;
             this.windows10Tab.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
+            this.windows10Tab.Controls.Add(this.chkHideFeed);
+            this.windows10Tab.Controls.Add(this.chkHideSearch);
             this.windows10Tab.Controls.Add(this.chkNewsInterest);
             this.windows10Tab.Controls.Add(this.classicPhotoViewerSw);
             this.windows10Tab.Controls.Add(this.edgeAiSw);
@@ -1258,14 +1263,46 @@ namespace Optimizer
             this.windows10Tab.Controls.Add(this.peopleSw);
             this.windows10Tab.Controls.Add(this.oldExplorerSw);
             this.windows10Tab.Controls.Add(this.adsSw);
-            this.windows10Tab.Location = new System.Drawing.Point(4, 25);
+            this.windows10Tab.Location = new System.Drawing.Point(4, 26);
             this.windows10Tab.Margin = new System.Windows.Forms.Padding(2);
             this.windows10Tab.Name = "windows10Tab";
             this.windows10Tab.Padding = new System.Windows.Forms.Padding(2);
-            this.windows10Tab.Size = new System.Drawing.Size(1273, 695);
+            this.windows10Tab.Size = new System.Drawing.Size(1273, 694);
             this.windows10Tab.TabIndex = 1;
             this.windows10Tab.Text = "Windows 10";
             // 
+            // chkHideFeed
+            // 
+            this.chkHideFeed.AutoSize = true;
+            this.chkHideFeed.Checked = true;
+            this.chkHideFeed.CheckState = System.Windows.Forms.CheckState.Checked;
+            this.chkHideFeed.Font = new System.Drawing.Font("Segoe UI Semibold", 9F, System.Drawing.FontStyle.Underline);
+            this.chkHideFeed.ForeColor = System.Drawing.Color.Silver;
+            this.chkHideFeed.Location = new System.Drawing.Point(76, 87);
+            this.chkHideFeed.Margin = new System.Windows.Forms.Padding(2);
+            this.chkHideFeed.Name = "chkHideFeed";
+            this.chkHideFeed.Size = new System.Drawing.Size(99, 19);
+            this.chkHideFeed.TabIndex = 234;
+            this.chkHideFeed.Tag = "themeable";
+            this.chkHideFeed.Text = "Hide Weather";
+            this.chkHideFeed.UseVisualStyleBackColor = true;
+            // 
+            // chkHideSearch
+            // 
+            this.chkHideSearch.AutoSize = true;
+            this.chkHideSearch.Checked = true;
+            this.chkHideSearch.CheckState = System.Windows.Forms.CheckState.Checked;
+            this.chkHideSearch.Font = new System.Drawing.Font("Segoe UI Semibold", 9F, System.Drawing.FontStyle.Underline);
+            this.chkHideSearch.ForeColor = System.Drawing.Color.Silver;
+            this.chkHideSearch.Location = new System.Drawing.Point(76, 64);
+            this.chkHideSearch.Margin = new System.Windows.Forms.Padding(2);
+            this.chkHideSearch.Name = "chkHideSearch";
+            this.chkHideSearch.Size = new System.Drawing.Size(90, 19);
+            this.chkHideSearch.TabIndex = 233;
+            this.chkHideSearch.Tag = "themeable";
+            this.chkHideSearch.Text = "Hide Search";
+            this.chkHideSearch.UseVisualStyleBackColor = true;
+            // 
             // chkNewsInterest
             // 
             this.chkNewsInterest.AutoSize = true;
@@ -1290,7 +1327,7 @@ namespace Optimizer
             this.classicPhotoViewerSw.Font = new System.Drawing.Font("Segoe UI Semibold", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
             this.classicPhotoViewerSw.ForeColor = System.Drawing.Color.White;
             this.classicPhotoViewerSw.LabelText = "Restore Classic Photo Viewer";
-            this.classicPhotoViewerSw.Location = new System.Drawing.Point(21, 250);
+            this.classicPhotoViewerSw.Location = new System.Drawing.Point(21, 301);
             this.classicPhotoViewerSw.Margin = new System.Windows.Forms.Padding(6);
             this.classicPhotoViewerSw.Name = "classicPhotoViewerSw";
             this.classicPhotoViewerSw.Size = new System.Drawing.Size(414, 24);
@@ -1374,7 +1411,7 @@ namespace Optimizer
             this.label15.AutoSize = true;
             this.label15.Font = new System.Drawing.Font("Segoe UI Semibold", 10F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Underline))), System.Drawing.GraphicsUnit.Point, ((byte)(0)));
             this.label15.ForeColor = System.Drawing.Color.Silver;
-            this.label15.Location = new System.Drawing.Point(18, 319);
+            this.label15.Location = new System.Drawing.Point(18, 370);
             this.label15.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
             this.label15.Name = "label15";
             this.label15.Size = new System.Drawing.Size(117, 19);
@@ -1408,7 +1445,7 @@ namespace Optimizer
             this.panelWin11Tweaks.Controls.Add(this.leftTaskbarSw);
             this.panelWin11Tweaks.Controls.Add(this.classicContextSw);
             this.panelWin11Tweaks.Controls.Add(this.chatSw);
-            this.panelWin11Tweaks.Location = new System.Drawing.Point(0, 498);
+            this.panelWin11Tweaks.Location = new System.Drawing.Point(0, 531);
             this.panelWin11Tweaks.Name = "panelWin11Tweaks";
             this.panelWin11Tweaks.Size = new System.Drawing.Size(971, 159);
             this.panelWin11Tweaks.TabIndex = 80;
@@ -1576,7 +1613,7 @@ namespace Optimizer
             this.vbsSw.Font = new System.Drawing.Font("Segoe UI Semibold", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
             this.vbsSw.ForeColor = System.Drawing.Color.White;
             this.vbsSw.LabelText = "Disable Virtualization Based Security";
-            this.vbsSw.Location = new System.Drawing.Point(21, 220);
+            this.vbsSw.Location = new System.Drawing.Point(21, 271);
             this.vbsSw.Margin = new System.Windows.Forms.Padding(6);
             this.vbsSw.Name = "vbsSw";
             this.vbsSw.Size = new System.Drawing.Size(414, 24);
@@ -1609,7 +1646,7 @@ namespace Optimizer
             this.storeUpdatesSw.Font = new System.Drawing.Font("Segoe UI Semibold", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
             this.storeUpdatesSw.ForeColor = System.Drawing.Color.White;
             this.storeUpdatesSw.LabelText = "Disable Microsoft Store Updates";
-            this.storeUpdatesSw.Location = new System.Drawing.Point(20, 380);
+            this.storeUpdatesSw.Location = new System.Drawing.Point(20, 431);
             this.storeUpdatesSw.Margin = new System.Windows.Forms.Padding(6);
             this.storeUpdatesSw.Name = "storeUpdatesSw";
             this.storeUpdatesSw.Size = new System.Drawing.Size(414, 24);
@@ -1625,7 +1662,7 @@ namespace Optimizer
             this.oldMixerSw.Font = new System.Drawing.Font("Segoe UI Semibold", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
             this.oldMixerSw.ForeColor = System.Drawing.Color.White;
             this.oldMixerSw.LabelText = "Enable Classic Volume Mixer";
-            this.oldMixerSw.Location = new System.Drawing.Point(21, 220);
+            this.oldMixerSw.Location = new System.Drawing.Point(21, 271);
             this.oldMixerSw.Margin = new System.Windows.Forms.Padding(6);
             this.oldMixerSw.Name = "oldMixerSw";
             this.oldMixerSw.Size = new System.Drawing.Size(414, 24);
@@ -1641,7 +1678,7 @@ namespace Optimizer
             this.insiderSw.Font = new System.Drawing.Font("Segoe UI Semibold", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
             this.insiderSw.ForeColor = System.Drawing.Color.White;
             this.insiderSw.LabelText = "Disable Insider Service";
-            this.insiderSw.Location = new System.Drawing.Point(20, 410);
+            this.insiderSw.Location = new System.Drawing.Point(20, 461);
             this.insiderSw.Margin = new System.Windows.Forms.Padding(6);
             this.insiderSw.Name = "insiderSw";
             this.insiderSw.Size = new System.Drawing.Size(414, 24);
@@ -1657,7 +1694,7 @@ namespace Optimizer
             this.castSw.Font = new System.Drawing.Font("Segoe UI Semibold", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
             this.castSw.ForeColor = System.Drawing.Color.White;
             this.castSw.LabelText = "Remove Cast to Device";
-            this.castSw.Location = new System.Drawing.Point(21, 190);
+            this.castSw.Location = new System.Drawing.Point(21, 241);
             this.castSw.Margin = new System.Windows.Forms.Padding(6);
             this.castSw.Name = "castSw";
             this.castSw.Size = new System.Drawing.Size(414, 24);
@@ -1689,7 +1726,7 @@ namespace Optimizer
             this.sensorSw.Font = new System.Drawing.Font("Segoe UI Semibold", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
             this.sensorSw.ForeColor = System.Drawing.Color.White;
             this.sensorSw.LabelText = "Disable Sensor Services";
-            this.sensorSw.Location = new System.Drawing.Point(21, 160);
+            this.sensorSw.Location = new System.Drawing.Point(21, 211);
             this.sensorSw.Margin = new System.Windows.Forms.Padding(6);
             this.sensorSw.Name = "sensorSw";
             this.sensorSw.Size = new System.Drawing.Size(414, 24);
@@ -1753,7 +1790,7 @@ namespace Optimizer
             this.driversSw.Font = new System.Drawing.Font("Segoe UI Semibold", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
             this.driversSw.ForeColor = System.Drawing.Color.White;
             this.driversSw.LabelText = "Exclude Drivers from Update";
-            this.driversSw.Location = new System.Drawing.Point(20, 440);
+            this.driversSw.Location = new System.Drawing.Point(20, 491);
             this.driversSw.Margin = new System.Windows.Forms.Padding(6);
             this.driversSw.Name = "driversSw";
             this.driversSw.Size = new System.Drawing.Size(414, 24);
@@ -1785,7 +1822,7 @@ namespace Optimizer
             this.autoUpdatesSw.Font = new System.Drawing.Font("Segoe UI Semibold", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
             this.autoUpdatesSw.ForeColor = System.Drawing.Color.White;
             this.autoUpdatesSw.LabelText = "Disable Automatic Updates";
-            this.autoUpdatesSw.Location = new System.Drawing.Point(20, 350);
+            this.autoUpdatesSw.Location = new System.Drawing.Point(20, 401);
             this.autoUpdatesSw.Margin = new System.Windows.Forms.Padding(6);
             this.autoUpdatesSw.Name = "autoUpdatesSw";
             this.autoUpdatesSw.Size = new System.Drawing.Size(414, 24);
@@ -1801,7 +1838,7 @@ namespace Optimizer
             this.tpmSw.Font = new System.Drawing.Font("Segoe UI Semibold", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
             this.tpmSw.ForeColor = System.Drawing.Color.White;
             this.tpmSw.LabelText = "Disable TPM 2.0 Check";
-            this.tpmSw.Location = new System.Drawing.Point(21, 130);
+            this.tpmSw.Location = new System.Drawing.Point(21, 181);
             this.tpmSw.Margin = new System.Windows.Forms.Padding(6);
             this.tpmSw.Name = "tpmSw";
             this.tpmSw.Size = new System.Drawing.Size(414, 24);
@@ -1865,7 +1902,7 @@ namespace Optimizer
             this.longPathsSw.Font = new System.Drawing.Font("Segoe UI Semibold", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
             this.longPathsSw.ForeColor = System.Drawing.Color.White;
             this.longPathsSw.LabelText = "Enable Long Paths";
-            this.longPathsSw.Location = new System.Drawing.Point(21, 100);
+            this.longPathsSw.Location = new System.Drawing.Point(21, 151);
             this.longPathsSw.Margin = new System.Windows.Forms.Padding(6);
             this.longPathsSw.Name = "longPathsSw";
             this.longPathsSw.Size = new System.Drawing.Size(414, 24);
@@ -1881,7 +1918,7 @@ namespace Optimizer
             this.uODSw.Font = new System.Drawing.Font("Segoe UI Semibold", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
             this.uODSw.ForeColor = System.Drawing.Color.White;
             this.uODSw.LabelText = "Uninstall OneDrive";
-            this.uODSw.Location = new System.Drawing.Point(21, 280);
+            this.uODSw.Location = new System.Drawing.Point(21, 331);
             this.uODSw.Margin = new System.Windows.Forms.Padding(6);
             this.uODSw.Name = "uODSw";
             this.uODSw.Size = new System.Drawing.Size(414, 24);
@@ -1897,7 +1934,7 @@ namespace Optimizer
             this.peopleSw.Font = new System.Drawing.Font("Segoe UI Semibold", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
             this.peopleSw.ForeColor = System.Drawing.Color.White;
             this.peopleSw.LabelText = "Disable My People";
-            this.peopleSw.Location = new System.Drawing.Point(21, 70);
+            this.peopleSw.Location = new System.Drawing.Point(21, 121);
             this.peopleSw.Margin = new System.Windows.Forms.Padding(6);
             this.peopleSw.Name = "peopleSw";
             this.peopleSw.Size = new System.Drawing.Size(414, 24);
@@ -1943,11 +1980,11 @@ namespace Optimizer
             this.windows8Tab.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
             this.windows8Tab.Controls.Add(this.label21);
             this.windows8Tab.Controls.Add(this.disableOneDriveSw);
-            this.windows8Tab.Location = new System.Drawing.Point(4, 25);
+            this.windows8Tab.Location = new System.Drawing.Point(4, 26);
             this.windows8Tab.Margin = new System.Windows.Forms.Padding(2);
             this.windows8Tab.Name = "windows8Tab";
             this.windows8Tab.Padding = new System.Windows.Forms.Padding(2);
-            this.windows8Tab.Size = new System.Drawing.Size(1273, 695);
+            this.windows8Tab.Size = new System.Drawing.Size(1273, 694);
             this.windows8Tab.TabIndex = 2;
             this.windows8Tab.Text = "Windows 8.1";
             // 
@@ -1989,11 +2026,11 @@ namespace Optimizer
             this.advancedTab.Controls.Add(this.btnRestartSafe);
             this.advancedTab.Controls.Add(this.loginVerboseSw);
             this.advancedTab.Controls.Add(this.hpetSw);
-            this.advancedTab.Location = new System.Drawing.Point(4, 25);
+            this.advancedTab.Location = new System.Drawing.Point(4, 26);
             this.advancedTab.Margin = new System.Windows.Forms.Padding(2);
             this.advancedTab.Name = "advancedTab";
             this.advancedTab.Padding = new System.Windows.Forms.Padding(2);
-            this.advancedTab.Size = new System.Drawing.Size(1273, 695);
+            this.advancedTab.Size = new System.Drawing.Size(1273, 694);
             this.advancedTab.TabIndex = 15;
             this.advancedTab.Text = "Advanced";
             // 
@@ -2091,10 +2128,10 @@ namespace Optimizer
             this.modernAppsTab.Controls.Add(this.txtModernAppsTitle);
             this.modernAppsTab.Controls.Add(this.chkOnlyRemovable);
             this.modernAppsTab.Controls.Add(this.chkSelectAllModernApps);
-            this.modernAppsTab.Location = new System.Drawing.Point(4, 25);
+            this.modernAppsTab.Location = new System.Drawing.Point(4, 26);
             this.modernAppsTab.Name = "modernAppsTab";
             this.modernAppsTab.Padding = new System.Windows.Forms.Padding(3);
-            this.modernAppsTab.Size = new System.Drawing.Size(1273, 695);
+            this.modernAppsTab.Size = new System.Drawing.Size(1273, 694);
             this.modernAppsTab.TabIndex = 11;
             this.modernAppsTab.Text = "UWP Apps";
             // 
@@ -2215,22 +2252,23 @@ namespace Optimizer
             this.startupTab.Controls.Add(this.panel3);
             this.startupTab.Controls.Add(this.removeStartupItemB);
             this.startupTab.Controls.Add(this.startupTitle);
-            this.startupTab.Location = new System.Drawing.Point(4, 25);
+            this.startupTab.Location = new System.Drawing.Point(4, 26);
             this.startupTab.Margin = new System.Windows.Forms.Padding(2);
             this.startupTab.Name = "startupTab";
-            this.startupTab.Size = new System.Drawing.Size(1273, 695);
+            this.startupTab.Size = new System.Drawing.Size(1273, 694);
             this.startupTab.TabIndex = 7;
             this.startupTab.Text = "Startup";
             // 
             // cancelBackup
             // 
+            this.cancelBackup.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
             this.cancelBackup.BackColor = System.Drawing.Color.DodgerBlue;
             this.cancelBackup.FlatAppearance.BorderSize = 0;
             this.cancelBackup.FlatAppearance.MouseDownBackColor = System.Drawing.Color.RoyalBlue;
             this.cancelBackup.FlatAppearance.MouseOverBackColor = System.Drawing.Color.RoyalBlue;
             this.cancelBackup.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
             this.cancelBackup.ForeColor = System.Drawing.Color.White;
-            this.cancelBackup.Location = new System.Drawing.Point(126, 551);
+            this.cancelBackup.Location = new System.Drawing.Point(125, 658);
             this.cancelBackup.Margin = new System.Windows.Forms.Padding(2);
             this.cancelBackup.Name = "cancelBackup";
             this.cancelBackup.Size = new System.Drawing.Size(110, 30);
@@ -2242,13 +2280,14 @@ namespace Optimizer
             // 
             // doBackup
             // 
+            this.doBackup.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
             this.doBackup.BackColor = System.Drawing.Color.DodgerBlue;
             this.doBackup.FlatAppearance.BorderSize = 0;
             this.doBackup.FlatAppearance.MouseDownBackColor = System.Drawing.Color.RoyalBlue;
             this.doBackup.FlatAppearance.MouseOverBackColor = System.Drawing.Color.RoyalBlue;
             this.doBackup.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
             this.doBackup.ForeColor = System.Drawing.Color.White;
-            this.doBackup.Location = new System.Drawing.Point(12, 551);
+            this.doBackup.Location = new System.Drawing.Point(11, 658);
             this.doBackup.Margin = new System.Windows.Forms.Padding(2);
             this.doBackup.Name = "doBackup";
             this.doBackup.Size = new System.Drawing.Size(110, 30);
@@ -2260,11 +2299,12 @@ namespace Optimizer
             // 
             // txtBackupTitle
             // 
+            this.txtBackupTitle.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
             this.txtBackupTitle.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
             this.txtBackupTitle.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
             this.txtBackupTitle.Font = new System.Drawing.Font("Segoe UI Semibold", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
             this.txtBackupTitle.ForeColor = System.Drawing.Color.White;
-            this.txtBackupTitle.Location = new System.Drawing.Point(12, 522);
+            this.txtBackupTitle.Location = new System.Drawing.Point(11, 629);
             this.txtBackupTitle.Margin = new System.Windows.Forms.Padding(2);
             this.txtBackupTitle.Name = "txtBackupTitle";
             this.txtBackupTitle.Size = new System.Drawing.Size(323, 25);
@@ -2274,10 +2314,11 @@ namespace Optimizer
             // 
             // lblBackupTitle
             // 
+            this.lblBackupTitle.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
             this.lblBackupTitle.AutoSize = true;
             this.lblBackupTitle.Font = new System.Drawing.Font("Segoe UI Semibold", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
             this.lblBackupTitle.ForeColor = System.Drawing.Color.Silver;
-            this.lblBackupTitle.Location = new System.Drawing.Point(8, 501);
+            this.lblBackupTitle.Location = new System.Drawing.Point(7, 608);
             this.lblBackupTitle.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
             this.lblBackupTitle.Name = "lblBackupTitle";
             this.lblBackupTitle.Size = new System.Drawing.Size(86, 19);
@@ -2288,13 +2329,14 @@ namespace Optimizer
             // 
             // restoreStartupB
             // 
+            this.restoreStartupB.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
             this.restoreStartupB.BackColor = System.Drawing.Color.DodgerBlue;
             this.restoreStartupB.FlatAppearance.BorderSize = 0;
             this.restoreStartupB.FlatAppearance.MouseDownBackColor = System.Drawing.Color.RoyalBlue;
             this.restoreStartupB.FlatAppearance.MouseOverBackColor = System.Drawing.Color.RoyalBlue;
             this.restoreStartupB.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
             this.restoreStartupB.ForeColor = System.Drawing.Color.White;
-            this.restoreStartupB.Location = new System.Drawing.Point(206, 502);
+            this.restoreStartupB.Location = new System.Drawing.Point(205, 609);
             this.restoreStartupB.Margin = new System.Windows.Forms.Padding(2);
             this.restoreStartupB.Name = "restoreStartupB";
             this.restoreStartupB.Size = new System.Drawing.Size(190, 31);
@@ -2305,13 +2347,14 @@ namespace Optimizer
             // 
             // backupStartupB
             // 
+            this.backupStartupB.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
             this.backupStartupB.BackColor = System.Drawing.Color.DodgerBlue;
             this.backupStartupB.FlatAppearance.BorderSize = 0;
             this.backupStartupB.FlatAppearance.MouseDownBackColor = System.Drawing.Color.RoyalBlue;
             this.backupStartupB.FlatAppearance.MouseOverBackColor = System.Drawing.Color.RoyalBlue;
             this.backupStartupB.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
             this.backupStartupB.ForeColor = System.Drawing.Color.White;
-            this.backupStartupB.Location = new System.Drawing.Point(12, 502);
+            this.backupStartupB.Location = new System.Drawing.Point(11, 609);
             this.backupStartupB.Margin = new System.Windows.Forms.Padding(2);
             this.backupStartupB.Name = "backupStartupB";
             this.backupStartupB.Size = new System.Drawing.Size(190, 31);
@@ -2329,7 +2372,7 @@ namespace Optimizer
             this.findInRegB.FlatAppearance.MouseOverBackColor = System.Drawing.Color.RoyalBlue;
             this.findInRegB.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
             this.findInRegB.ForeColor = System.Drawing.Color.White;
-            this.findInRegB.Location = new System.Drawing.Point(883, 539);
+            this.findInRegB.Location = new System.Drawing.Point(883, 654);
             this.findInRegB.Margin = new System.Windows.Forms.Padding(2);
             this.findInRegB.Name = "findInRegB";
             this.findInRegB.Size = new System.Drawing.Size(190, 31);
@@ -2347,7 +2390,7 @@ namespace Optimizer
             this.locateFileB.FlatAppearance.MouseOverBackColor = System.Drawing.Color.RoyalBlue;
             this.locateFileB.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
             this.locateFileB.ForeColor = System.Drawing.Color.White;
-            this.locateFileB.Location = new System.Drawing.Point(1078, 503);
+            this.locateFileB.Location = new System.Drawing.Point(1078, 618);
             this.locateFileB.Margin = new System.Windows.Forms.Padding(2);
             this.locateFileB.Name = "locateFileB";
             this.locateFileB.Size = new System.Drawing.Size(190, 31);
@@ -2365,7 +2408,7 @@ namespace Optimizer
             this.refreshStartupB.FlatAppearance.MouseOverBackColor = System.Drawing.Color.RoyalBlue;
             this.refreshStartupB.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
             this.refreshStartupB.ForeColor = System.Drawing.Color.White;
-            this.refreshStartupB.Location = new System.Drawing.Point(1078, 539);
+            this.refreshStartupB.Location = new System.Drawing.Point(1078, 654);
             this.refreshStartupB.Margin = new System.Windows.Forms.Padding(2);
             this.refreshStartupB.Name = "refreshStartupB";
             this.refreshStartupB.Size = new System.Drawing.Size(190, 31);
@@ -2383,7 +2426,7 @@ namespace Optimizer
             this.panel3.Location = new System.Drawing.Point(11, 40);
             this.panel3.Margin = new System.Windows.Forms.Padding(2);
             this.panel3.Name = "panel3";
-            this.panel3.Size = new System.Drawing.Size(1257, 459);
+            this.panel3.Size = new System.Drawing.Size(1257, 520);
             this.panel3.TabIndex = 37;
             // 
             // listStartupItems
@@ -2405,7 +2448,7 @@ namespace Optimizer
             this.listStartupItems.MultiSelect = false;
             this.listStartupItems.Name = "listStartupItems";
             this.listStartupItems.ShowGroups = false;
-            this.listStartupItems.Size = new System.Drawing.Size(1255, 457);
+            this.listStartupItems.Size = new System.Drawing.Size(1255, 518);
             this.listStartupItems.TabIndex = 0;
             this.listStartupItems.UseCompatibleStateImageBehavior = false;
             this.listStartupItems.View = System.Windows.Forms.View.Details;
@@ -2436,7 +2479,7 @@ namespace Optimizer
             this.removeStartupItemB.FlatAppearance.MouseOverBackColor = System.Drawing.Color.RoyalBlue;
             this.removeStartupItemB.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
             this.removeStartupItemB.ForeColor = System.Drawing.Color.White;
-            this.removeStartupItemB.Location = new System.Drawing.Point(883, 503);
+            this.removeStartupItemB.Location = new System.Drawing.Point(883, 618);
             this.removeStartupItemB.Margin = new System.Windows.Forms.Padding(2);
             this.removeStartupItemB.Name = "removeStartupItemB";
             this.removeStartupItemB.Size = new System.Drawing.Size(190, 31);
@@ -2472,10 +2515,10 @@ namespace Optimizer
             this.appsTab.Controls.Add(this.panel10);
             this.appsTab.Controls.Add(this.panelCommonApps);
             this.appsTab.Controls.Add(this.groupSystemTools);
-            this.appsTab.Location = new System.Drawing.Point(4, 25);
+            this.appsTab.Location = new System.Drawing.Point(4, 26);
             this.appsTab.Name = "appsTab";
             this.appsTab.Padding = new System.Windows.Forms.Padding(3);
-            this.appsTab.Size = new System.Drawing.Size(1273, 695);
+            this.appsTab.Size = new System.Drawing.Size(1273, 694);
             this.appsTab.TabIndex = 12;
             this.appsTab.Text = "Apps";
             // 
@@ -2487,7 +2530,7 @@ namespace Optimizer
             this.txtFeedError.ForeColor = System.Drawing.Color.Gold;
             this.txtFeedError.Location = new System.Drawing.Point(3, 47);
             this.txtFeedError.Name = "txtFeedError";
-            this.txtFeedError.Size = new System.Drawing.Size(1267, 525);
+            this.txtFeedError.Size = new System.Drawing.Size(1267, 524);
             this.txtFeedError.TabIndex = 171;
             this.txtFeedError.Text = "No internet connection, try refreshing links again";
             this.txtFeedError.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
@@ -2636,7 +2679,7 @@ namespace Optimizer
             this.panelCommonApps.Controls.Add(this.bitPref);
             this.panelCommonApps.Controls.Add(this.goToDownloadsB);
             this.panelCommonApps.Dock = System.Windows.Forms.DockStyle.Bottom;
-            this.panelCommonApps.Location = new System.Drawing.Point(3, 572);
+            this.panelCommonApps.Location = new System.Drawing.Point(3, 571);
             this.panelCommonApps.Name = "panelCommonApps";
             this.panelCommonApps.Size = new System.Drawing.Size(1267, 120);
             this.panelCommonApps.TabIndex = 162;
@@ -2831,11 +2874,11 @@ namespace Optimizer
             this.cleanerTab.Controls.Add(this.panel14);
             this.cleanerTab.Controls.Add(this.panel13);
             this.cleanerTab.Controls.Add(this.panel1);
-            this.cleanerTab.Location = new System.Drawing.Point(4, 25);
+            this.cleanerTab.Location = new System.Drawing.Point(4, 26);
             this.cleanerTab.Margin = new System.Windows.Forms.Padding(2);
             this.cleanerTab.Name = "cleanerTab";
             this.cleanerTab.Padding = new System.Windows.Forms.Padding(2);
-            this.cleanerTab.Size = new System.Drawing.Size(1273, 695);
+            this.cleanerTab.Size = new System.Drawing.Size(1273, 694);
             this.cleanerTab.TabIndex = 5;
             this.cleanerTab.Text = "Cleaner";
             // 
@@ -2846,7 +2889,7 @@ namespace Optimizer
             this.panel14.Dock = System.Windows.Forms.DockStyle.Fill;
             this.panel14.Location = new System.Drawing.Point(221, 2);
             this.panel14.Name = "panel14";
-            this.panel14.Size = new System.Drawing.Size(1050, 630);
+            this.panel14.Size = new System.Drawing.Size(1050, 629);
             this.panel14.TabIndex = 51;
             // 
             // listCleanPreview
@@ -2860,7 +2903,7 @@ namespace Optimizer
             this.listCleanPreview.HorizontalScrollbar = true;
             this.listCleanPreview.Location = new System.Drawing.Point(0, 0);
             this.listCleanPreview.Name = "listCleanPreview";
-            this.listCleanPreview.Size = new System.Drawing.Size(1048, 628);
+            this.listCleanPreview.Size = new System.Drawing.Size(1048, 627);
             this.listCleanPreview.TabIndex = 1;
             // 
             // panel13
@@ -2874,7 +2917,7 @@ namespace Optimizer
             this.panel13.Controls.Add(this.cleanDriveB);
             this.panel13.Controls.Add(this.lblFootprint);
             this.panel13.Dock = System.Windows.Forms.DockStyle.Bottom;
-            this.panel13.Location = new System.Drawing.Point(221, 632);
+            this.panel13.Location = new System.Drawing.Point(221, 631);
             this.panel13.Name = "panel13";
             this.panel13.Size = new System.Drawing.Size(1050, 61);
             this.panel13.TabIndex = 50;
@@ -3022,7 +3065,7 @@ namespace Optimizer
             this.panel1.Location = new System.Drawing.Point(2, 2);
             this.panel1.Margin = new System.Windows.Forms.Padding(2);
             this.panel1.Name = "panel1";
-            this.panel1.Size = new System.Drawing.Size(219, 691);
+            this.panel1.Size = new System.Drawing.Size(219, 690);
             this.panel1.TabIndex = 47;
             // 
             // bravePasswords
@@ -3453,10 +3496,10 @@ namespace Optimizer
             // 
             this.pingerTab.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
             this.pingerTab.Controls.Add(this.netTools);
-            this.pingerTab.Location = new System.Drawing.Point(4, 25);
+            this.pingerTab.Location = new System.Drawing.Point(4, 26);
             this.pingerTab.Name = "pingerTab";
             this.pingerTab.Padding = new System.Windows.Forms.Padding(3);
-            this.pingerTab.Size = new System.Drawing.Size(1273, 695);
+            this.pingerTab.Size = new System.Drawing.Size(1273, 694);
             this.pingerTab.TabIndex = 13;
             this.pingerTab.Text = "Pinger";
             // 
@@ -3472,7 +3515,7 @@ namespace Optimizer
             this.netTools.Name = "netTools";
             this.netTools.Padding = new System.Drawing.Point(0, 0);
             this.netTools.SelectedIndex = 0;
-            this.netTools.Size = new System.Drawing.Size(1267, 689);
+            this.netTools.Size = new System.Drawing.Size(1267, 688);
             this.netTools.SizeMode = System.Windows.Forms.TabSizeMode.Fixed;
             this.netTools.TabIndex = 104;
             // 
@@ -3503,7 +3546,7 @@ namespace Optimizer
             this.tabPage2.Location = new System.Drawing.Point(4, 4);
             this.tabPage2.Name = "tabPage2";
             this.tabPage2.Padding = new System.Windows.Forms.Padding(3);
-            this.tabPage2.Size = new System.Drawing.Size(1259, 660);
+            this.tabPage2.Size = new System.Drawing.Size(1259, 658);
             this.tabPage2.TabIndex = 1;
             this.tabPage2.Text = "DNS";
             // 
@@ -3815,7 +3858,7 @@ namespace Optimizer
             this.tabPage1.Location = new System.Drawing.Point(4, 4);
             this.tabPage1.Name = "tabPage1";
             this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
-            this.tabPage1.Size = new System.Drawing.Size(1259, 659);
+            this.tabPage1.Size = new System.Drawing.Size(1259, 658);
             this.tabPage1.TabIndex = 0;
             this.tabPage1.Text = "Pinger";
             // 
@@ -3990,11 +4033,11 @@ namespace Optimizer
             this.hostsEditorTab.Controls.Add(this.panel4);
             this.hostsEditorTab.Controls.Add(this.hostsTitle);
             this.hostsEditorTab.Controls.Add(this.linkLocate);
-            this.hostsEditorTab.Location = new System.Drawing.Point(4, 25);
+            this.hostsEditorTab.Location = new System.Drawing.Point(4, 26);
             this.hostsEditorTab.Margin = new System.Windows.Forms.Padding(2);
             this.hostsEditorTab.Name = "hostsEditorTab";
             this.hostsEditorTab.Padding = new System.Windows.Forms.Padding(2);
-            this.hostsEditorTab.Size = new System.Drawing.Size(1273, 695);
+            this.hostsEditorTab.Size = new System.Drawing.Size(1273, 694);
             this.hostsEditorTab.TabIndex = 9;
             this.hostsEditorTab.Text = "Hosts";
             // 
@@ -4302,11 +4345,11 @@ namespace Optimizer
             this.registryFixerTab.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
             this.registryFixerTab.Controls.Add(this.panel2);
             this.registryFixerTab.Controls.Add(this.registryTitle);
-            this.registryFixerTab.Location = new System.Drawing.Point(4, 25);
+            this.registryFixerTab.Location = new System.Drawing.Point(4, 26);
             this.registryFixerTab.Margin = new System.Windows.Forms.Padding(2);
             this.registryFixerTab.Name = "registryFixerTab";
             this.registryFixerTab.Padding = new System.Windows.Forms.Padding(2);
-            this.registryFixerTab.Size = new System.Drawing.Size(1273, 695);
+            this.registryFixerTab.Size = new System.Drawing.Size(1273, 694);
             this.registryFixerTab.TabIndex = 8;
             this.registryFixerTab.Text = "Registry";
             // 
@@ -4513,10 +4556,10 @@ namespace Optimizer
             this.indiciumTab.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
             this.indiciumTab.Controls.Add(this.panel12);
             this.indiciumTab.Controls.Add(this.panel11);
-            this.indiciumTab.Location = new System.Drawing.Point(4, 25);
+            this.indiciumTab.Location = new System.Drawing.Point(4, 26);
             this.indiciumTab.Name = "indiciumTab";
             this.indiciumTab.Padding = new System.Windows.Forms.Padding(3);
-            this.indiciumTab.Size = new System.Drawing.Size(1273, 695);
+            this.indiciumTab.Size = new System.Drawing.Size(1273, 694);
             this.indiciumTab.TabIndex = 14;
             this.indiciumTab.Text = "Hardware";
             // 
@@ -4527,7 +4570,7 @@ namespace Optimizer
             this.panel12.Dock = System.Windows.Forms.DockStyle.Fill;
             this.panel12.Location = new System.Drawing.Point(3, 38);
             this.panel12.Name = "panel12";
-            this.panel12.Size = new System.Drawing.Size(1267, 654);
+            this.panel12.Size = new System.Drawing.Size(1267, 653);
             this.panel12.TabIndex = 2;
             // 
             // specsTree
@@ -4582,7 +4625,7 @@ namespace Optimizer
             treeNode14,
             treeNode15,
             treeNode16});
-            this.specsTree.Size = new System.Drawing.Size(1265, 652);
+            this.specsTree.Size = new System.Drawing.Size(1265, 651);
             this.specsTree.TabIndex = 0;
             this.specsTree.NodeMouseClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.specsTree_NodeMouseClick);
             // 
@@ -4701,11 +4744,11 @@ namespace Optimizer
             // 
             this.integratorTab.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
             this.integratorTab.Controls.Add(this.synapse);
-            this.integratorTab.Location = new System.Drawing.Point(4, 25);
+            this.integratorTab.Location = new System.Drawing.Point(4, 26);
             this.integratorTab.Margin = new System.Windows.Forms.Padding(2);
             this.integratorTab.Name = "integratorTab";
             this.integratorTab.Padding = new System.Windows.Forms.Padding(2);
-            this.integratorTab.Size = new System.Drawing.Size(1273, 695);
+            this.integratorTab.Size = new System.Drawing.Size(1273, 694);
             this.integratorTab.TabIndex = 10;
             this.integratorTab.Text = "Integrator";
             // 
@@ -4725,7 +4768,7 @@ namespace Optimizer
             this.synapse.Name = "synapse";
             this.synapse.Padding = new System.Drawing.Point(0, 0);
             this.synapse.SelectedIndex = 0;
-            this.synapse.Size = new System.Drawing.Size(1269, 691);
+            this.synapse.Size = new System.Drawing.Size(1269, 690);
             this.synapse.SizeMode = System.Windows.Forms.TabSizeMode.Fixed;
             this.synapse.TabIndex = 0;
             // 
@@ -4744,7 +4787,7 @@ namespace Optimizer
             this.integratorInfoTab.Margin = new System.Windows.Forms.Padding(2);
             this.integratorInfoTab.Name = "integratorInfoTab";
             this.integratorInfoTab.Padding = new System.Windows.Forms.Padding(2);
-            this.integratorInfoTab.Size = new System.Drawing.Size(1261, 662);
+            this.integratorInfoTab.Size = new System.Drawing.Size(1261, 660);
             this.integratorInfoTab.TabIndex = 0;
             this.integratorInfoTab.Text = "Info";
             // 
@@ -4853,7 +4896,7 @@ namespace Optimizer
             this.tabPage8.Margin = new System.Windows.Forms.Padding(2);
             this.tabPage8.Name = "tabPage8";
             this.tabPage8.Padding = new System.Windows.Forms.Padding(2);
-            this.tabPage8.Size = new System.Drawing.Size(1261, 661);
+            this.tabPage8.Size = new System.Drawing.Size(1261, 660);
             this.tabPage8.TabIndex = 1;
             this.tabPage8.Text = "Add/Modify";
             // 
@@ -5198,7 +5241,7 @@ namespace Optimizer
             this.tabPage9.Margin = new System.Windows.Forms.Padding(2);
             this.tabPage9.Name = "tabPage9";
             this.tabPage9.Padding = new System.Windows.Forms.Padding(2);
-            this.tabPage9.Size = new System.Drawing.Size(1261, 661);
+            this.tabPage9.Size = new System.Drawing.Size(1261, 660);
             this.tabPage9.TabIndex = 2;
             this.tabPage9.Text = "Remove";
             // 
@@ -5309,7 +5352,7 @@ namespace Optimizer
             this.tabPage10.Margin = new System.Windows.Forms.Padding(2);
             this.tabPage10.Name = "tabPage10";
             this.tabPage10.Padding = new System.Windows.Forms.Padding(2);
-            this.tabPage10.Size = new System.Drawing.Size(1261, 661);
+            this.tabPage10.Size = new System.Drawing.Size(1261, 660);
             this.tabPage10.TabIndex = 3;
             this.tabPage10.Text = "Ready Menus";
             // 
@@ -5457,7 +5500,7 @@ namespace Optimizer
             this.tabPage11.Margin = new System.Windows.Forms.Padding(2);
             this.tabPage11.Name = "tabPage11";
             this.tabPage11.Padding = new System.Windows.Forms.Padding(2);
-            this.tabPage11.Size = new System.Drawing.Size(1261, 661);
+            this.tabPage11.Size = new System.Drawing.Size(1261, 660);
             this.tabPage11.TabIndex = 4;
             this.tabPage11.Text = "Run Dialog";
             // 
@@ -5647,7 +5690,7 @@ namespace Optimizer
             this.tabPage3.Controls.Add(this.fontSetTitle);
             this.tabPage3.Location = new System.Drawing.Point(4, 4);
             this.tabPage3.Name = "tabPage3";
-            this.tabPage3.Size = new System.Drawing.Size(1261, 661);
+            this.tabPage3.Size = new System.Drawing.Size(1261, 660);
             this.tabPage3.TabIndex = 5;
             this.tabPage3.Text = "Fonts";
             // 
@@ -5811,6 +5854,7 @@ namespace Optimizer
             // 
             this.optionsTab.AutoScroll = true;
             this.optionsTab.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
+            this.optionsTab.Controls.Add(this.autoUpdateToggle);
             this.optionsTab.Controls.Add(this.btnReinforce);
             this.optionsTab.Controls.Add(this.linkLabel6);
             this.optionsTab.Controls.Add(this.linkLabel4);
@@ -5839,14 +5883,31 @@ namespace Optimizer
             this.optionsTab.Controls.Add(this.autoStartToggle);
             this.optionsTab.Controls.Add(this.colorPicker1);
             this.optionsTab.Controls.Add(this.quickAccessToggle);
-            this.optionsTab.Location = new System.Drawing.Point(4, 25);
+            this.optionsTab.Location = new System.Drawing.Point(4, 26);
             this.optionsTab.Margin = new System.Windows.Forms.Padding(2);
             this.optionsTab.Name = "optionsTab";
             this.optionsTab.Padding = new System.Windows.Forms.Padding(2);
-            this.optionsTab.Size = new System.Drawing.Size(1273, 695);
+            this.optionsTab.Size = new System.Drawing.Size(1273, 694);
             this.optionsTab.TabIndex = 6;
             this.optionsTab.Text = "Options";
             // 
+            // autoUpdateToggle
+            // 
+            this.autoUpdateToggle.AccessibleName = "Update on launch";
+            this.autoUpdateToggle.AccessibleRole = System.Windows.Forms.AccessibleRole.CheckButton;
+            this.autoUpdateToggle.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
+            this.autoUpdateToggle.Font = new System.Drawing.Font("Segoe UI Semibold", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+            this.autoUpdateToggle.ForeColor = System.Drawing.Color.White;
+            this.autoUpdateToggle.LabelText = "Update on launch";
+            this.autoUpdateToggle.Location = new System.Drawing.Point(21, 81);
+            this.autoUpdateToggle.Margin = new System.Windows.Forms.Padding(6);
+            this.autoUpdateToggle.Name = "autoUpdateToggle";
+            this.autoUpdateToggle.Size = new System.Drawing.Size(374, 24);
+            this.autoUpdateToggle.TabIndex = 105;
+            this.autoUpdateToggle.Tag = "themeable";
+            this.autoUpdateToggle.ToggleChecked = false;
+            this.autoUpdateToggle.ToggleClicked += new System.EventHandler(this.autoUpdateToggle_ToggleClicked);
+            // 
             // btnReinforce
             // 
             this.btnReinforce.BackColor = System.Drawing.Color.DodgerBlue;
@@ -5856,7 +5917,7 @@ namespace Optimizer
             this.btnReinforce.FlatAppearance.MouseOverBackColor = System.Drawing.Color.RoyalBlue;
             this.btnReinforce.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
             this.btnReinforce.ForeColor = System.Drawing.Color.White;
-            this.btnReinforce.Location = new System.Drawing.Point(34, 487);
+            this.btnReinforce.Location = new System.Drawing.Point(34, 541);
             this.btnReinforce.Margin = new System.Windows.Forms.Padding(2);
             this.btnReinforce.Name = "btnReinforce";
             this.btnReinforce.Size = new System.Drawing.Size(261, 31);
@@ -6118,7 +6179,7 @@ namespace Optimizer
             this.btnOpenConf.FlatAppearance.MouseOverBackColor = System.Drawing.Color.RoyalBlue;
             this.btnOpenConf.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
             this.btnOpenConf.ForeColor = System.Drawing.Color.White;
-            this.btnOpenConf.Location = new System.Drawing.Point(34, 417);
+            this.btnOpenConf.Location = new System.Drawing.Point(34, 471);
             this.btnOpenConf.Margin = new System.Windows.Forms.Padding(2);
             this.btnOpenConf.Name = "btnOpenConf";
             this.btnOpenConf.Size = new System.Drawing.Size(261, 31);
@@ -6132,7 +6193,7 @@ namespace Optimizer
             this.lblTroubleshoot.AutoSize = true;
             this.lblTroubleshoot.Font = new System.Drawing.Font("Segoe UI Semibold", 13F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
             this.lblTroubleshoot.ForeColor = System.Drawing.Color.DodgerBlue;
-            this.lblTroubleshoot.Location = new System.Drawing.Point(17, 344);
+            this.lblTroubleshoot.Location = new System.Drawing.Point(17, 398);
             this.lblTroubleshoot.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
             this.lblTroubleshoot.Name = "lblTroubleshoot";
             this.lblTroubleshoot.Size = new System.Drawing.Size(150, 25);
@@ -6145,7 +6206,7 @@ namespace Optimizer
             this.lblUpdating.AutoSize = true;
             this.lblUpdating.Font = new System.Drawing.Font("Segoe UI Semibold", 13F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
             this.lblUpdating.ForeColor = System.Drawing.Color.DodgerBlue;
-            this.lblUpdating.Location = new System.Drawing.Point(17, 244);
+            this.lblUpdating.Location = new System.Drawing.Point(17, 298);
             this.lblUpdating.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
             this.lblUpdating.Name = "lblUpdating";
             this.lblUpdating.Size = new System.Drawing.Size(142, 25);
@@ -6161,7 +6222,7 @@ namespace Optimizer
             this.btnViewLog.FlatAppearance.MouseOverBackColor = System.Drawing.Color.RoyalBlue;
             this.btnViewLog.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
             this.btnViewLog.ForeColor = System.Drawing.Color.White;
-            this.btnViewLog.Location = new System.Drawing.Point(34, 382);
+            this.btnViewLog.Location = new System.Drawing.Point(34, 436);
             this.btnViewLog.Margin = new System.Windows.Forms.Padding(2);
             this.btnViewLog.Name = "btnViewLog";
             this.btnViewLog.Size = new System.Drawing.Size(261, 31);
@@ -6196,7 +6257,7 @@ namespace Optimizer
             this.btnUpdate.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
             this.btnUpdate.Font = new System.Drawing.Font("Segoe UI Semibold", 10F);
             this.btnUpdate.ForeColor = System.Drawing.Color.White;
-            this.btnUpdate.Location = new System.Drawing.Point(34, 278);
+            this.btnUpdate.Location = new System.Drawing.Point(34, 332);
             this.btnUpdate.Margin = new System.Windows.Forms.Padding(2);
             this.btnUpdate.Name = "btnUpdate";
             this.btnUpdate.Size = new System.Drawing.Size(261, 31);
@@ -6214,7 +6275,7 @@ namespace Optimizer
             this.btnResetConfig.FlatAppearance.MouseOverBackColor = System.Drawing.Color.RoyalBlue;
             this.btnResetConfig.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
             this.btnResetConfig.ForeColor = System.Drawing.Color.White;
-            this.btnResetConfig.Location = new System.Drawing.Point(34, 452);
+            this.btnResetConfig.Location = new System.Drawing.Point(34, 506);
             this.btnResetConfig.Margin = new System.Windows.Forms.Padding(2);
             this.btnResetConfig.Name = "btnResetConfig";
             this.btnResetConfig.Size = new System.Drawing.Size(261, 31);
@@ -6228,7 +6289,7 @@ namespace Optimizer
             this.lblTheming.AutoSize = true;
             this.lblTheming.Font = new System.Drawing.Font("Segoe UI Semibold", 13F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
             this.lblTheming.ForeColor = System.Drawing.Color.DodgerBlue;
-            this.lblTheming.Location = new System.Drawing.Point(17, 95);
+            this.lblTheming.Location = new System.Drawing.Point(17, 149);
             this.lblTheming.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
             this.lblTheming.Name = "lblTheming";
             this.lblTheming.Size = new System.Drawing.Size(174, 25);
@@ -6256,7 +6317,7 @@ namespace Optimizer
             // colorPicker1
             // 
             this.colorPicker1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
-            this.colorPicker1.Location = new System.Drawing.Point(22, 123);
+            this.colorPicker1.Location = new System.Drawing.Point(22, 177);
             this.colorPicker1.Name = "colorPicker1";
             this.colorPicker1.Size = new System.Drawing.Size(139, 98);
             this.colorPicker1.TabIndex = 97;
@@ -6525,7 +6586,7 @@ namespace Optimizer
             this.ForeColor = System.Drawing.Color.White;
             this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
             this.Margin = new System.Windows.Forms.Padding(2, 3, 2, 3);
-            this.MinimumSize = new System.Drawing.Size(1299, 763);
+            this.MinimumSize = new System.Drawing.Size(1299, 829);
             this.Name = "MainForm";
             this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
             this.Text = "Optimizer";
@@ -6648,7 +6709,7 @@ namespace Optimizer
         private System.Windows.Forms.PictureBox pictureBox1;
         private System.Windows.Forms.Label label2;
         private System.Windows.Forms.Panel bpanel;
-        private MoonTabs tabCollection;
+        private Optimizer.MoonTabs tabCollection;
         private System.Windows.Forms.TabPage universalTab;
         private System.Windows.Forms.TabPage windows10Tab;
         private System.Windows.Forms.TabPage windows8Tab;
@@ -6694,7 +6755,7 @@ namespace Optimizer
         private System.Windows.Forms.Button addHostB;
         private System.Windows.Forms.TextBox txtIP;
         private System.Windows.Forms.TabPage integratorTab;
-        private MoonTabs synapse;
+        private Optimizer.MoonTabs synapse;
         private System.Windows.Forms.TabPage integratorInfoTab;
         private System.Windows.Forms.TabPage tabPage8;
         private System.Windows.Forms.TabPage tabPage9;
@@ -6951,7 +7012,7 @@ namespace Optimizer
         private MoonSelect boxDNS;
         private Controls.ColorPicker colorPicker1;
         private ToggleCard autoStartToggle;
-        private MoonTabs netTools;
+        private Optimizer.MoonTabs netTools;
         private Label dnsTitle;
         private ToggleCard vbsSw;
         private Label label14;
@@ -7047,6 +7108,9 @@ namespace Optimizer
         private MoonCheck chkMenuDelays;
         private MoonCheck chkAllTrayIcons;
         private MoonCheck chkNewsInterest;
+        private ToggleCard autoUpdateToggle;
+        private MoonCheck chkHideFeed;
+        private MoonCheck chkHideSearch;
     }
 }
 

+ 32 - 100
Optimizer/Forms/MainForm.cs

@@ -868,6 +868,7 @@ namespace Optimizer
             quickAccessToggle.ToggleChecked = OptionsHelper.CurrentOptions.EnableTray;
             launcherIcon.Visible = OptionsHelper.CurrentOptions.EnableTray;
             autoStartToggle.ToggleChecked = OptionsHelper.CurrentOptions.AutoStart;
+            autoUpdateToggle.ToggleChecked = OptionsHelper.CurrentOptions.UpdateOnLaunch;
             //telemetrySvcToggle.ToggleChecked = Options.CurrentOptions.DisableOptimizerTelemetry;
 
             //seperatorNetMon.Visible = Options.CurrentOptions.EnableTray;
@@ -1110,9 +1111,12 @@ namespace Optimizer
                 txtDownloadFolder.Text = OptionsHelper.CurrentOptions.AppsFolder;
             }
 
-            if (!Program.EXPERIMENTAL_BUILD && PingerHelper.IsInternetAvailable())
+            if (OptionsHelper.CurrentOptions.UpdateOnLaunch)
             {
-                CheckForUpdate(true);
+                if (!Program.EXPERIMENTAL_BUILD && PingerHelper.IsInternetAvailable())
+                {
+                    CheckForUpdate(true);
+                }
             }
 
             if (Program.EXPERIMENTAL_BUILD)
@@ -2078,80 +2082,6 @@ namespace Optimizer
         //    });
         //}
 
-        //private void TranslateIndicium()
-        //{
-        //    if (hwDetailed.ToggleChecked)
-        //    {
-        //        // DETAILS TRANSLATION
-        //        TreeNode cpu = specsTree.Nodes["cpu"];
-        //        TreeNode ram = specsTree.Nodes["ram"];
-        //        TreeNode gpu = specsTree.Nodes["gpu"];
-        //        TreeNode mobo = specsTree.Nodes["mobo"];
-        //        TreeNode disk = specsTree.Nodes["disk"];
-        //        TreeNode inet = specsTree.Nodes["inet"];
-        //        TreeNode audio = specsTree.Nodes["audio"];
-        //        TreeNode dev = specsTree.Nodes["dev"];
-
-        //        if (cpu != null) cpu.Text = translationList["cpu"];
-        //        if (ram != null)
-        //        {
-        //            ram.Text = translationList["ram"];
-        //            TreeNode vm = ram.Nodes["vm"];
-        //            if (vm != null) vm.Text = translationList["vm"];
-        //        }
-        //        if (gpu != null) gpu.Text = translationList["gpu"];
-        //        if (mobo != null) mobo.Text = translationList["mobo"];
-        //        if (disk != null)
-        //        {
-        //            disk.Text = translationList["disk"];
-        //            TreeNode disks = disk.Nodes["drives"];
-        //            TreeNode vols = disk.Nodes["volumes"];
-        //            TreeNode opticals = disk.Nodes["opticals"];
-        //            TreeNode removables = disk.Nodes["removables"];
-        //            if (disks != null) disks.Text = translationList["drives"];
-        //            if (vols != null) vols.Text = translationList["volumes"];
-        //            if (opticals != null) opticals.Text = translationList["opticals"];
-        //            if (removables != null) removables.Text = translationList["removables"];
-        //        }
-        //        if (inet != null)
-        //        {
-        //            inet.Text = translationList["inet"];
-        //            TreeNode pas = inet.Nodes["physicalAdapters"];
-        //            TreeNode vas = inet.Nodes["virtualAdapters"];
-        //            if (pas != null) pas.Text = translationList["physicalAdapters"];
-        //            if (vas != null) vas.Text = translationList["virtualAdapters"];
-        //        }
-        //        if (audio != null) audio.Text = translationList["audio"];
-        //        if (dev != null)
-        //        {
-        //            dev.Text = translationList["dev"];
-        //            TreeNode kbs = dev.Nodes["keyboards"];
-        //            TreeNode pds = dev.Nodes["pointings"];
-        //            if (kbs != null) kbs.Text = translationList["keyboards"];
-        //            if (pds != null) pds.Text = translationList["pointings"];
-        //        }
-        //    }
-        //    else
-        //    {
-        //        // SUMMARY TRANSLATION
-        //        TreeNode os = specsTree.Nodes["os"];
-        //        TreeNode scpu = specsTree.Nodes["scpu"];
-        //        TreeNode sram = specsTree.Nodes["sram"];
-        //        TreeNode sgpu = specsTree.Nodes["sgpu"];
-        //        TreeNode smobo = specsTree.Nodes["smobo"];
-        //        TreeNode sdisk = specsTree.Nodes["sdisk"];
-        //        TreeNode sinet = specsTree.Nodes["sinet"];
-
-        //        if (os != null) os.Text = translationList["os"];
-        //        if (scpu != null) scpu.Text = translationList["cpu"];
-        //        if (sram != null) sram.Text = translationList["ram"];
-        //        if (sgpu != null) sgpu.Text = translationList["gpu"];
-        //        if (smobo != null) smobo.Text = translationList["mobo"];
-        //        if (sdisk != null) sdisk.Text = translationList["disk"];
-        //        if (sinet != null) sinet.Text = translationList["inet"];
-        //    }
-        //}
-
         private void Translate(bool skipFull = false)
         {
             translationList = OptionsHelper.TranslationList.ToObject<Dictionary<string, string>>();
@@ -2444,6 +2374,8 @@ namespace Optimizer
         private void LoadUniversalToggleStates()
         {
             performanceSw.ToggleChecked = OptionsHelper.CurrentOptions.EnablePerformanceTweaks;
+            chkAllTrayIcons.Enabled = !OptionsHelper.CurrentOptions.EnablePerformanceTweaks;
+            chkMenuDelays.Enabled = !OptionsHelper.CurrentOptions.EnablePerformanceTweaks;
             networkSw.ToggleChecked = OptionsHelper.CurrentOptions.DisableNetworkThrottling;
             defenderSw.ToggleChecked = OptionsHelper.CurrentOptions.DisableWindowsDefender;
             systemRestoreSw.ToggleChecked = OptionsHelper.CurrentOptions.DisableSystemRestore;
@@ -2484,8 +2416,11 @@ namespace Optimizer
             edgeAiSw.ToggleChecked = OptionsHelper.CurrentOptions.DisableEdgeDiscoverBar;
             xboxSw.ToggleChecked = OptionsHelper.CurrentOptions.DisableXboxLive;
             oldExplorerSw.ToggleChecked = OptionsHelper.CurrentOptions.DisableQuickAccessHistory;
+            chkHideSearch.Enabled = !OptionsHelper.CurrentOptions.DisableQuickAccessHistory;
+            chkHideFeed.Enabled = !OptionsHelper.CurrentOptions.DisableQuickAccessHistory;
             sensorSw.ToggleChecked = OptionsHelper.CurrentOptions.DisableSensorServices;
             privacySw.ToggleChecked = OptionsHelper.CurrentOptions.DisablePrivacyOptions;
+            chkNewsInterest.Enabled = !OptionsHelper.CurrentOptions.DisablePrivacyOptions;
             telemetryServicesSw.ToggleChecked = OptionsHelper.CurrentOptions.DisableTelemetryServices;
             autoUpdatesSw.ToggleChecked = OptionsHelper.CurrentOptions.DisableAutomaticUpdates;
             peopleSw.ToggleChecked = OptionsHelper.CurrentOptions.DisableMyPeople;
@@ -2524,6 +2459,7 @@ namespace Optimizer
             {
                 this.Hide();
             }
+            //DebugHelper.FindDifferenceInTwoJsons();
         }
 
         private void GetDesktopItems()
@@ -2611,9 +2547,9 @@ namespace Optimizer
                 try
                 {
                     pngTmp = new DirectoryInfo(x.Value)
-                    .EnumerateFiles("*.png", SearchOption.AllDirectories)
-                    .OrderByDescending(f => f.Length)
-                    .FirstOrDefault();
+                        .EnumerateFiles("*.png", SearchOption.AllDirectories)
+                        .OrderByDescending(f => f.Length)
+                        .FirstOrDefault();
                 }
                 catch
                 {
@@ -2726,16 +2662,6 @@ namespace Optimizer
 
                 GetStartupItems();
             }
-
-            //foreach (int x in listStartupItems.CheckedIndices)
-            //{
-            //    MessageBox.Show(x.ToString());
-            //}
-            //if (listStartupItems.SelectedItems.Count == 1)
-            //{
-            //    _startUpItems[listStartupItems.SelectedIndices[0]].Remove();
-            //    GetStartupItems();
-            //}
         }
 
         internal void RemoveAllStartupItems()
@@ -2748,16 +2674,6 @@ namespace Optimizer
             GetStartupItems();
         }
 
-        // REMOVE ALL STARTUP ITEMS BUTTON
-        //private void button22_Click(object sender, EventArgs e)
-        //{
-        //    if (listStartupItems.Items.Count > 0)
-        //    {
-        //        HelperForm r = new HelperForm(this, MessageType.Startup, _removeStartupItemsMessage);
-        //        r.ShowDialog(this);
-        //    }
-        //}
-
         private void button31_Click(object sender, EventArgs e)
         {
             if (listStartupItems.SelectedItems.Count == 1)
@@ -3369,10 +3285,14 @@ namespace Optimizer
             if (performanceSw.ToggleChecked)
             {
                 OptimizeHelper.EnablePerformanceTweaks(chkAllTrayIcons.Checked, chkMenuDelays.Checked);
+                chkAllTrayIcons.Enabled = false;
+                chkMenuDelays.Enabled = false;
             }
             else
             {
                 OptimizeHelper.DisablePerformanceTweaks();
+                chkAllTrayIcons.Enabled = true;
+                chkMenuDelays.Enabled = true;
             }
             OptionsHelper.CurrentOptions.EnablePerformanceTweaks = performanceSw.ToggleChecked;
             ShowRestartNeeded();
@@ -3535,11 +3455,15 @@ namespace Optimizer
         {
             if (oldExplorerSw.ToggleChecked)
             {
-                OptimizeHelper.DisableQuickAccessHistory();
+                OptimizeHelper.DisableQuickAccessHistory(chkHideFeed.Checked, true, chkHideSearch.Checked);
+                chkHideFeed.Enabled = false;
+                chkHideSearch.Enabled = false;
             }
             else
             {
                 OptimizeHelper.EnableQuickAccessHistory();
+                chkHideFeed.Enabled = true;
+                chkHideSearch.Enabled = true;
             }
             OptionsHelper.CurrentOptions.DisableQuickAccessHistory = oldExplorerSw.ToggleChecked;
             ShowRestartNeeded();
@@ -3644,11 +3568,13 @@ namespace Optimizer
             {
                 Task t = new Task(() => OptimizeHelper.EnhancePrivacy(chkNewsInterest.Checked));
                 t.Start();
+                chkNewsInterest.Enabled = false;
             }
             else
             {
                 Task t = new Task(() => OptimizeHelper.CompromisePrivacy());
                 t.Start();
+                chkNewsInterest.Enabled = true;
             }
             OptionsHelper.CurrentOptions.DisablePrivacyOptions = privacySw.ToggleChecked;
             ShowRestartNeeded();
@@ -5053,5 +4979,11 @@ namespace Optimizer
                 Application.Restart();
             }
         }
+
+        private void autoUpdateToggle_ToggleClicked(object sender, EventArgs e)
+        {
+            OptionsHelper.CurrentOptions.UpdateOnLaunch = autoUpdateToggle.ToggleChecked;
+            OptionsHelper.SaveSettings();
+        }
     }
 }

File diff suppressed because it is too large
+ 511 - 511
Optimizer/Forms/MainForm.resx


+ 3 - 0
Optimizer/Models/Options.cs

@@ -11,6 +11,8 @@ namespace Optimizer
         public bool EnableTray { get; set; }
         public bool AutoStart { get; set; }
         public string InternalDNS { get; set; }
+        public bool UpdateOnLaunch { get; set; }
+
         public bool DisableIndicium { get; set; }
         public bool DisableAppsTool { get; set; }
         public bool DisableHostsEditor { get; set; }
@@ -19,6 +21,7 @@ namespace Optimizer
         public bool DisableCleaner { get; set; }
         public bool DisableIntegrator { get; set; }
         public bool DisablePinger { get; set; }
+
         //public string TelemetryClientID { get; set; }
         //public bool DisableOptimizerTelemetry { get; set; }
 

+ 34 - 20
Optimizer/OptimizeHelper.cs

@@ -783,12 +783,12 @@ namespace Optimizer
             Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU", "AUOptions", "2", RegistryValueKind.DWord);
             Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU", "NoAutoRebootWithLoggedOnUsers", "1", RegistryValueKind.DWord);
             Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\DeliveryOptimization\Config", "DODownloadMode", "0", RegistryValueKind.DWord);
-            Registry.SetValue(@"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DoSvc", "Start", "4", RegistryValueKind.DWord);
+            //Registry.SetValue(@"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DoSvc", "Start", "4", RegistryValueKind.DWord);
             Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Speech", "AllowSpeechModelUpdate", 0);
 
-            Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\Maintenance", "MaintenanceDisabled", "1", RegistryValueKind.DWord);
+            //Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\Maintenance", "MaintenanceDisabled", "1", RegistryValueKind.DWord);
 
-            Utilities.StopService("DoSvc");
+            //Utilities.StopService("DoSvc");
         }
 
         internal static void EnableAutomaticUpdates()
@@ -801,11 +801,12 @@ namespace Optimizer
             Utilities.TryDeleteRegistryValue(true, @"SOFTWARE\Microsoft\Windows\CurrentVersion\DeliveryOptimization\Config", "DODownloadMode");
             Utilities.TryDeleteRegistryValue(true, @"SOFTWARE\Policies\Microsoft\Speech", "AllowSpeechModelUpdate");
 
-            Registry.SetValue(@"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DoSvc", "Start", "3", RegistryValueKind.DWord);
+            //Registry.SetValue(@"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DoSvc", "Start", "3", RegistryValueKind.DWord);
 
             //Utilities.StartService("DoSvc");
-            // enable silent app install
-            Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\Maintenance", "MaintenanceDisabled", "0", RegistryValueKind.DWord);
+            // enable silent app install (Store app install/update is broken otherwise)
+            Utilities.TryDeleteRegistryValue(true, @"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\Maintenance", "MaintenanceDisabled");
+            //Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\Maintenance", "MaintenanceDisabled", "0", RegistryValueKind.DWord);
         }
 
         internal static void DisableStoreUpdates()
@@ -941,7 +942,8 @@ namespace Optimizer
         {
             if (disableNewsAndInterest)
             {
-                Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Windows Feeds", "EnableFeeds", 0);
+                Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Windows Feeds", "EnableFeeds", "0", RegistryValueKind.DWord);
+                Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PolicyManager\default\NewsAndInterests\AllowNewsAndInterests", "value", "0", RegistryValueKind.DWord);
             }
 
             Registry.SetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager", "RotatingLockScreenOverlayEnabled", "0", RegistryValueKind.DWord);
@@ -954,7 +956,7 @@ namespace Optimizer
             Registry.SetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo", "Enabled", 0);
             Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PolicyManager\current\device\Bluetooth", "AllowAdvertising", 0);
 
-            // Account->Sign-in options->Privacy
+            // Account -> Sign-in options -> Privacy
             Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System", "DisableAutomaticRestartSignOn", 1);
 
             Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\AdvertisingInfo", "DisabledByGroupPolicy", 1);
@@ -1080,10 +1082,11 @@ namespace Optimizer
             Utilities.TryDeleteRegistryValue(true, @"SOFTWARE\Policies\Microsoft\Windows\CloudContent", "DisableCloudOptimizedContent");
             Utilities.TryDeleteRegistryValue(true, @"SOFTWARE\Policies\Microsoft\Windows\DataCollection", "DoNotShowFeedbackNotifications");
             Utilities.TryDeleteRegistryValue(true, @"SOFTWARE\Policies\Microsoft\Windows\Windows Feeds", "EnableFeeds");
+            Utilities.TryDeleteRegistryValue(true, @"SOFTWARE\Microsoft\PolicyManager\default\NewsAndInterests\AllowNewsAndInterests", "value");
             Utilities.TryDeleteRegistryValue(false, @"Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo", "Enabled");
             Utilities.TryDeleteRegistryValue(true, @"SOFTWARE\Microsoft\PolicyManager\current\device\Bluetooth", "AllowAdvertising");
 
-            // Account->Sign-in options->Privacy
+            // Account -> Sign-in options -> Privacy
             Utilities.TryDeleteRegistryValue(true, @"SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System", "DisableAutomaticRestartSignOn");
 
             Utilities.TryDeleteRegistryValue(true, @"SOFTWARE\Policies\Microsoft\Windows\AdvertisingInfo", "DisabledByGroupPolicy");
@@ -1216,8 +1219,27 @@ namespace Optimizer
         }
 
         // restores classic files explorer
-        internal static void DisableQuickAccessHistory()
+        internal static void DisableQuickAccessHistory(bool disableFeedsIcon = true, bool disableTasksIcon = true, bool disableSearchIcon = true)
         {
+            if (disableFeedsIcon)
+            {
+                // Disable News and Weather
+                Registry.SetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Feeds", "ShellFeedsTaskbarViewMode", "2", RegistryValueKind.DWord);
+                Registry.SetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Feeds", "IsFeedsAvailable", 0, RegistryValueKind.DWord);
+            }
+
+            if (disableSearchIcon)
+            {
+                // Hide search button from taskbar
+                Registry.SetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Search", "SearchboxTaskbarMode", "0", RegistryValueKind.DWord);
+            }
+
+            if (disableTasksIcon)
+            {
+                // Hide task view button from taskbar
+                Registry.SetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced", "ShowTaskViewButton", "0", RegistryValueKind.DWord);
+            }
+
             Registry.SetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\OperationStatusManager", "EnthusiastMode", "1", RegistryValueKind.DWord);
             Registry.SetValue(@"HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced", "ShowSyncProviderNotifications", "0", RegistryValueKind.DWord);
 
@@ -1239,16 +1261,6 @@ namespace Optimizer
             // Disable File History
             //Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\FileHistory", "Disabled", "1", RegistryValueKind.DWord);
             //Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\File History", "Disabled", "1", RegistryValueKind.DWord);
-
-            // Disable News and Weather
-            Registry.SetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Feeds", "ShellFeedsTaskbarViewMode", "2", RegistryValueKind.DWord);
-            Registry.SetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Feeds", "IsFeedsAvailable", 0, RegistryValueKind.DWord);
-
-            // Hide search button from taskbar
-            Registry.SetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Search", "SearchboxTaskbarMode", "0", RegistryValueKind.DWord);
-
-            // Hide task view button from taskbar
-            Registry.SetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced", "ShowTaskViewButton", "0", RegistryValueKind.DWord);
         }
 
         internal static void EnableQuickAccessHistory()
@@ -1300,6 +1312,7 @@ namespace Optimizer
             Registry.SetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager", "FeatureManagementEnabled", "0", RegistryValueKind.DWord);
             Registry.SetValue(@"HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\Explorer", "DisableSearchBoxSuggestions", 1, RegistryValueKind.DWord);
             Registry.SetValue(@"HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer", "AllowOnlineTips", 0);
+            Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Explorer", "DisableSearchBoxSuggestions", 1, RegistryValueKind.DWord);
         }
 
         internal static void EnableStartMenuAds()
@@ -1323,6 +1336,7 @@ namespace Optimizer
             Utilities.TryDeleteRegistryValue(false, @"Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager", "FeatureManagementEnabled");
             Utilities.TryDeleteRegistryValue(false, @"Software\Policies\Microsoft\Windows\Explorer", "DisableSearchBoxSuggestions");
             Utilities.TryDeleteRegistryValue(true, @"Software\Microsoft\Windows\CurrentVersion\Policies\Explorer", "AllowOnlineTips");
+            Utilities.TryDeleteRegistryValue(true, @"SOFTWARE\Policies\Microsoft\Windows\Explorer", "DisableSearchBoxSuggestions");
         }
 
         internal static void DisableMyPeople()

+ 3 - 0
Optimizer/OptionsHelper.cs

@@ -131,6 +131,8 @@ namespace Optimizer
                     CurrentOptions.EnableTray = false;
                     CurrentOptions.AutoStart = false;
                     CurrentOptions.InternalDNS = Constants.INTERNAL_DNS;
+                    CurrentOptions.UpdateOnLaunch = true;
+
                     CurrentOptions.DisableIndicium = false;
                     CurrentOptions.DisableAppsTool = false;
                     CurrentOptions.DisableHostsEditor = false;
@@ -139,6 +141,7 @@ namespace Optimizer
                     CurrentOptions.DisableCleaner = false;
                     CurrentOptions.DisableIntegrator = false;
                     CurrentOptions.DisablePinger = false;
+
                     //CurrentOptions.TelemetryClientID = Guid.NewGuid().ToString().ToUpperInvariant();
                     //CurrentOptions.DisableOptimizerTelemetry = false;
 

+ 6 - 1
Optimizer/Program.cs

@@ -13,7 +13,7 @@ namespace Optimizer
         /* VERSION PROPERTIES */
         /* DO NOT LEAVE THEM EMPTY */
         internal readonly static float Major = 16;
-        internal readonly static float Minor = 2;
+        internal readonly static float Minor = 3;
         internal readonly static bool EXPERIMENTAL_BUILD = false;
         /* END OF VERSION PROPERTIES */
 
@@ -63,6 +63,11 @@ namespace Optimizer
             EmbeddedAssembly.Load(_jsonAssembly, _jsonAssembly.Replace("Optimizer.", string.Empty));
 
             DPI_PREFERENCE = Convert.ToInt32(Microsoft.Win32.Registry.GetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ThemeManager", "LastLoadedDPI", "96"));
+            if (DPI_PREFERENCE <= 0)
+            {
+                DPI_PREFERENCE = 96;
+            }
+            
             if (Environment.OSVersion.Version.Major >= 6) SetProcessDPIAware();
             Application.EnableVisualStyles();
             Application.SetCompatibleTextRenderingDefault(false);

+ 4 - 1
Optimizer/Resources/i18n/AR.json

@@ -468,5 +468,8 @@
 	"msgReinforce": "هل أنت متأكد من رغبتك في إعادة تطبيق السياسات الحالية؟",
 	"chkNewsInterest": "تعطيل الأخبار والاهتمامات",
 	"chkAllTrayIcons": "عرض جميع الرموز في منطقة العلبة",
-	"chkMenuDelays": "إزالة تأخيرات القائمة"
+	"chkMenuDelays": "إزالة تأخيرات القائمة",
+	"chkHideSearch": "إخفاء البحث",
+	"chkHideFeed": "إخفاء الطقس",
+	"autoUpdateToggle": "تحديث عند الإطلاق"
 }

+ 4 - 1
Optimizer/Resources/i18n/BG.json

@@ -468,5 +468,8 @@
 	"msgReinforce": "Сигурни ли сте, че искате да приложите отново текущите си политики?",
 	"chkNewsInterest": "Изключване на новина и интерес",
 	"chkAllTrayIcons": "Показване на всички икони в областта на лентата",
-	"chkMenuDelays": "Премахване на забавянията в менюто"
+	"chkMenuDelays": "Премахване на забавянията в менюто",
+	"chkHideSearch": "Скрий търсенето",
+	"chkHideFeed": "Скрий времето",
+	"autoUpdateToggle": "Обнови при стартиране"
 }

+ 4 - 1
Optimizer/Resources/i18n/CN.json

@@ -467,5 +467,8 @@
 	"msgReinforce": "您确定要重新应用当前的政策吗?",
 	"chkNewsInterest": "禁用新闻和兴趣",
 	"chkAllTrayIcons": "显示所有托盘图标",
-	"chkMenuDelays": "删除菜单延迟"
+	"chkMenuDelays": "删除菜单延迟",
+	"chkHideSearch": "隐藏搜索",
+	"chkHideFeed": "隐藏天气",
+	"autoUpdateToggle": "启动时更新"
 }

+ 4 - 1
Optimizer/Resources/i18n/CZ.json

@@ -468,5 +468,8 @@ Má to negativní vliv na výkon.",
 	"msgReinforce": "Opravdu si přejete znovu použít své stávající politiky?",
 	"chkNewsInterest": "Vypnout Novinky a Zájmy",
 	"chkAllTrayIcons": "Zobrazit všechny ikony v oznamovací oblasti",
-	"chkMenuDelays": "Odstranit zpoždění v menu"
+	"chkMenuDelays": "Odstranit zpoždění v menu",
+	"chkHideSearch": "Skrýt vyhledávání",
+	"chkHideFeed": "Skrýt počasí",
+	"autoUpdateToggle": "Aktualizovat při spuštění"
 }

+ 4 - 1
Optimizer/Resources/i18n/DE.json

@@ -442,5 +442,8 @@
 	"msgReinforce": "Sind Sie sicher, dass Sie Ihre aktuellen Richtlinien erneut anwenden möchten?",
 	"chkNewsInterest": "News & Interessen deaktivieren",
 	"chkAllTrayIcons": "Alle Tray-Symbole anzeigen",
-	"chkMenuDelays": "Menüverzögerungen entfernen"
+	"chkMenuDelays": "Menüverzögerungen entfernen",
+	"chkHideSearch": "Suche ausblenden",
+	"chkHideFeed": "Wetter ausblenden",
+	"autoUpdateToggle": "Aktualisieren beim Start"
 }

+ 4 - 1
Optimizer/Resources/i18n/EL.json

@@ -463,5 +463,8 @@
 	"msgReinforce": "Είστε σίγουροι ότι θέλετε να ξαναεφαρμόσετε τις τρέχουσες πολιτικές σας;",
 	"chkNewsInterest": "Απενεργοποίηση Ειδήσεων",
 	"chkAllTrayIcons": "Εμφάνιση όλων των εικονιδίων",
-	"chkMenuDelays": "Αφαίρεση καθυστερήσεων στο μενού"
+	"chkMenuDelays": "Αφαίρεση καθυστερήσεων στο μενού",
+	"chkHideSearch": "Απόκρυψη Αναζήτησης",
+	"chkHideFeed": "Απόκρυψη Καιρού",
+	"autoUpdateToggle": "Ενημέρωση κατά την εκκίνηση"
 }

+ 4 - 1
Optimizer/Resources/i18n/EN.json

@@ -468,5 +468,8 @@ It has negative effect on performance.",
 	"msgReinforce": "Are you sure you want to re-apply your current active policies?",
 	"chkNewsInterest": "Disable News && Interest",
 	"chkAllTrayIcons": "Show all tray icons",
-	"chkMenuDelays": "Remove menu delays"
+	"chkMenuDelays": "Remove menu delays",
+	"chkHideSearch": "Hide Search",
+	"chkHideFeed": "Hide Weather",
+	"autoUpdateToggle": "Update on launch"
 }

+ 4 - 1
Optimizer/Resources/i18n/ES.json

@@ -465,5 +465,8 @@ Tiene un efecto negativo en el rendimiento.",
 	"msgReinforce": "¿Estás seguro de que deseas volver a aplicar tus políticas actuales?",
 	"chkNewsInterest": "Desactivar Noticias e Intereses",
 	"chkAllTrayIcons": "Mostrar todos los iconos de la bandeja",
-	"chkMenuDelays": "Eliminar retrasos en el menú"
+	"chkMenuDelays": "Eliminar retrasos en el menú",
+	"chkHideSearch": "Ocultar búsqueda",
+	"chkHideFeed": "Ocultar clima",
+	"autoUpdateToggle": "Actualizar al inicio"
 }

+ 4 - 1
Optimizer/Resources/i18n/FA.json

@@ -455,5 +455,8 @@
 	"msgReinforce": "آیا مطمئن هستید که می‌خواهید سیاست‌های فعلی را مجدداً اعمال کنید؟",
 	"chkNewsInterest": "غیرفعال کردن اخبار و علاقه‌مندی‌ها",
 	"chkAllTrayIcons": "نمایش همه آیکون‌های سینی",
-	"chkMenuDelays": "حذف تأخیرهای منو"
+	"chkMenuDelays": "حذف تأخیرهای منو",
+	"chkHideSearch": "مخفی کردن جستجو",
+	"chkHideFeed": "مخفی کردن هواشناسی",
+	"autoUpdateToggle": "به‌روزرسانی در زمان راه‌اندازی"
 }

+ 4 - 1
Optimizer/Resources/i18n/FR.json

@@ -442,5 +442,8 @@ Necessite l'ouverture d'un compte Microsoft.",
 	"msgReinforce": "Êtes-vous sûr de vouloir réappliquer vos politiques actuelles?",
 	"chkNewsInterest": "Désactiver les Actualités et les Centres d'Intérêt",
 	"chkAllTrayIcons": "Afficher toutes les icônes de la zone de notification",
-	"chkMenuDelays": "Supprimer les retards dans le menu"
+	"chkMenuDelays": "Supprimer les retards dans le menu",
+	"chkHideSearch": "Masquer la recherche",
+	"chkHideFeed": "Masquer la météo",
+	"autoUpdateToggle": "Mise à jour au lancement"
 }

+ 4 - 1
Optimizer/Resources/i18n/HU.json

@@ -466,5 +466,8 @@
 	"msgReinforce": "Biztos vagy benne, hogy újra alkalmazod az aktuális iránypontokat?",
 	"chkNewsInterest": "Hírek és Érdeklődés kikapcsolása",
 	"chkAllTrayIcons": "Az összes tálca ikon megjelenítése",
-	"chkMenuDelays": "Menü késleltetések eltávolítása"
+	"chkMenuDelays": "Menü késleltetések eltávolítása",
+	"chkHideSearch": "Keresés elrejtése",
+	"chkHideFeed": "Időjárás elrejtése",
+	"autoUpdateToggle": "Frissítés indításkor"
 }

+ 4 - 1
Optimizer/Resources/i18n/IT.json

@@ -462,5 +462,8 @@ Ha un effetto negativo sulle prestazioni.",
 	"msgReinforce": "Sei sicuro di voler riapplicare le tue attuali politiche?",
 	"chkNewsInterest": "Disabilita Notizie e Interessi",
 	"chkAllTrayIcons": "Mostra tutte le icone nella barra delle applicazioni",
-	"chkMenuDelays": "Rimuovi ritardi nel menu"
+	"chkMenuDelays": "Rimuovi ritardi nel menu",
+	"chkHideSearch": "Nascondi ricerca",
+	"chkHideFeed": "Nascondi meteo",
+	"autoUpdateToggle": "Aggiorna all'avvio"
 }

+ 4 - 1
Optimizer/Resources/i18n/JA.json

@@ -459,5 +459,8 @@ SMBv3に置き換えられており、そちらのほうがより安全です。
 	"msgReinforce": "現在のポリシーを再適用してもよろしいですか?",
 	"chkNewsInterest": "ニュースと興味を無効にする",
 	"chkAllTrayIcons": "すべてのトレイアイコンを表示",
-	"chkMenuDelays": "メニューの遅延を削除"
+	"chkMenuDelays": "メニューの遅延を削除",
+	"chkHideSearch": "検索を非表示",
+	"chkHideFeed": "天気を非表示",
+	"autoUpdateToggle": "起動時に更新"
 }

+ 4 - 1
Optimizer/Resources/i18n/KO.json

@@ -470,5 +470,8 @@ Microsoft 계정 로그인이 필요합니다.",
 	"msgReinforce": "현재 정책을 다시 적용하시겠습니까?",
 	"chkNewsInterest": "뉴스 및 관심사 비활성화",
 	"chkAllTrayIcons": "모든 트레이 아이콘 표시",
-	"chkMenuDelays": "메뉴 지연 제거"
+	"chkMenuDelays": "메뉴 지연 제거",
+	"chkHideSearch": "검색 숨기기",
+	"chkHideFeed": "날씨 숨기기",
+	"autoUpdateToggle": "시작 시 업데이트"
 }

+ 4 - 1
Optimizer/Resources/i18n/KU.json

@@ -467,5 +467,8 @@
 	"msgReinforce": "داکۆ پێشەنگەتیە پێوستییە کرییە مە یانو دابەزەکیی نو رە بکە؟",
 	"chkNewsInterest": "شوێنەکردنی نووسراو و نواندن",
 	"chkAllTrayIcons": "نیشاندانی هەموو سیمبۆلەکانی تەخته",
-	"chkMenuDelays": "لابردنی داواکردنی مێنیو"
+	"chkMenuDelays": "لابردنی داواکردنی مێنیو",
+	"chkHideSearch": "شارستنی پوشە",
+	"chkHideFeed": "شارستنی هەوا",
+	"autoUpdateToggle": "نوێکردنەوە لە چاڵاککردندا"
 }

+ 4 - 1
Optimizer/Resources/i18n/NE.json

@@ -418,5 +418,8 @@
 	"msgReinforce": "तपाईंले आफ्ना हालका नीत",
 	"chkNewsInterest": "समाचार र रुचिहरू अक्षम गर्नुहोस्",
 	"chkAllTrayIcons": "सम्पूर्ण ट्रे आइकनहरू देखाउनुहोस्",
-	"chkMenuDelays": "मेनु ल्याग्ले हटाउनुहोस्"
+	"chkMenuDelays": "मेनु ल्याग्ले हटाउनुहोस्",
+	"chkHideSearch": "खोज लुकाउनुहोस्",
+	"chkHideFeed": "मौसम लुकाउनुहोस्",
+	"autoUpdateToggle": "प्रक्षेपमा अद्यतन गर्नुहोस्"
 }

+ 4 - 1
Optimizer/Resources/i18n/NL.json

@@ -419,5 +419,8 @@ Het heeft een negatief effect op de prestaties.",
 	"msgReinforce": "Weet u zeker dat u uw huidige beleid opnieuw wilt toepassen?",
    "chkNewsInterest": "Schakel Nieuws en Interesses uit",
    "chkAllTrayIcons": "Toon alle systeemvakpictogrammen",
-   "chkMenuDelays": "Verwijder menuvertragingen"
+   "chkMenuDelays": "Verwijder menuvertragingen",
+   "chkHideSearch": "Zoeken verbergen",
+   "chkHideFeed": "Weer verbergen",
+   "autoUpdateToggle": "Bij start bijwerken"
 }

+ 4 - 1
Optimizer/Resources/i18n/PL.json

@@ -437,5 +437,8 @@
 	"msgReinforce": "Czy na pewno chcesz ponownie zastosować obecne polityki?",
 	"chkNewsInterest": "Wyłącz wiadomości i zainteresowania",
 	"chkAllTrayIcons": "Pokaż wszystkie ikony w zasobniku",
-	"chkMenuDelays": "Usuń opóźnienia w menu"
+	"chkMenuDelays": "Usuń opóźnienia w menu",
+	"chkHideSearch": "Ukryj wyszukiwanie",
+	"chkHideFeed": "Ukryj pogodę",
+	"autoUpdateToggle": "Aktualizuj przy uruchamianiu"
 }

+ 4 - 1
Optimizer/Resources/i18n/PT.json

@@ -465,5 +465,8 @@ Tem efeito negativo no desempenho.",
 	"msgReinforce": "Tem certeza de que deseja reaplicar suas políticas atuais?",
 	"chkNewsInterest": "Desativar Notícias e Interesses",
 	"chkAllTrayIcons": "Mostrar todos os ícones da bandeja",
-	"chkMenuDelays": "Remover atrasos no menu"
+	"chkMenuDelays": "Remover atrasos no menu",
+	"chkHideSearch": "Ocultar busca",
+	"chkHideFeed": "Ocultar tempo",
+	"autoUpdateToggle": "Atualizar no lançamento"
 }

+ 4 - 1
Optimizer/Resources/i18n/RO.json

@@ -450,5 +450,8 @@
 	"msgReinforce": "Sunteți sigur că doriți să reaplicați politicile actuale?",
 	"chkNewsInterest": "Dezactivează Știri și Interese",
 	"chkAllTrayIcons": "Arată toate pictogramele din zona de notificare",
-	"chkMenuDelays": "Elimină întârzierile din meniu"
+	"chkMenuDelays": "Elimină întârzierile din meniu",
+	"chkHideSearch": "Ascunde căutarea",
+	"chkHideFeed": "Ascunde vremea",
+	"autoUpdateToggle": "Actualizare la pornire"
 }

+ 4 - 1
Optimizer/Resources/i18n/RU.json

@@ -438,5 +438,8 @@
 	"msgReinforce": "Вы уверены, что хотите повторно применить текущие политики?",
 	"chkNewsInterest": "Отключить Новости и Интересы",
 	"chkAllTrayIcons": "Показать все значки трея",
-	"chkMenuDelays": "Убрать задержки в меню"
+	"chkMenuDelays": "Убрать задержки в меню",
+	"chkHideSearch": "Скрыть поиск",
+	"chkHideFeed": "Скрыть погоду",
+	"autoUpdateToggle": "Обновить при запуске"
 }

+ 4 - 1
Optimizer/Resources/i18n/TR.json

@@ -466,5 +466,8 @@ Performansa olumsuz etkisi vardır.",
 	"msgReinforce": "Şu anki politikalarınızı tekrar uygulamak istediğinizden emin misiniz?",
 	"chkNewsInterest": "Haberler ve İlgiyi Devre Dışı Bırak",
 	"chkAllTrayIcons": "Tüm tepsici simgelerini göster",
-	"chkMenuDelays": "Menü gecikmelerini kaldır"
+	"chkMenuDelays": "Menü gecikmelerini kaldır",
+	"chkHideSearch": "Aramayı Gizle",
+	"chkHideFeed": "Hava Durumunu Gizle",
+	"autoUpdateToggle": "Başlangıçta Güncelle"
 }

+ 4 - 1
Optimizer/Resources/i18n/TW.json

@@ -464,5 +464,8 @@
 	"msgReinforce": "您確定要重新應用目前的政策嗎?",
 	"chkNewsInterest": "停用新聞和興趣",
 	"chkAllTrayIcons": "顯示所有系統匣圖示",
-	"chkMenuDelays": "移除選單延遲"
+	"chkMenuDelays": "移除選單延遲",
+	"chkHideSearch": "隱藏搜尋",
+	"chkHideFeed": "隱藏天氣",
+	"autoUpdateToggle": "啟動時更新"
 }

+ 4 - 1
Optimizer/Resources/i18n/UA.json

@@ -469,5 +469,8 @@
 	"msgReinforce": "Ви впевнені, що хочете повторно застосувати поточну політику?",
 	"chkNewsInterest": "Вимкнути Новини та Інтереси",
 	"chkAllTrayIcons": "Показати всі значки на панелі задач",
-	"chkMenuDelays": "Видалити затримки у меню"
+	"chkMenuDelays": "Видалити затримки у меню",
+	"chkHideSearch": "Приховати пошук",
+	"chkHideFeed": "Приховати погоду",
+	"autoUpdateToggle": "Оновити при запуску"
 }

+ 2 - 2
Optimizer/Utilities.cs

@@ -241,12 +241,12 @@ namespace Optimizer
         internal static void DisableHibernation()
         {
             Utilities.RunCommand("powercfg -h off");
-            Utilities.RunCommand("powercfg -h off");
+            Registry.SetValue(@"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power", "HibernateEnabled", "0", RegistryValueKind.DWord);
         }
 
         internal static void EnableHibernation()
         {
-            Utilities.RunCommand("powercfg -h on");
+            Utilities.TryDeleteRegistryValue(true, @"SYSTEM\CurrentControlSet\Control\Power", "HibernateEnabled");
             Utilities.RunCommand("powercfg -h on");
         }
 

+ 4 - 4
README.md

@@ -3,7 +3,7 @@
 </p>
 
 <p align="center">
-	<a href="https://github.com/hellzerg/optimizer/releases/download/16.2/Optimizer-16.2.exe" target="_blank">
+	<a href="https://github.com/hellzerg/optimizer/releases/download/16.3/Optimizer-16.3.exe" target="_blank">
 		<img src="https://raw.githubusercontent.com/hellzerg/optimizer/master/download-button.png">
 		<br>
 		<img src="https://raw.githubusercontent.com/hellzerg/optimizer/master/flags.png">
@@ -27,7 +27,7 @@ Welcome to Optimizer, an advanced configuration utility designed to enhance your
 - Disable Office telemetry (works with Office 2016 or newer)
 - Stop automatic Windows 10 updates
 - Download multiple useful apps quickly
-- Disable CoPilot AI in Windows 11
+- Disable CoPilot AI in Windows 11 and Edge
 - Uninstall UWP apps
 - Clean system drive and browser profiles
 - Fix common registry issues
@@ -105,8 +105,8 @@ Learn about our security measures in the [Security Policy](https://github.com/he
 <h2> 📊 Details</h2> 
 </center>
 
-- Latest version: 16.2 (Released: October 28, 2023)
-- SHA256: D97A8782B1563F7C7CA71B9094F90C1737E8A04119501196E5C7EA7F30857393
+- Latest version: 16.3 (Released: December 22, 2023)
+- SHA256: A70EECA600155EFB57A52BB29493B5CD33409F475B9293AF38677B26EBB9F79B
 
 <center>
 <h2> ☕ Buy me a delicious espresso</h2>

+ 1 - 1
SECURITY.md

@@ -8,7 +8,7 @@ We actively support the following version of the Optimizer:
 
 | Version | Supported          |
 | ------- | ------------------ |
-| 15.x   | ✅                |
+| 16.x   | ✅                |
 
 If you are using a version older than 15.x, we highly recommend upgrading to the latest version to benefit from the latest security enhancements and features.
 

+ 1 - 1
version.txt

@@ -1 +1 @@
-16.2
+16.3

Some files were not shown because too many files changed in this diff