Exemple #1
0
 /// <summary>
 /// Set the StateFlags0200=0x00000002 value for each defined volume cache registry key as preparation for running CleanMgr.exe
 /// </summary>
 /// <returns></returns>
 public static Result <Unit> SetCleanupManagerStateFlags()
 {
     Logging.DefaultLogger.Info("Preparing volume cache state flags for running CleanMrg.exe");
     return
         (VolumeCachesKeyPaths
          .Select(subKeyPath => RegistryOperations.SetRegistryValue(Registry.LocalMachine, subKeyPath, StateFlagsValueName, 2, RegistryValueKind.DWord))
          .ToArray()
          .ToResult()
          .Match(units =>
     {
         Logging.DefaultLogger.Info("Successfully prepared volume cache state flags.");
         return new Result <Unit>(Unit.Default);
     }, exception =>
     {
         Logging.DefaultLogger.Error($"Failed preparing volume cache state flags. {exception.ToExceptionMessage()}");
         return new Result <Unit>(new Exception($"Failed to execute function {nameof(SetCleanupManagerStateFlags)}", exception));
     }));
 }