/// <summary> /// Remove the StateFlags0200 value for each defined volume cache registry key /// </summary> /// <returns></returns> public static Result <Unit> ResetCleanupManagerStateFlags() { Logging.DefaultLogger.Info("Resetting volume cache state flags after running CleanMrg.exe"); return (VolumeCachesKeyPaths .Select(subKeyPath => RegistryOperations.DeleteRegistryValue(Registry.LocalMachine, subKeyPath, StateFlagsValueName)) .ToArray() .ToResult() .Match(units => { Logging.DefaultLogger.Info("Successfully reset volume cache state flags."); return new Result <Unit>(Unit.Default); }, exception => { Logging.DefaultLogger.Error($"Failed resetting volume cache state flags. {exception.ToExceptionMessage()}"); return new Result <Unit>(new Exception($"Failed to execute function {nameof(ResetCleanupManagerStateFlags)}", exception)); })); }