فهرست منبع

v10.1, Major release for Windows 11

deadmoon 3 سال پیش
والد
کامیت
08834741c2

+ 11 - 0
CHANGELOG.md

@@ -2,6 +2,17 @@
 
 All notable changes to this project will be documented in this file.
 
+## [10.1] - 2021-10-06
+- New: Fully compatible with Windows 11
+- New: Align taskbar to te left
+- New: Disable Snap Assist, Widgets and Chat
+- New: Smaller taskbar size
+- New: Restore Classic Ribbon in File Explorer
+- New: Restore Classic Right-Click Menu (no Show More Options)
+- New: Disable TPM 2.0 checks, allowing the upgrading to Windows 11
+- New: Single-instance support
+- Improved: Exclude Drivers from Windows Update
+
 ## [10.0] - 2021-09-14
 - Code cleanup
 - Minor UI changes

+ 6 - 3
CONFS.md

@@ -9,13 +9,16 @@ Download the configuration file based on your Windows version and edit it accord
 Then, execute it like this: optimizer.exe /w10.conf
 
 ### For Windows 7: ###
-https://github.com/hellzerg/optimizer/blob/master/confs/w7.conf
+https://github.com/hellzerg/optimizer/blob/master/confs/win7.conf
 
 ### For Windows 8/8.1: ###
-https://github.com/hellzerg/optimizer/blob/master/confs/w8.conf
+https://github.com/hellzerg/optimizer/blob/master/confs/win8.conf
 
 ### For Windows 10: ###
-https://github.com/hellzerg/optimizer/blob/master/confs/w10.conf
+https://github.com/hellzerg/optimizer/blob/master/confs/win10.conf
+
+### For Windows 11: ###
+https://github.com/hellzerg/optimizer/blob/master/confs/win11.conf
 
 ## Run Optimizer on Windows Server 2008-2012-2016-2019 ##
 #### Some options might not work properly ####

تفاوت فایلی نمایش داده نمی شود زیرا این فایل بسیار بزرگ است
+ 3719 - 3832
Optimizer/MainForm.Designer.cs


+ 88 - 16
Optimizer/MainForm.cs

@@ -206,6 +206,48 @@ namespace Optimizer
             snapAssistSw.Click += SnapAssistSw_Click;
             widgetsSw.Click += WidgetsSw_Click;
             smallerTaskbarSw.Click += SmallerTaskbarSw_Click;
+            chatSw.Click += chatSw_Click;
+            classicRibbonSw.Click += ClassicRibbonSw_Click;
+            classicContextSw.Click += ClassicContextSw_Click;
+        }
+
+        private void ClassicContextSw_Click(object sender, EventArgs e)
+        {
+            if (!classicContextSw.Checked)
+            {
+                Optimize.DisableShowMoreOptions();
+            }
+            else
+            {
+                Optimize.EnableShowMoreOptions();
+            }
+            Options.CurrentOptions.ClassicMenu = !classicContextSw.Checked;
+        }
+
+        private void ClassicRibbonSw_Click(object sender, EventArgs e)
+        {
+            if (!classicRibbonSw.Checked)
+            {
+                Optimize.EnableFileExplorerClassicRibbon();
+            }
+            else
+            {
+                Optimize.DisableFileExplorerClassicRibbon();
+            }
+            Options.CurrentOptions.ClassicRibbon = !classicContextSw.Checked;
+        }
+
+        private void chatSw_Click(object sender, EventArgs e)
+        {
+            if (!chatSw.Checked)
+            {
+                Optimize.DisableChat();
+            }
+            else
+            {
+                Optimize.EnableChat();
+            }
+            Options.CurrentOptions.DisableChat = !chatSw.Checked;
         }
 
         private void SmallerTaskbarSw_Click(object sender, EventArgs e)
@@ -218,7 +260,7 @@ namespace Optimizer
             {
                 Optimize.DefaultTaskbarSize();
             }
-            //Options.CurrentOptions.DisableActionCenter = !actionSw.Checked;
+            Options.CurrentOptions.TaskbarSmaller = !smallerTaskbarSw.Checked;
         }
 
         private void WidgetsSw_Click(object sender, EventArgs e)
@@ -231,7 +273,7 @@ namespace Optimizer
             {
                 Optimize.EnableWidgets();
             }
-            //Options.CurrentOptions.DisableActionCenter = !actionSw.Checked;
+            Options.CurrentOptions.DisableWidgets = !widgetsSw.Checked;
         }
 
         private void SnapAssistSw_Click(object sender, EventArgs e)
@@ -244,7 +286,7 @@ namespace Optimizer
             {
                 Optimize.EnableSnapAssist();
             }
-            //Options.CurrentOptions.DisableActionCenter = !actionSw.Checked;
+            Options.CurrentOptions.DisableSnapAssist = !snapAssistSw.Checked;
         }
 
         private void LeftTaskbarSw_Click(object sender, EventArgs e)
@@ -257,7 +299,7 @@ namespace Optimizer
             {
                 Optimize.AlignTaskbarToCenter();
             }
-            //Options.CurrentOptions.DisableActionCenter = !actionSw.Checked;
+            Options.CurrentOptions.TaskbarToLeft = !leftTaskbarSw.Checked;
         }
 
         private void SetHelpBoxTranslation()
@@ -301,6 +343,14 @@ namespace Optimizer
             helpBox.SetToolTip(gameBarSw, Options.TranslationList["gameBarTip"].ToString());
             helpBox.SetToolTip(insiderSw, Options.TranslationList["insiderTip"].ToString());
             helpBox.SetToolTip(featuresSw, Options.TranslationList["featuresTip"].ToString());
+            helpBox.SetToolTip(tpmSw, Options.TranslationList["tpmTip"].ToString());
+            helpBox.SetToolTip(leftTaskbarSw, Options.TranslationList["leftTaskbarTip"].ToString());
+            helpBox.SetToolTip(snapAssistSw, Options.TranslationList["snapAssistTip"].ToString());
+            helpBox.SetToolTip(widgetsSw, Options.TranslationList["widgetsTip"].ToString());
+            helpBox.SetToolTip(chatSw, Options.TranslationList["chatTip"].ToString());
+            helpBox.SetToolTip(smallerTaskbarSw, Options.TranslationList["smallerTaskbarTip"].ToString());
+            helpBox.SetToolTip(classicRibbonSw, Options.TranslationList["classicRibbonTip"].ToString());
+            helpBox.SetToolTip(classicContextSw, Options.TranslationList["classicContextTip"].ToString());
 
             helpBox.ToolTipTitle = Options.TranslationList["tipWhatsThis"].ToString();
         }
@@ -498,16 +548,15 @@ namespace Optimizer
                 tabCollection.TabPages.Remove(universalTab);
                 tabCollection.TabPages.Remove(windows8Tab);
                 tabCollection.TabPages.Remove(windows10Tab);
-                tabCollection.TabPages.Remove(windows11Tab);
                 tabCollection.TabPages.Remove(modernAppsTab);
             }
 
             if (Utilities.CurrentWindowsVersion == WindowsVersion.Windows7)
             {
                 LoadUniversalToggleStates();
+
                 tabCollection.TabPages.Remove(windows8Tab);
                 tabCollection.TabPages.Remove(windows10Tab);
-                tabCollection.TabPages.Remove(windows11Tab);
                 tabCollection.TabPages.Remove(modernAppsTab);
             }
 
@@ -515,8 +564,9 @@ namespace Optimizer
             {
                 LoadUniversalToggleStates();
                 LoadWindowsVIIIToggleStates();
+
                 tabCollection.TabPages.Remove(windows10Tab);
-                tabCollection.TabPages.Remove(windows11Tab);
+
                 GetModernApps(false);
             }
 
@@ -524,21 +574,31 @@ namespace Optimizer
             {
                 LoadUniversalToggleStates();
                 LoadWindowsXToggleStates();
+
                 tabCollection.TabPages.Remove(windows8Tab);
-                tabCollection.TabPages.Remove(windows11Tab);
+                this.Controls.Remove(panelWin11Tweaks);
+
                 GetModernApps(false);
 
                 txtOS.Text += string.Format(" ({0})", Utilities.GetWindows10Build());
             }
 
-            //if (Utilities.CurrentWindowsVersion == WindowsVersion.Windows11)
-            //{
-            //    // * load toggles * ...
+            if (Utilities.CurrentWindowsVersion == WindowsVersion.Windows11)
+            {
+                LoadUniversalToggleStates();
+                LoadWindowsXToggleStates();
+                LoadWindowsXIToggleStates();
 
-            //    tabCollection.TabPages.Remove(windows8Tab);
-            //    //tabCollection.TabPages.Remove(windows10Tab);
-            //    GetModernApps(false);
-            //}
+                tabCollection.TabPages.Remove(windows8Tab);
+                windows10Tab.Text = "Windows 11";
+                panelWin11Tweaks.Visible = true;
+                actionSw.Visible = false;
+                oldMixerSw.Visible = false;
+
+                GetModernApps(false);
+
+                txtOS.Text += string.Format(" ({0})", Utilities.GetWindows10Build());
+            }
 
             _columnSorter = new ListViewColumnSorter();
             listStartupItems.ListViewItemSorter = _columnSorter;
@@ -930,9 +990,21 @@ namespace Optimizer
             actionSw.Checked = Options.CurrentOptions.DisableActionCenter;
         }
 
-        private void Main_Load(object sender, EventArgs e)
+        private void LoadWindowsXIToggleStates()
         {
+            leftTaskbarSw.Checked = Options.CurrentOptions.TaskbarToLeft;
+            snapAssistSw.Checked = Options.CurrentOptions.DisableSnapAssist;
+            widgetsSw.Checked = Options.CurrentOptions.DisableWidgets;
+            chatSw.Checked = Options.CurrentOptions.DisableChat;
+            smallerTaskbarSw.Checked = Options.CurrentOptions.TaskbarSmaller;
+            classicRibbonSw.Checked = Options.CurrentOptions.ClassicRibbon;
+            classicContextSw.Checked = Options.CurrentOptions.ClassicMenu;
+            tpmSw.Checked = Options.CurrentOptions.DisableTPMCheck;
+        }
 
+        private void Main_Load(object sender, EventArgs e)
+        {
+            
         }
 
         private void GetDesktopItems()

+ 53 - 1
Optimizer/Optimize.cs

@@ -54,8 +54,9 @@ namespace Optimizer
 
         internal static void EnablePerformanceTweaks()
         {
-            // enable auto-complete in Run Dialog
+            // enable auto-complete in Run Dialog 
             Registry.SetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\AutoComplete", "Append Completion", "yes", RegistryValueKind.String);
+            Registry.SetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\AutoComplete", "AutoSuggest", "yes", RegistryValueKind.String);
 
             // show all tray icons
             Registry.SetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer", "EnableAutoTray", "0", RegistryValueKind.DWord);
@@ -114,6 +115,7 @@ namespace Optimizer
             {
                 // disable auto-complete in Run Dialog
                 Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Explorer\AutoComplete", true).DeleteValue("Append Completion", false);
+                Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Explorer\AutoComplete", true).DeleteValue("AutoSuggest", false);
 
                 // hide tray icons
                 Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Explorer", true).DeleteValue("EnableAutoTray", false);
@@ -1103,11 +1105,19 @@ namespace Optimizer
         internal static void ExcludeDrivers()
         {
             Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate", "ExcludeWUDriversInQualityUpdate", "1", RegistryValueKind.DWord);
+            Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings", "ExcludeWUDriversInQualityUpdate", "1", RegistryValueKind.DWord);
+            Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PolicyManager\default\Update\ExcludeWUDriversInQualityUpdate", "value", "1", RegistryValueKind.DWord);
+            Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PolicyManager\default\Update", "ExcludeWUDriversInQualityUpdate", "1", RegistryValueKind.DWord);
+            Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PolicyManager\current\device\Update", "ExcludeWUDriversInQualityUpdate", "1", RegistryValueKind.DWord);
         }
 
         internal static void IncludeDrivers()
         {
             Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate", "ExcludeWUDriversInQualityUpdate", "0", RegistryValueKind.DWord);
+            Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings", "ExcludeWUDriversInQualityUpdate", "0", RegistryValueKind.DWord);
+            Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PolicyManager\default\Update\ExcludeWUDriversInQualityUpdate", "value", "0", RegistryValueKind.DWord);
+            Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PolicyManager\default\Update", "ExcludeWUDriversInQualityUpdate", "0", RegistryValueKind.DWord);
+            Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PolicyManager\current\device\Update", "ExcludeWUDriversInQualityUpdate", "0", RegistryValueKind.DWord);
         }
 
         internal static void DisableWindowsInk()
@@ -1358,6 +1368,16 @@ namespace Optimizer
             Registry.SetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced", "TaskbarDa", "1", RegistryValueKind.DWord);
         }
 
+        internal static void DisableChat()
+        {
+            Registry.SetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced", "TaskbarMn", "0", RegistryValueKind.DWord);
+        }
+
+        internal static void EnableChat()
+        {
+            Registry.SetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced", "TaskbarMn", "1", RegistryValueKind.DWord);
+        }
+
         internal static void SmallerTaskbar()
         {
             Registry.SetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced", "TaskbarSi", "0", RegistryValueKind.DWord);
@@ -1367,5 +1387,37 @@ namespace Optimizer
         {
             Registry.SetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced", "TaskbarSi", "1", RegistryValueKind.DWord);
         }
+
+        internal static void DisableShowMoreOptions()
+        {
+            Registry.SetValue(@"HKEY_CURRENT_USER\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32", "", "");
+        }
+
+        internal static void EnableShowMoreOptions()
+        {
+            Registry.CurrentUser.DeleteSubKeyTree(@"Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}", false);
+        }
+
+        internal static void DisableTPMCheck()
+        {
+            Registry.SetValue(@"HKEY_LOCAL_MACHINE\SYSTEM\Setup\LabConfig", "BypassTPMCheck", "1", RegistryValueKind.DWord);
+            Registry.SetValue(@"HKEY_LOCAL_MACHINE\SYSTEM\Setup\LabConfig", "BypassRAMCheck", "1", RegistryValueKind.DWord);
+            Registry.SetValue(@"HKEY_LOCAL_MACHINE\SYSTEM\Setup\LabConfig", "BypassSecureBootCheck", "1", RegistryValueKind.DWord);
+        }
+
+        internal static void EnableTPMCheck()
+        {
+            Registry.LocalMachine.DeleteSubKeyTree(@"SYSTEM\Setup\LabConfig", false);
+        }
+
+        internal static void EnableFileExplorerClassicRibbon()
+        {
+            Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked", "{e2bf9676-5f8f-435c-97eb-11607a5bedf7}", "");
+        }
+
+        internal static void DisableFileExplorerClassicRibbon()
+        {
+            Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Blocked", true).DeleteValue("{e2bf9676-5f8f-435c-97eb-11607a5bedf7}", false);
+        }
     }
 }

+ 33 - 0
Optimizer/Options.cs

@@ -18,6 +18,7 @@ namespace Optimizer
 
         public LanguageCode LanguageCode { get; set; }
 
+        // universal
         public bool EnablePerformanceTweaks { get; set; }
         public bool DisableNetworkThrottling { get; set; }
         public bool DisableWindowsDefender { get; set; }
@@ -35,6 +36,7 @@ namespace Optimizer
         public bool DisableCloudClipboard { get; set; }
         public bool DisableStickyKeys { get; set; }
 
+        // windows 10
         public bool EnableLegacyVolumeSlider { get; set; }
         public bool EnableTaskbarColor { get; set; }
         public bool DisableQuickAccessHistory { get; set; }
@@ -58,7 +60,18 @@ namespace Optimizer
         public bool RemoveCastToDevice { get; set; }
         public bool DisableActionCenter { get; set; }
 
+        // windows 8
         public bool DisableOneDrive { get; set; }
+
+        // windows 11
+        public bool TaskbarToLeft { get; set; }
+        public bool DisableSnapAssist { get; set; }
+        public bool DisableWidgets { get; set; }
+        public bool DisableChat { get; set; }
+        public bool TaskbarSmaller { get; set; }
+        public bool ClassicRibbon { get; set; }
+        public bool ClassicMenu { get; set; }
+        public bool DisableTPMCheck { get; set; }
     }
 
     internal static class Options
@@ -157,6 +170,17 @@ namespace Optimizer
             }
         }
 
+        internal static void LegacyCheck()
+        {
+            if (File.Exists(SettingsFile))
+            {
+                if (File.ReadAllText(SettingsFile).Contains("FirstRun"))
+                {
+                    File.Delete(SettingsFile);
+                }
+            }
+        }
+
         internal static void SaveSettings()
         {
             if (File.Exists(SettingsFile))
@@ -236,6 +260,15 @@ namespace Optimizer
 
                 CurrentOptions.DisableOneDrive = false;
 
+                CurrentOptions.TaskbarToLeft = false;
+                CurrentOptions.DisableSnapAssist = false;
+                CurrentOptions.DisableWidgets = false;
+                CurrentOptions.DisableChat = false;
+                CurrentOptions.TaskbarSmaller = false;
+                CurrentOptions.ClassicRibbon = false;
+                CurrentOptions.ClassicMenu = false;
+                CurrentOptions.DisableTPMCheck = false;
+
                 using (FileStream fs = File.Open(SettingsFile, FileMode.CreateNew))
                 using (StreamWriter sw = new StreamWriter(fs))
                 using (JsonWriter jw = new JsonTextWriter(sw))

+ 26 - 17
Optimizer/Program.cs

@@ -1,6 +1,9 @@
 using System;
+using System.Diagnostics;
 using System.IO;
+using System.Linq;
 using System.Reflection;
+using System.Threading;
 using System.Windows.Forms;
 
 namespace Optimizer
@@ -13,7 +16,7 @@ namespace Optimizer
         // Enter current version here
 
         internal readonly static float Major = 10;
-        internal readonly static float Minor = 0;
+        internal readonly static float Minor = 1;
 
         internal readonly static bool EXPERIMENTAL_BUILD = false;
 
@@ -45,6 +48,7 @@ namespace Optimizer
         static string _confInvalidFormatMsg = "Config file is in invalid format!";
         static string _confNotFoundMsg = "Config file does not exist!";
         static string _argInvalidMsg = "Invalid argument! Example: Optimizer.exe /silent.conf";
+        static string _alreadyRunningMsg = "Optimizer is already running in the background!";
 
         [STAThread]
         static void Main(string[] switches)
@@ -55,15 +59,6 @@ namespace Optimizer
             Application.EnableVisualStyles();
             Application.SetCompatibleTextRenderingDefault(false);
 
-            // check if another instance is running
-            // what's the problem? prevents auto-patching...
-
-            //if (System.Diagnostics.Process.GetProcessesByName(Path.GetFileNameWithoutExtension(Assembly.GetEntryAssembly().Location)).Length > 1)
-            //{
-            //    MessageBox.Show("Optimizer is already running in the background!", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
-            //    return;
-            //}
-
             // prompt to change filename to 'Optimizer' (skip if experimental build)
             // annoying?
 
@@ -84,17 +79,20 @@ namespace Optimizer
             {
                 if (Utilities.IsCompatible())
                 {
-                    Required.Deploy();
+                    // single-instance mechanism
+                    int processCount = Process.GetProcesses().Count(p => p.ProcessName.ToLowerInvariant().Contains("optimizer"));
 
-                    // for backward compatibility (legacy)
-                    if (File.Exists(Options.SettingsFile))
+                    if (processCount > 1)
                     {
-                        if (File.ReadAllText(Options.SettingsFile).Contains("FirstRun"))
-                        {
-                            File.Delete(Options.SettingsFile);
-                        }
+                        MessageBox.Show(_alreadyRunningMsg, "Optimizer", MessageBoxButtons.OK, MessageBoxIcon.Information);
+                        Environment.Exit(0);
                     }
 
+                    Required.Deploy();
+
+                    // for backward compatibility (legacy)
+                    Options.LegacyCheck();
+
                     // load settings, if there is no settings, load defaults
                     try
                     {
@@ -117,6 +115,7 @@ namespace Optimizer
                         _confInvalidVersionMsg = Options.TranslationList["confInvalidVersionMsg"];
                         _confNotFoundMsg = Options.TranslationList["confNotFoundMsg"];
                         _argInvalidMsg = Options.TranslationList["argInvalidMsg"];
+                        _alreadyRunningMsg = Options.TranslationList["alreadyRunningMsg"];
                     }
                     catch (Exception ex)
                     {
@@ -186,6 +185,16 @@ namespace Optimizer
                                         SilentOps.SilentUpdateOptions10();
                                         Options.SaveSettings();
                                     }
+                                    else if (SilentOps.CurrentSilentConfig.WindowsVersion == 11 && Utilities.CurrentWindowsVersion == WindowsVersion.Windows11)
+                                    {
+                                        SilentOps.ProcessSilentConfigGeneral();
+                                        SilentOps.ProcessSilentConfigWindows10();
+                                        SilentOps.ProcessSilentConfigWindows11();
+                                        SilentOps.SilentUpdateOptionsGeneral();
+                                        SilentOps.SilentUpdateOptions10();
+                                        SilentOps.SilentUpdateOptions11();
+                                        Options.SaveSettings();
+                                    }
                                     else
                                     {
                                         MessageBox.Show(_confInvalidVersionMsg, "Optimizer", MessageBoxButtons.OK, MessageBoxIcon.Information);

+ 18 - 1
Optimizer/Resources/DE.json

@@ -56,6 +56,14 @@
 	"featuresSw": "Feature-Updates deaktivieren",
 	"actionSw": " Benachrichtigungscenter deaktivieren",
 	"disableOneDriveSw": "OneDrive deaktivieren",
+	"tpmSw": "Deaktivieren Sie die TPM 2.0-Prüfung ",
+	"leftTaskbarSw": "Taskleiste nach links ausrichten",
+	"snapAssistSw": "Snap Assist deaktivieren",
+	"widgetsSw": "Widgets deaktivieren",
+	"chatSw": "Chat deaktivieren",
+	"smallerTaskbarSw": "Taskleiste kleiner machen",
+	"classicRibbonSw": "Klassische Schleife aktivieren ",
+	"classicContextSw": "Klassisches Rechtsklick-Menü aktivieren",
 	"refreshModernAppsButton": "Aktualisieren",
 	"uninstallModernAppsButton": "Deinstallieren",
 	"txtModernAppsTitle": "Unerwünschte UWP-Apps deinstallieren",
@@ -218,6 +226,7 @@
 	"HostsEditorForm": "Hosts Editor",
 	"savebtn": "Speichern",
 	"closebtn": "Schließen",
+	"alreadyRunningMsg": "Optimizer läuft bereits im Hintergrund!",
 	"adminMissingMsg": "Optimizer muss als Administrator ausgeführt werden!\nApp wird jetzt geschlossen...",
 	"unsupportedMsg": "Optimizer funktioniert unter Windows 7 oder neuer!\nApp wird jetzt geschlossen...",
 	"confInvalidVersionMsg": "Windows-Version stimmt nicht überein!",
@@ -328,5 +337,13 @@ Windows Defender ist der integrierte Virenschutz in Windows-Systemen.",
 "castTip": "Entfernt den Rechtsklick, um Medieninhalte an Miracast-Geräte zu übertragen.",
 "gameBarTip": "Game Bar ist ein Schnellzugriffsmenü für Xbox Spieldienste.",
 "insiderTip": "Das Windows Insider-Programm ermöglicht es Ihnen, die neuesten Funktionen zu testen bevor sie für die Öffentlichkeit freigegeben werden. Es wird als unnötiger Service für Benutzer angesehen, die nicht daran teilnehmen möchten.",
-"featuresTip": "Feature Updates sind technisch gesehen neue Versionen von Windows, die ein Upgrade erfordern. Sie gelten jedoch als riskantes Verfahren. In der Regel handelt es sich um halbjährliche Veröffentlichungen."
+"featuresTip": "Feature Updates sind technisch gesehen neue Versionen von Windows, die ein Upgrade erfordern. Sie gelten jedoch als riskantes Verfahren. In der Regel handelt es sich um halbjährliche Veröffentlichungen.",
+"tpmTip": "Umgeht die Anforderungen für Secure Boot und TPM 2.0 und ermöglicht ein Upgrade auf Windows 11.",
+"leftTaskbarTip": "Richtet Taskleistensymbole links aus.",
+"snapAssistTip": "Deaktivieren Sie Snap Assist Flyout, wenn Sie über die Maximierungsschaltflächen schweben.",
+"widgetsTip": "Deaktiviert die Widgets-Funktion und entfernt das Widgets-Symbol aus der Taskleiste.",
+"chatTip": "Entfernt das Chat-Symbol aus der Taskleiste.",
+"smallerTaskbarTip": "Verkleinert die Größe der Taskleiste und die Symbole.",
+"classicRibbonTip": "Stellt die klassische Multifunktionsleiste von Windows 10 im Datei-Explorer wieder her.",
+"classicContextTip": "Stellt das klassische Rechtsklick-Menü wieder her und entfernt 'Weitere Optionen anzeigen'."
 }

+ 18 - 1
Optimizer/Resources/EL.json

@@ -56,6 +56,14 @@
 	"featuresSw": "Απενεργοποίηση Ενημερώσεων Ποιότητας",
 	"actionSw": "Απενεργοποίηση Κέντρου Ενημερώσεων",
 	"disableOneDriveSw": "Απενεργοποίηση OneDrive",
+	"tpmSw": "Απενεργοποίηση Ελέγχου TPM 2.0",
+	"leftTaskbarSw": "Ευθυγράμμιση Γραμμης Εργασιών Αριστερά",
+	"snapAssistSw": "Απενεργοποίηση του Snap Assist",
+	"widgetsSw": "Απενεργοποίηση των Widgets",
+	"chatSw": "Απενεργοποίηση του Chat",
+	"smallerTaskbarSw": "Σμίκρυνση της Γραμμής Εργασιών",
+	"classicRibbonSw": "Επαναφορά Κλασσικης Κορδέλας στα Αρχεια",
+	"classicContextSw": "Επαναφορά Κλασσικού Μενού στο Δεξί Κλικ",
 	"refreshModernAppsButton": "Ανανέωση",
 	"uninstallModernAppsButton": "Διαγραφή",
 	"txtModernAppsTitle": "Απεγκατάσταση ανεπιθύμητων εφαρμογών UWP",
@@ -224,6 +232,7 @@
 	"confInvalidFormatMsg": "Μη έγκυρη μορφή αρχείου",
 	"confNotFoundMsg": "Το αρχείο διαμόρφωσης δεν υπάρχει",
 	"argInvalidMsg": "Μη έγκυρος ορισμός! Παράδειγμα: Optimizer.exe /silent.conf",
+	"alreadyRunningMsg": "Το Optimizer εκτελειται ηδη στο παρασκηνιο!",
 	"StartupPreviewForm": "Προεπισκόπηση στοιχείων εκκίνησης",
 	"StartupRestoreForm": "Επαναφορά στοιχείων εκκίνησης",
 	"backupL": "Ανάκτηση στοιχείων εκκίνησης",
@@ -351,5 +360,13 @@
 πριν κυκλοφορήσουν στο κοινό.
 Θεωρείται περιττή υπηρεσία για χρήστες που δεν επιθυμούν να συμμετάσχουν.",
 	"featuresTip": "Οι ενημερώσεις ποιότητας είναι τεχνικά νέες εκδόσεις των Windows, οι οποίες απαιτούν αναβάθμιση.
-Ωστόσο, θεωρούνται μια επικίνδυνη διαδικασία. Συνήθως είναι εξαμηνιαίες κυκλοφορίες."
+Ωστόσο, θεωρούνται μια επικίνδυνη διαδικασία. Συνήθως είναι εξαμηνιαίες κυκλοφορίες.",
+	"tpmTip": "Παρακάμπτει τις απαιτήσεις Secure Boot και TPM 2.0, επιτρέποντας την αναβάθμιση σε Windows 11.",
+	"leftTaskbarTip": "Ευθυγραμμίζει τα εικονίδια της γραμμής εργασιών στα αριστερά.",
+	"snapAssistTip": "Απενεργοποιεί το Snap Assist Flyout όταν τοποθετείτε το δείκτη του ποντικιού στη μεγιστοποίηση.",
+	"widgetsTip": "Απενεργοποιεί τη λειτουργία Widgets και καταργεί το εικονίδιο Widgets από τη γραμμή εργασιών.",
+	"chatTip": "Αφαιρεί το εικονίδιο Chat από τη γραμμή εργασιών.",
+	"smallerTaskbarTip": "Κάνει το μέγεθος της γραμμής εργασιών και τα εικονίδιά της μικρότερα. ",
+	"classicRibbonTip": "Επαναφέρει την κλασική γραμμή κορδέλας από τα Windows 10 στην Εξερεύνηση Αρχείων.",
+	"classicContextTip": "Επαναφέρει το κλασικό μενού με δεξί κλικ, καταργώντας την επιλογή 'Εμφάνιση περισσότερων επιλογών'."
 }

+ 18 - 1
Optimizer/Resources/EN.json

@@ -56,6 +56,14 @@
 	"featuresSw": "Disable Feature Updates",
 	"actionSw": "Disable Notification Center",
 	"disableOneDriveSw": "Disable OneDrive",
+	"tpmSw": "Disable TPM 2.0 Check",
+	"leftTaskbarSw": "Align Taskbar to Left",
+	"snapAssistSw": "Disable Snap Assist",
+	"widgetsSw": "Disable Widgets",
+	"chatSw": "Disable Chat",
+	"smallerTaskbarSw": "Make Taskbar Smaller",
+	"classicRibbonSw": "Enable Classic Ribbon in Explorer",
+	"classicContextSw": "Enable Classic Right-Click Menu",
 	"refreshModernAppsButton": "Refresh",
 	"uninstallModernAppsButton": "Uninstall",
 	"txtModernAppsTitle": "Uninstall unwanted UWP apps",
@@ -224,6 +232,7 @@
 	"confInvalidFormatMsg": "Config file is in invalid format!",
 	"confNotFoundMsg": "Config file does not exist!",
 	"argInvalidMsg": "Invalid argument! Example: Optimizer.exe /silent.conf",
+	"alreadyRunningMsg": "Optimizer is already running in the background!",
 	"StartupPreviewForm": "Startup Items Preview",
 	"StartupRestoreForm": "Restore Startup Items",
 	"backupL": "Recover your startup items",
@@ -352,5 +361,13 @@ Useful only for tablets or devices with touch-screen.",
 before they are released to public.
 It's considered an unnecessary service for users who don't wish to participate.",
 	"featuresTip": "Feature Updates are technically new versions of Windows, that require an upgrade.
-However, they are considered a risky procedure. They are usually semi-annual releases."
+However, they are considered a risky procedure. They are usually semi-annual releases.",
+	"tpmTip": "Bypasses Secure Boot and TPM 2.0 requirements, allowing the upgrading to Windows 11.",
+	"leftTaskbarTip": "Aligns taskbar icons to the left.",
+	"snapAssistTip": "Disables Snap Assist Flyout when hovering maximize buttons.",
+	"widgetsTip": "Disables Widgets feature and removes Widgets icon from taskbar.",
+	"chatTip": "Removes Chat icon from taskbar.",
+	"smallerTaskbarTip": "Makes taskbar size and icons smaller.",
+	"classicRibbonTip": "Restores classic ribbon bar from Windows 10 in File Explorer.",
+	"classicContextTip": "Restores classic right-click menu, removing 'Show more options'."
 }

+ 18 - 1
Optimizer/Resources/ES.json

@@ -56,6 +56,14 @@
 	"featuresSw": "Deshabilitar las actualizaciones de funciones",
 	"actionSw": "Deshabilitar Notification Center",
 	"disableOneDriveSw": "Deshabilitar OneDrive",
+	"tpmSw": "Deshabilitar la verificación de TPM 2.0",
+	"leftTaskbarSw": "Alinear la barra de tareas a la izquierda",
+	"snapAssistSw": "Desactivar la función Snap Assist",
+	"widgetsSw": "Desactivar widgets",
+	"chatSw": "Desactivar chat",
+	"smallerTaskbarSw": "Reducir el tamaño de la barra de tareas",
+	"classicRibbonSw": "Habilitar la cinta clásica en el Explorador",
+	"classicContextSw": "Habilitar el menú de clic derecho clásico",
 	"refreshModernAppsButton": "Actualizar",
 	"uninstallModernAppsButton": "Desinstalar",
 	"txtModernAppsTitle": "Desinstalar UWP apps no deseadas",
@@ -218,6 +226,7 @@
 	"HostsEditorForm": "Editor de hosts",
 	"savebtn": "Guardar",
 	"closebtn": "Cerrar",
+	"alreadyRunningMsg": "Optimizer ya se está ejecutando en segundo plano!",
 	"adminMissingMsg": "Optimizer debe ejecutarse como administrador!\nLa aplicación ahora se cerrará...",
 	"unsupportedMsg": "Optimizador funciona en Windows 7 o superior!\nLa aplicación ahora se cerrará...",
 	"confInvalidVersionMsg": "La versión de Windows no coincide!",
@@ -352,5 +361,13 @@ como rotación automática, brillo automático, etc.
 antes de que se publiquen.
 Se considera un servicio innecesario para los usuarios que no desean participar.",
 	"featuresTip": "Las actualizaciones de funciones son versiones técnicamente nuevas de Windows que requieren una actualización.
-Sin embargo, se consideran un procedimiento riesgoso. Suelen ser lanzamientos semestrales."
+Sin embargo, se consideran un procedimiento riesgoso. Suelen ser lanzamientos semestrales.",
+	"tpmTip": "Omite los requisitos de arranque seguro y TPM 2.0, lo que permite la actualización a Windows 11.",
+	"leftTaskbarTip": "Alinea los iconos de la barra de tareas a la izquierda.",
+	"snapAssistTip": "Desactive el menú desplegable Asistente de ajuste al colocar el cursor sobre los botones de maximizar.",
+	"widgetsTip": "Desactiva la función de widgets y elimina el icono de widgets de la barra de tareas.",
+	"chatTip": "Elimina el icono de chat de la barra de tareas.",
+	"smallerTaskbarTip": "Reduce el tamaño de la barra de tareas y los iconos.",
+	"classicRibbonTip": "Restaura la barra de cinta clásica de Windows 10 en el Explorador de archivos.",
+	"classicContextTip": "Restaura el menú clásico del botón derecho del ratón, eliminando 'Mostrar más opciones'."
 }

+ 18 - 1
Optimizer/Resources/FR.json

@@ -56,6 +56,14 @@
 	"featuresSw": "Desactiver les mises a jour des fonctionnalites",
 	"actionSw": "Desactiver le centre de notification",
 	"disableOneDriveSw": "Desactiver OneDrive",
+	"tpmSw": "Désactiver le contrôle TPM 2.0",
+	"leftTaskbarSw": "Aligner la barre des tâches à gauche",
+	"snapAssistSw": "Désactiver l'assistance instantanée",
+	"widgetsSw": "Désactiver les widgets",
+	"chatSw": "Désactiver le chat",
+	"smallerTaskbarSw": "Réduire la barre des tâches",
+	"classicRibbonSw": "Activer le ruban classique dans les fichiers",
+	"classicContextSw": "Activer le menu contextuel classique",
 	"refreshModernAppsButton": "Rafraichir",
 	"uninstallModernAppsButton": "Desinstaller",
 	"txtModernAppsTitle": "Desinstaller les applications UWP indesirables",
@@ -218,6 +226,7 @@
 	"HostsEditorForm": "Editeur d'Hosts",
 	"savebtn": "Enregistrer",
 	"closebtn": "Fermer",
+	"alreadyRunningMsg": "L'Optimiseur fonctionne déjà en arrière-plan!",
 	"adminMissingMsg": "Optimizer doit etre execute en tant qu'Administrateur!\nL'application va maintenant se fermer...",
 	"unsupportedMsg": "Optimizer fonctionne sous Windows 7 ou superieur !\nL'application va maintenant se fermer...",
 	"confInvalidVersionMsg": "La version de Windows ne correspond pas!",
@@ -352,5 +361,13 @@ Utile uniquement pour les tablettes ou les appareils avec un ecran tactile.",
 avant qu'elles ne soient diffusees au public.
 Il est considere comme un service inutile pour les utilisateurs qui ne souhaitent pas y participer.",
 	"featuresTip": "Les mises a jour des fonctionnalites sont techniquement de nouvelles versions de Windows, qui necessitent une mise a niveau.
-Cependant, elles sont considerees comme une procedure risquee. Il s'agit generalement de versions semestrielles."
+Cependant, elles sont considerees comme une procedure risquee. Il s'agit generalement de versions semestrielles.",
+	"tpmTip": "Contourne les exigences Secure Boot et TPM 2.0, permettant la mise à niveau vers Windows 11.",
+	"leftTaskbarTip": "Aligne les icônes de la barre des tâches sur la gauche.",
+	"snapAssistTip": "Désactivez Snap Assist Flyout lorsque vous survolez les boutons d'agrandissement.",
+	"widgetsTip": "Désactive la fonction Widgets et supprime l'icône Widgets de la barre des tâches.",
+	"chatTip": "Supprime l'icône de discussion de la barre des tâches.",
+	"smallerTaskbarTip": "Rend la taille de la barre des tâches et les icônes plus petites.",
+	"classicRibbonTip": "Restaure la barre de ruban classique de Windows 10 dans l'explorateur de fichiers.",
+	"classicContextTip": "Restaure le menu contextuel classique en supprimant 'Afficher plus d'options'."
 }

+ 18 - 1
Optimizer/Resources/PT.json

@@ -56,6 +56,14 @@
 	"featuresSw": "Desabilitar Atualizações de Recursos",
 	"actionSw": "Desabilitar Centro de Notificações",
 	"disableOneDriveSw": "Desabilitar Microsoft OneDrive",
+	"tpmSw": "Desativar verificação TPM 2.0 ",
+	"leftTaskbarSw": "Alinhar a Barra de Tarefas à Esquerda",
+	"snapAssistSw": "Desativar Snap Assist",
+	"widgetsSw": "Desativar Widgets",
+	"chatSw": "Desativar bate-papo",
+	"smallerTaskbarSw": "Tornar a barra de tarefas menor",
+	"classicRibbonSw": "Habilitar Faixa Clássica",
+	"classicContextSw": "Habilitar menu clássico do botão direito",
 	"refreshModernAppsButton": "Atualizar",
 	"uninstallModernAppsButton": "Desinstalar",
 	"txtModernAppsTitle": "Desinstalar aplicativos desnecessários indesejados",
@@ -218,6 +226,7 @@
 	"HostsEditorForm": "Editor de Hosts",
 	"savebtn": "Salvar",
 	"closebtn": "Fechar",
+	"alreadyRunningMsg": "O Otimizador já está sendo executado em segundo plano!",
 	"adminMissingMsg": "O otimizador precisa ser executado como administrador!\nO aplicativo vai fechar agora...",
 	"unsupportedMsg": "O otimizador funciona no Windows 7 ou superior!\nO aplicativo vai fechar agora...",
 	"confInvalidVersionMsg": "A versão do Windows não é compatível!",
@@ -350,5 +359,13 @@ como rotação automática, brilho automático, etc.
 antes de serem divulgados ao público.
 É considerado um serviço desnecessário para usuários que não desejam participar.",
 	"featuresTip": "As atualizações de recursos são tecnicamente novas versões do Windows, que requerem uma atualização.
-No entanto, eles são considerados um procedimento arriscado. Geralmente são lançamentos semestrais."
+No entanto, eles são considerados um procedimento arriscado. Geralmente são lançamentos semestrais.",
+	"tpmTip": "Ignora os requisitos de inicialização segura e TPM 2.0, permitindo a atualização para o Windows 11.",
+	"leftTaskbarTip": "Alinha os ícones da barra de tarefas à esquerda.",
+	"snapAssistTip": "Desative Snap Assist Flyout ao passar o mouse sobre os botões de maximização.",
+	"widgetsTip": "Desativa o recurso Widgets e remove o ícone Widgets da barra de tarefas.",
+	"chatTip": "Remove o ícone de bate-papo da barra de tarefas.",
+	"smallerTaskbarTip": "Diminui o tamanho e os ícones da barra de tarefas.",
+	"classicRibbonTip": "Restaura a barra de fita clássica do Windows 10 no File Explorer.",
+	"classicContextTip": "Restaura o menu clássico do botão direito, removendo 'Mostrar mais opções'."
 }

+ 18 - 1
Optimizer/Resources/RU.json

@@ -56,6 +56,14 @@
 	"featuresSw": "Отключить функцию обновлений",
 	"actionSw": "Отключить Центр уведомлений",
 	"disableOneDriveSw": "Отключить OneDrive",
+	"tpmSw": "Отключить проверку TPM 2.0",
+	"leftTaskbarSw": "Выровнять панель задач по левому краю",
+	"snapAssistSw": "Отключить Snap Assist",
+	"widgetsSw": "Отключить виджеты",
+	"chatSw": "Отключить чат",
+	"smallerTaskbarSw": "Сделать панель задач меньше",
+	"classicRibbonSw": "Включить классическую ленту в проводнике",
+	"classicContextSw": "Отключить Показать дополнительные параметры",
 	"refreshModernAppsButton": "обновить",
 	"uninstallModernAppsButton": "удалить",
 	"txtModernAppsTitle": "Удалить ненужные приложения UWP",
@@ -218,6 +226,7 @@
 	"HostsEditorForm": "Hosts редактор",
 	"savebtn": "сохранить",
 	"closebtn": "закрыть",
+	"alreadyRunningMsg": "Optimizer уже работает в фоновом режиме!",
 	"adminMissingMsg": "Optimizer должен быть запущен от имени администратора!\nПриложение будет закрыто.",
 	"unsupportedMsg": "Optimizer работает в Windows 7 и выше!\nПриложение будет закрыто.",
 	"confInvalidVersionMsg": "Версия Windows не совпадает!",
@@ -352,5 +361,13 @@
 до того, как они будут опубликованы.
 Это считается ненужной службой для пользователей, которые не хотят участвовать.",
 	"featuresTip": "Обновления компонентов - это технически новые версии Windows, требующие обновления.
-Однако это считаются рискованной процедурой. Обычно это полугодовые релизы."
+Однако это считаются рискованной процедурой. Обычно это полугодовые релизы.",
+	"tpmTip": "Обходит требования безопасной загрузки и TPM 2.0, позволяя выполнить обновление до Windows 11.",
+	"leftTaskbarTip": "Выравнивает значки панели задач по левому краю.",
+	"snapAssistTip": "Отключите всплывающее меню Snap Assist при наведении курсора на кнопки развертывания.",
+	"widgetsTip": "Отключает функцию виджетов и удаляет значок виджетов с панели задач.",
+	"chatTip": "Удаляет значок чата с панели задач.",
+	"smallerTaskbarTip": "Уменьшает размер панели задач и значков.",
+	"classicRibbonTip": "Восстанавливает классическую ленточную панель из Windows 10 в проводнике.",
+	"classicContextTip": "Восстанавливает классическое контекстное меню, удаляя 'Показать дополнительные параметры'."
 }

+ 18 - 1
Optimizer/Resources/TR.json

@@ -56,6 +56,14 @@
 	"featuresSw": "Özellik Güncellemelerini Devre Dışı Bırak",
 	"actionSw": "Bildirim Merkezini Devre Dışı Bırak",
 	"disableOneDriveSw": "OneDrive'ı Devre Dışı Bırak",
+	"tpmSw": "TPM 2.0 Kontrolünü Devre Dışı Bırak",
+	"leftTaskbarSw": "Görev Çubuğunu Sola Hizala",
+	"snapAssistSw": "Snap Assist'i devre dışı bırak",
+	"widgetsSw": "Widgets Devre Dışı Bırak",
+	"chatSw": "Sohbeti Devre Dışı Bırak",
+	"smallerTaskbarSw": "Görev Çubuğunu Küçült",
+	"classicRibbonSw": "Explorer'da Klasik Şeridi Etkinleştir",
+	"classicContextSw": "Klasik Sağ Tıklama Menüsünü Etkinleştir",
 	"refreshModernAppsButton": "Yenile",
 	"uninstallModernAppsButton": "Kaldır",
 	"txtModernAppsTitle": "İstenmeyen UWP Uygulamalarını Kaldırın",
@@ -218,6 +226,7 @@
 	"HostsEditorForm": "Hosts Düzenleyici(Editor)",
 	"savebtn": "Kaydet",
 	"closebtn": "Kapat",
+	"alreadyRunningMsg": "Optimizer edici zaten arka planda çalışıyor!",
 	"adminMissingMsg": "Optimize edicinin yönetici olarak çalıştırılması gerekiyor!\nUygulama şimdi kapanacak...",
 	"unsupportedMsg": "Optimize Edici, Windows 7 veya sonraki sürümlerde çalışır!\nUygulama şimdi kapanacak...",
 	"confInvalidVersionMsg": "Windows sürümü eşleşmiyor!",
@@ -352,5 +361,13 @@ Yalnızca dokunmatik ekranlı tabletler veya cihazlar için kullanışlıdır.",
 test etmenize olanak tanır.
 Katılmak istemeyen kullanıcılar için gereksiz bir hizmet olarak kabul edilir.",
 	"featuresTip": "Özellik Güncelleştirmeleri, teknik olarak Windows'un yükseltme gerektiren yeni sürümleridir.
-Ancak, riskli bir prosedür olarak kabul edilirler. Genellikle altı aylık yayınlardır."
+Ancak, riskli bir prosedür olarak kabul edilirler. Genellikle altı aylık yayınlardır.",
+	"tpmTip": "Güvenli Önyükleme ve TPM 2.0 gereksinimlerini atlayarak Windows 11'e yükseltmeye izin verir.",
+	"leftTaskbarTip": "Görev çubuğu simgelerini sola hizalar.",
+	"snapAssistTip": "Büyütme düğmeleri üzerinde gezinirken Snap Assist Flyout'u devre dışı bırakın.",
+	"widgetsTip": "Widget'lar özelliğini devre dışı bırakır ve Widget'lar simgesini görev çubuğundan kaldırır.",
+	"chatTip": "Görev çubuğundan Sohbet simgesini kaldırır.",
+	"smallerTaskbarTip": "Görev çubuğunun boyutunu ve simgelerini küçültür.",
+	"classicRibbonTip": "Dosya Gezgini'nde Windows 10'dan klasik şerit çubuğunu geri yükler.",
+	"classicContextTip": "'Daha fazla seçenek göster' seçeneğini kaldırarak klasik sağ tıklama menüsünü geri yükler."
 }

+ 9 - 0
Optimizer/SilentConfig.cs

@@ -48,5 +48,14 @@ namespace Optimizer
         public bool? DisableActionCenter { get; set; }
 
         public bool? DisableOneDrive { get; set; }
+
+        public bool? TaskbarToLeft { get; set; }
+        public bool? DisableSnapAssist { get; set; }
+        public bool? DisableWidgets { get; set; }
+        public bool? DisableChat { get; set; }
+        public bool? TaskbarSmaller { get; set; }
+        public bool? ClassicRibbon { get; set; }
+        public bool? ClassicMenu { get; set; }
+        public bool? DisableTPMCheck { get; set; }
     }
 }

+ 136 - 0
Optimizer/SilentOps.cs

@@ -507,6 +507,106 @@ namespace Optimizer
             }
         }
 
+        // silent config processing for Windows 11 tweaks
+        internal static void ProcessSilentConfigWindows11()
+        {
+            if (CurrentSilentConfig.TaskbarToLeft.HasValue)
+            {
+                if (CurrentSilentConfig.TaskbarToLeft.Value)
+                {
+                    Optimize.AlignTaskbarToLeft();
+                }
+                else
+                {
+                    Optimize.AlignTaskbarToCenter();
+                }
+            }
+
+            if (CurrentSilentConfig.DisableSnapAssist.HasValue)
+            {
+                if (CurrentSilentConfig.DisableSnapAssist.Value)
+                {
+                    Optimize.DisableSnapAssist();
+                }
+                else
+                {
+                    Optimize.EnableSnapAssist();
+                }
+            }
+
+            if (CurrentSilentConfig.DisableWidgets.HasValue)
+            {
+                if (CurrentSilentConfig.DisableWidgets.Value)
+                {
+                    Optimize.DisableWidgets();
+                }
+                else
+                {
+                    Optimize.EnableWidgets();
+                }
+            }
+
+            if (CurrentSilentConfig.DisableChat.HasValue)
+            {
+                if (CurrentSilentConfig.DisableChat.Value)
+                {
+                    Optimize.DisableChat();
+                }
+                else
+                {
+                    Optimize.DisableChat();
+                }
+            }
+
+            if (CurrentSilentConfig.TaskbarSmaller.HasValue)
+            {
+                if (CurrentSilentConfig.TaskbarSmaller.Value)
+                {
+                    Optimize.SmallerTaskbar();
+                }
+                else
+                {
+                    Optimize.DefaultTaskbarSize();
+                }
+            }
+
+            if (CurrentSilentConfig.ClassicRibbon.HasValue)
+            {
+                if (CurrentSilentConfig.ClassicRibbon.Value)
+                {
+                    Optimize.EnableFileExplorerClassicRibbon();
+                }
+                else
+                {
+                    Optimize.DisableFileExplorerClassicRibbon();
+                }
+            }
+
+            if (CurrentSilentConfig.ClassicMenu.HasValue)
+            {
+                if (CurrentSilentConfig.ClassicMenu.Value)
+                {
+                    Optimize.DisableShowMoreOptions();
+                }
+                else
+                {
+                    Optimize.EnableShowMoreOptions();
+                }
+            }
+
+            if (CurrentSilentConfig.DisableTPMCheck.HasValue)
+            {
+                if (CurrentSilentConfig.DisableTPMCheck.Value)
+                {
+                    Optimize.DisableTPMCheck();
+                }
+                else
+                {
+                    Optimize.EnableTPMCheck();
+                }
+            }
+        }
+
         // updating options using silent config
         internal static void SilentUpdateOptionsGeneral()
         {
@@ -580,6 +680,42 @@ namespace Optimizer
             }
         }
 
+        internal static void SilentUpdateOptions11() 
+        {
+            if (CurrentSilentConfig.TaskbarToLeft.HasValue)
+            {
+                Options.CurrentOptions.TaskbarToLeft = CurrentSilentConfig.TaskbarToLeft.Value;
+            }
+            if (CurrentSilentConfig.DisableSnapAssist.HasValue)
+            {
+                Options.CurrentOptions.DisableSnapAssist = CurrentSilentConfig.DisableSnapAssist.Value;
+            }
+            if (CurrentSilentConfig.DisableWidgets.HasValue)
+            {
+                Options.CurrentOptions.DisableWidgets = CurrentSilentConfig.DisableWidgets.Value;
+            }
+            if (CurrentSilentConfig.DisableChat.HasValue)
+            {
+                Options.CurrentOptions.DisableChat = CurrentSilentConfig.DisableChat.Value;
+            }
+            if (CurrentSilentConfig.TaskbarSmaller.HasValue)
+            {
+                Options.CurrentOptions.TaskbarSmaller = CurrentSilentConfig.TaskbarSmaller.Value;
+            }
+            if (CurrentSilentConfig.ClassicRibbon.HasValue)
+            {
+                Options.CurrentOptions.ClassicRibbon = CurrentSilentConfig.ClassicRibbon.Value;
+            }
+            if (CurrentSilentConfig.ClassicMenu.HasValue)
+            {
+                Options.CurrentOptions.ClassicMenu = CurrentSilentConfig.ClassicMenu.Value;
+            }
+            if (CurrentSilentConfig.DisableTPMCheck.HasValue)
+            {
+                Options.CurrentOptions.DisableTPMCheck = CurrentSilentConfig.DisableTPMCheck.Value;
+            }
+        }
+
         internal static void SilentUpdateOptions10()
         {
             if (CurrentSilentConfig.EnableLegacyVolumeSlider.HasValue)

+ 22 - 13
Optimizer/Utilities.cs

@@ -38,6 +38,9 @@ namespace Optimizer
 
         static IPAddress addressToPing;
 
+        static string productName = string.Empty;
+        static string buildNumber = string.Empty;
+
         internal delegate void SetControlPropertyThreadSafeDelegate(Control control, string propertyName, object propertyValue);
 
         internal static void SetControlPropertyThreadSafe(Control control, string propertyName, object propertyValue)
@@ -81,42 +84,48 @@ namespace Optimizer
 
         internal static string GetOS()
         {
-            string os = (string)Registry.GetValue("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion", "ProductName", "");
+            productName = (string)Registry.GetValue("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion", "ProductName", "");
 
-            if (os.Contains("Windows 7"))
+            if (productName.Contains("Windows 7"))
             {
                 CurrentWindowsVersion = WindowsVersion.Windows7;
             }
-            if ((os.Contains("Windows 8")) || (os.Contains("Windows 8.1")))
+            if ((productName.Contains("Windows 8")) || (productName.Contains("Windows 8.1")))
             {
                 CurrentWindowsVersion = WindowsVersion.Windows8;
             }
-            if (os.Contains("Windows 10"))
-            {
-                CurrentWindowsVersion = WindowsVersion.Windows10;
-            }
-            if (os.Contains("Windows 11"))
+            if (productName.Contains("Windows 10"))
             {
-                CurrentWindowsVersion = WindowsVersion.Windows11;
+                buildNumber = (string)Registry.GetValue("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion", "CurrentBuild", "");
+
+                if (Convert.ToInt32(buildNumber) >= 22000)
+                {
+                    productName = productName.Replace("Windows 10", "Windows 11");
+                    CurrentWindowsVersion = WindowsVersion.Windows11;
+                }
+                else
+                {
+                    CurrentWindowsVersion = WindowsVersion.Windows10;
+                }
             }
 
             if (Program.UNSAFE_MODE)
             {
-                if (os.Contains("Windows Server 2008"))
+                if (productName.Contains("Windows Server 2008"))
                 {
                     CurrentWindowsVersion = WindowsVersion.Windows7;
                 }
-                if (os.Contains("Windows Server 2012"))
+                if (productName.Contains("Windows Server 2012"))
                 {
                     CurrentWindowsVersion = WindowsVersion.Windows8;
                 }
-                if (os.Contains("Windows Server 2016") || os.Contains("Windows Server 2019"))
+                if (productName.Contains("Windows Server 2016") || productName.Contains("Windows Server 2019"))
                 {
                     CurrentWindowsVersion = WindowsVersion.Windows10;
                 }
             }
 
-            return os;
+            return productName;
         }
 
         internal static string GetBitness()

+ 5 - 5
README.md

@@ -10,7 +10,7 @@ Optimizer is recommended after a fresh, clean installation of Windows to achieve
 
 Depending on your version of Windows, Optimizer will also allow you to perform some specific tweaks.
 <p align="center">
-	<a href="https://github.com/hellzerg/optimizer/releases/download/10.0/Optimizer-10.0.exe" target="_blank">
+	<a href="https://github.com/hellzerg/optimizer/releases/download/10.0/Optimizer-10.1.exe" target="_blank">
 		<img src="download-button.png">
 	</a>
 </p> 
@@ -56,7 +56,7 @@ https://github.com/hellzerg/optimizer/blob/master/LEGACY.md
 ## Compatibility: ##
 
 * .NET Framework 4.5.2
-* Compatible with Windows 7, 8, 8.1, 10
+* Compatible with Windows 7, 8, 8.1, 10, 11
 * Can run under Windows Server 2008, 2012, 2016, 2019 using /unsafe switch
 
 ## Tools used: ##
@@ -77,6 +77,6 @@ https://github.com/hellzerg/optimizer/blob/master/FEED.md
 
 ## Details: ##
 
-* Latest version: 10.0
-* Released: September 14, 2021
-* SHA256: B43EC609D4EC51269ED8831091AF840950295E8DF09099C1452236151A5A4358
+* Latest version: 10.1
+* Released: October 6, 2021
+* SHA256: F5636FEDA46EC3E6FAB5CF21D55C6069C83A1CE9ABAF306E9C6155B7C9F23E4D

+ 0 - 0
confs/w10.conf → confs/win10.conf


+ 49 - 0
confs/win11.conf

@@ -0,0 +1,49 @@
+{
+  "WindowsVersion": 11,
+  "EnablePerformanceTweaks": false,
+  "DisableNetworkThrottling": false,
+  "DisableWindowsDefender": false,
+  "DisableSystemRestore": false,
+  "DisablePrintService": false,
+  "DisableMediaPlayerSharing": false,
+  "DisableErrorReporting": false,
+  "DisableHomeGroup": false,
+  "DisableSuperfetch": false,
+  "DisableTelemetryTasks": false,
+  "DisableOffice2016Telemetry": false,
+  "DisableCompatibilityAssistant": false,
+  "DisableFaxService": false,
+  "DisableSmartScreen": false,
+  "DisableStickyKeys": false,
+  "DisableCloudClipboard": false,
+  "EnableLegacyVolumeSlider": false,
+  "EnableTaskbarColor": false,
+  "DisableQuickAccessHistory": false,
+  "DisableStartMenuAds": false,
+  "EnableDarkTheme": false,
+  "UninstallOneDrive": false,
+  "DisableMyPeople": false,
+  "DisableAutomaticUpdates": false,
+  "ExcludeDrivers": false,
+  "DisableTelemetryServices": false,
+  "DisablePrivacyOptions": false,
+  "DisableCortana": false,
+  "DisableSensorServices": false,
+  "DisableWindowsInk": false,
+  "DisableSpellingTyping": false,
+  "DisableXboxLive": false,
+  "DisableGameBar": false,
+  "DisableInsiderService": false,
+  "DisableFeatureUpdates": false,
+  "EnableLongPaths": false,
+  "RemoveCastToDevice": false,
+  "DisableActionCenter": false,
+  "TaskbarToLeft": false,
+  "DisableSnapAssist": false,
+  "DisableWidgets": false,
+  "DisableChat": false,
+  "TaskbarSmaller": false,
+  "ClassicRibbon": false,
+  "ClassicMenu": false,
+  "DisableTPMCheck": false
+}

+ 0 - 0
confs/w7.conf → confs/win7.conf


+ 0 - 0
confs/w8.conf → confs/win8.conf


+ 1 - 1
version.txt

@@ -1 +1 @@
-10.0
+10.1

برخی فایل ها در این مقایسه diff نمایش داده نمی شوند زیرا تعداد فایل ها بسیار زیاد است