deadmoon 4 år sedan
förälder
incheckning
30ca094a0f
6 ändrade filer med 25 tillägg och 11 borttagningar
  1. 3 0
      CHANGELOG.md
  2. 2 0
      Optimizer/Optimize.cs
  3. 1 1
      Optimizer/Program.cs
  4. 15 6
      Optimizer/Utilities.cs
  5. 3 3
      README.md
  6. 1 1
      version.txt

+ 3 - 0
CHANGELOG.md

@@ -2,6 +2,9 @@
 
 All notable changes to this project will be documented in this file.
 
+## [7.8] - 2021-04-17
+- Hotfix: Crash when Startup folders are missing
+
 ## [7.7] - 2021-04-15
 - Hotfix: Crashes due to localization
 

+ 2 - 0
Optimizer/Optimize.cs

@@ -378,6 +378,8 @@ namespace Optimizer
             Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender\Real-Time Protection", "DisableBehaviorMonitoring", "0", RegistryValueKind.DWord);
             Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender\Real-Time Protection", "DisableOnAccessProtection", "0", RegistryValueKind.DWord);
             Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender\Real-Time Protection", "DisableScanOnRealtimeEnable", "0", RegistryValueKind.DWord);
+
+            Utilities.RunCommand("Gpupdate /Force");
         }
 
         internal static void DisableErrorReporting()

+ 1 - 1
Optimizer/Program.cs

@@ -13,7 +13,7 @@ namespace Optimizer
         // Enter current version here
 
         internal readonly static float Major = 7;
-        internal readonly static float Minor = 7;
+        internal readonly static float Minor = 8;
 
         internal readonly static bool EXPERIMENTAL_BUILD = false;
 

+ 15 - 6
Optimizer/Utilities.cs

@@ -23,6 +23,7 @@ namespace Optimizer
         internal static readonly string LocalMachineRunOnceWow = "Software\\Wow6432Node\\Microsoft\\Windows\\CurrentVersion\\RunOnce";
         internal static readonly string CurrentUserRun = "Software\\Microsoft\\Windows\\CurrentVersion\\Run";
         internal static readonly string CurrentUserRunOnce = "Software\\Microsoft\\Windows\\CurrentVersion\\RunOnce";
+
         internal static readonly string LocalMachineStartupFolder = CleanHelper.ProgramData + "\\Microsoft\\Windows\\Start Menu\\Programs\\Startup";
         internal static readonly string CurrentUserStartupFolder = CleanHelper.ProfileAppDataRoaming + "\\Microsoft\\Windows\\Start Menu\\Programs\\Startup";
 
@@ -383,13 +384,21 @@ namespace Optimizer
                 GetRegistryStartupItemsHelper(ref startupItems, StartupItemLocation.HKLMWoW, StartupItemType.RunOnce);
             }
 
-            string[] currentUserFiles = Directory.GetFiles(CurrentUserStartupFolder, "*.exe", SearchOption.AllDirectories);
-            string[] currentUserShortcuts = Directory.GetFiles(CurrentUserStartupFolder, "*.lnk", SearchOption.AllDirectories);
-            GetFolderStartupItemsHelper(ref startupItems, currentUserFiles, currentUserShortcuts);
+            if (Directory.Exists(CurrentUserStartupFolder))
+            {
+                string[] currentUserFiles = Directory.EnumerateFiles(CurrentUserStartupFolder, "*.*", SearchOption.AllDirectories)
+                .Where(s => s.EndsWith(".exe") || s.EndsWith(".bat")).ToArray();
+                string[] currentUserShortcuts = Directory.GetFiles(CurrentUserStartupFolder, "*.lnk", SearchOption.AllDirectories);
+                GetFolderStartupItemsHelper(ref startupItems, currentUserFiles, currentUserShortcuts);
+            }
 
-            string[] localMachineFiles = Directory.GetFiles(LocalMachineStartupFolder, "*.exe", SearchOption.AllDirectories);
-            string[] localMachineShortcuts = Directory.GetFiles(LocalMachineStartupFolder, "*.lnk", SearchOption.AllDirectories);
-            GetFolderStartupItemsHelper(ref startupItems, localMachineFiles, localMachineShortcuts);
+            if (Directory.Exists(LocalMachineStartupFolder))
+            {
+                string[] localMachineFiles = Directory.EnumerateFiles(LocalMachineStartupFolder, "*.*", SearchOption.AllDirectories)
+                .Where(s => s.EndsWith(".exe") || s.EndsWith(".bat")).ToArray();
+                string[] localMachineShortcuts = Directory.GetFiles(LocalMachineStartupFolder, "*.lnk", SearchOption.AllDirectories);
+                GetFolderStartupItemsHelper(ref startupItems, localMachineFiles, localMachineShortcuts);
+            }
 
             return startupItems;
         }

+ 3 - 3
README.md

@@ -54,6 +54,6 @@ https://github.com/hellzerg/optimizer/blob/master/LEGACY.md
 
 ## Details: ##
 
-* Latest version: 7.7
-* Released: April 15, 2021
-* SHA256: 74BC7DE9B398E2654D2A6254246E2EFE01FC71A9A09CFBD003EC29BBB0498D06
+* Latest version: 7.8
+* Released: April 17, 2021
+* SHA256: 0F1DCFA65EC193AEBDDEF34287635C01E06390BADDEE98ADDFE6742BD6734EE4

+ 1 - 1
version.txt

@@ -1 +1 @@
-7.7
+7.8