private static void GrantEveryoneReadAndExecuteAccess(string cacheDirectory)
{
if (!MagickAnyCPU.HasSharedCacheDirectory || !MagickAnyCPU.UsesDefaultCacheDirectory)
return;
DirectoryInfo directoryInfo = new DirectoryInfo(cacheDirectory);
DirectorySecurity directorySecurity = directoryInfo.GetAccessControl();
SecurityIdentifier identity = new SecurityIdentifier(WellKnownSidType.WorldSid, null);
InheritanceFlags inheritanceFlags = InheritanceFlags.ObjectInherit | InheritanceFlags.ContainerInherit;
directorySecurity.AddAccessRule(new FileSystemAccessRule(identity, FileSystemRights.ReadAndExecute, inheritanceFlags, PropagationFlags.NoPropagateInherit, AccessControlType.Allow));
directoryInfo.SetAccessControl(directorySecurity);
}