Due to server slowness, downtime, and other issues, guests can no longer search the forum or view user accounts. At some point in the future Eclipse will be moving to a more stable and efficient platform that should result in much better stability and the lifting of these restrictions. There is no timeline for this yet, just want you to know what's happening with all the downtime and I have a plan to fix it.

WebCache ::: File Size

Customizing Windows, Linux, etc.
Post Reply
The-10-Pen
Posts: 645
Joined: 16 Feb 2025, 08:43
OS: Win10 2016 LTSB
Has thanked: 11 times
Been thanked: 103 times
United States of America

WebCache ::: File Size

Unread post by The-10-Pen »

.

What file sizes are others seeing for the WebCacheV01.dat file present at C:\Users\<username>\AppData\Local\Microsoft\Windows\WebCache?
Basically anything Win7 and higher, especially if "fully updated".

I'm seeing reports of this growing into the double-digit GIGABYTES.

It was 27MB on my install from six months ago.
And 15MB on an install from just shy of two months ago.

Now *disabled*, but I'm curious of what file size others are seeing.

The-10-Pen
Posts: 645
Joined: 16 Feb 2025, 08:43
OS: Win10 2016 LTSB
Has thanked: 11 times
Been thanked: 103 times
United States of America

WebCache ::: File Size

Unread post by The-10-Pen »

.

And if you want to witness the file being written to, monitor your processes using something like System Informer.
You will see a dllhost.exe process pop up every once in a while, launched by {3EB3C877-1F16-487C-9050-104DBCD66683}.

It's easy to disable.
Regedit and search for {3EB3C877-1F16-487C-9050-104DBCD66683}.
Take ownership of the key and then delete it. There are three or four of them, didn't really count as I went along, can on the next I deploy.
Common fix posted all over the 'net, Google/DuckDuckGo/Bing anything like "disable webcache" and you'll find 'em.

User avatar
Duke
Full Moderator
Posts: 787
Joined: 16 Mar 2024, 13:32
OS: Windows 8.1 x64
Has thanked: 117 times
Been thanked: 237 times

WebCache ::: File Size

Unread post by Duke »

The-10-Pen wrote: 26 Feb 2026, 01:07 What file sizes are others seeing for the WebCacheV01.dat file present at C:\Users\<username>\AppData\Local\Microsoft\Windows\WebCache?
Mine is 32 MB.

The-10-Pen wrote: 26 Feb 2026, 01:20 It's easy to disable.
Regedit and search for {3EB3C877-1F16-487C-9050-104DBCD66683}.
Take ownership of the key and then delete it.
A safer way would be to simply rename {3EB3C877-1F16-487C-9050-104DBCD66683} in HKEY_CLASSES_ROOT\AppID\, just in case.
Putting an underline in front like this: _{3EB3C877-1F16-487C-9050-104DBCD66683} works. That way the other registry entries don't need to be touched. ;)

The-10-Pen
Posts: 645
Joined: 16 Feb 2025, 08:43
OS: Win10 2016 LTSB
Has thanked: 11 times
Been thanked: 103 times
United States of America

WebCache ::: File Size

Unread post by The-10-Pen »

.

I did see the underline rename in one of the internet searches.
Being a test-case machine, no loss if I have to reinstall.

The process is now "dead" on one machine and I'm hoping to hex into the .dat file on the other.
I'm kind of curious if I can see what's in there. Bank account web sites? Passwords? Names of Excel and Word files?

I personally try to KILL anything I can find like this!
No, I have nothing to "hide" on my computer, I just have no use in this "AI Data Harvesting".

The-10-Pen
Posts: 645
Joined: 16 Feb 2025, 08:43
OS: Win10 2016 LTSB
Has thanked: 11 times
Been thanked: 103 times
United States of America

WebCache ::: File Size

Unread post by The-10-Pen »

.

Any chance of something like a PowerShell script that can perform a registry key take-ownership plus rename?
Just to make it SOOO much easier to deploy on a handful of computers.

User avatar
Duke
Full Moderator
Posts: 787
Joined: 16 Mar 2024, 13:32
OS: Windows 8.1 x64
Has thanked: 117 times
Been thanked: 237 times

WebCache ::: File Size

Unread post by Duke »

The-10-Pen wrote: 26 Feb 2026, 03:57 I just have no use in this "AI Data Harvesting".
Nothing to do with AI, I have this file on my Windows 8.1 and there is no AI on this OS.

The-10-Pen wrote: 26 Feb 2026, 04:03 Any chance of something like a PowerShell script that can perform a registry key take-ownership plus rename?
I'm not a PowerShell specialist but I've found that:
https://kak.kornev-online.net/FILES/KAK%20-%20Take%20Ownership%20(Permission)%20of%20Registry%20Keys%20from%20Command%20Line.pdf

SetACL download:
https://helgeklein.com/download/

SubInACL download:
https://github.com/Jackpison/IDM-reset/blob/master/subinacl.msi


And, for the record, here is a tool to make full backups of the registry because the Export item of Regedit.exe won't save it all:
https://www.acelogix.com/download/ → Freeware → RegBak
Direct link:
https://www.acelogix.com/downloads/regbak.zip

The-10-Pen
Posts: 645
Joined: 16 Feb 2025, 08:43
OS: Win10 2016 LTSB
Has thanked: 11 times
Been thanked: 103 times
United States of America

WebCache ::: File Size

Unread post by The-10-Pen »

This works to take ownership of the key.
Still looking for a way to rename the key after taking ownership.

Code: Select all

# Get the ID and security principal of the current user account
$myWindowsID = [System.Security.Principal.WindowsIdentity]::GetCurrent();
$myWindowsPrincipal = New-Object System.Security.Principal.WindowsPrincipal($myWindowsID);

# Get the security principal for the administrator role
$adminRole = [System.Security.Principal.WindowsBuiltInRole]::Administrator;

# Check to see if we are currently running as an administrator
if ($myWindowsPrincipal.IsInRole($adminRole))
{
    # We are running as an administrator, so change the title and background colour to indicate this
    $Host.UI.RawUI.WindowTitle = $myInvocation.MyCommand.Definition + "(Elevated)";
    $Host.UI.RawUI.BackgroundColor = "DarkBlue";
    Clear-Host;
}
else {
    # We are not running as an administrator, so relaunch as administrator

    # Create a new process object that starts PowerShell
    $newProcess = New-Object System.Diagnostics.ProcessStartInfo "PowerShell";

    # Specify the current script path and name as a parameter with added scope and support for scripts with spaces in it's path
    $newProcess.Arguments = "& '" + $script:MyInvocation.MyCommand.Path + "'"

    # Indicate that the process should be elevated
    $newProcess.Verb = "runas";

    # Start the new process
    [System.Diagnostics.Process]::Start($newProcess);

    # Exit from the current, unelevated, process
    Exit;
}

# Run your code that needs to be elevated here...

# Write-Host -NoNewLine "Press any key to continue...";
# $null = $Host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown");


# Your script here

function Enable-Privilege {
 param(
  ## The privilege to adjust. This set is taken from
  ## http://msdn.microsoft.com/en-us/library/bb530716(VS.85).aspx
  [ValidateSet(
   "SeAssignPrimaryTokenPrivilege", "SeAuditPrivilege", "SeBackupPrivilege",
   "SeChangeNotifyPrivilege", "SeCreateGlobalPrivilege", "SeCreatePagefilePrivilege",
   "SeCreatePermanentPrivilege", "SeCreateSymbolicLinkPrivilege", "SeCreateTokenPrivilege",
   "SeDebugPrivilege", "SeEnableDelegationPrivilege", "SeImpersonatePrivilege", "SeIncreaseBasePriorityPrivilege",
   "SeIncreaseQuotaPrivilege", "SeIncreaseWorkingSetPrivilege", "SeLoadDriverPrivilege",
   "SeLockMemoryPrivilege", "SeMachineAccountPrivilege", "SeManageVolumePrivilege",
   "SeProfileSingleProcessPrivilege", "SeRelabelPrivilege", "SeRemoteShutdownPrivilege",
   "SeRestorePrivilege", "SeSecurityPrivilege", "SeShutdownPrivilege", "SeSyncAgentPrivilege",
   "SeSystemEnvironmentPrivilege", "SeSystemProfilePrivilege", "SeSystemtimePrivilege",
   "SeTakeOwnershipPrivilege", "SeTcbPrivilege", "SeTimeZonePrivilege", "SeTrustedCredManAccessPrivilege",
   "SeUndockPrivilege", "SeUnsolicitedInputPrivilege")]
  $Privilege,
  ## The process on which to adjust the privilege. Defaults to the current process.
  $ProcessId = $pid,
  ## Switch to disable the privilege, rather than enable it.
  [Switch] $Disable
 )

 ## Taken from P/Invoke.NET with minor adjustments.
 $definition = @'
 using System;
 using System.Runtime.InteropServices;
  
 public class AdjPriv
 {
  [DllImport("advapi32.dll", ExactSpelling = true, SetLastError = true)]
  internal static extern bool AdjustTokenPrivileges(IntPtr htok, bool disall,
   ref TokPriv1Luid newst, int len, IntPtr prev, IntPtr relen);
  
  [DllImport("advapi32.dll", ExactSpelling = true, SetLastError = true)]
  internal static extern bool OpenProcessToken(IntPtr h, int acc, ref IntPtr phtok);
  [DllImport("advapi32.dll", SetLastError = true)]
  internal static extern bool LookupPrivilegeValue(string host, string name, ref long pluid);
  [StructLayout(LayoutKind.Sequential, Pack = 1)]
  internal struct TokPriv1Luid
  {
   public int Count;
   public long Luid;
   public int Attr;
  }
  
  internal const int SE_PRIVILEGE_ENABLED = 0x00000002;
  internal const int SE_PRIVILEGE_DISABLED = 0x00000000;
  internal const int TOKEN_QUERY = 0x00000008;
  internal const int TOKEN_ADJUST_PRIVILEGES = 0x00000020;
  public static bool EnablePrivilege(long processHandle, string privilege, bool disable)
  {
   bool retVal;
   TokPriv1Luid tp;
   IntPtr hproc = new IntPtr(processHandle);
   IntPtr htok = IntPtr.Zero;
   retVal = OpenProcessToken(hproc, TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, ref htok);
   tp.Count = 1;
   tp.Luid = 0;
   if(disable)
   {
    tp.Attr = SE_PRIVILEGE_DISABLED;
   }
   else
   {
    tp.Attr = SE_PRIVILEGE_ENABLED;
   }
   retVal = LookupPrivilegeValue(null, privilege, ref tp.Luid);
   retVal = AdjustTokenPrivileges(htok, false, ref tp, 0, IntPtr.Zero, IntPtr.Zero);
   return retVal;
  }
 }
'@

 $processHandle = (Get-Process -id $ProcessId).Handle
 $type = Add-Type $definition -PassThru
 $type[0]::EnablePrivilege($processHandle, $Privilege, $Disable)
}

Enable-Privilege SeTakeOwnershipPrivilege 

# Change Owner to the local Administrators group
$regKey = [Microsoft.Win32.Registry]::ClassesRoot.OpenSubKey("AppID\{3eb3c877-1f16-487c-9050-104dbcd66683}",[Microsoft.Win32.RegistryKeyPermissionCheck]::ReadWriteSubTree,[System.Security.AccessControl.RegistryRights]::TakeOwnership)
$regACL = $regKey.GetAccessControl()
$regACL.SetOwner([System.Security.Principal.NTAccount]"Administrators")
$regKey.SetAccessControl($regACL)
# Change Permissions for the local Administrators group
$regKey = [Microsoft.Win32.Registry]::ClassesRoot.OpenSubKey("AppID\{3eb3c877-1f16-487c-9050-104dbcd66683}",[Microsoft.Win32.RegistryKeyPermissionCheck]::ReadWriteSubTree,[System.Security.AccessControl.RegistryRights]::ChangePermissions)
$regACL = $regKey.GetAccessControl()
$regRule = New-Object System.Security.AccessControl.RegistryAccessRule ("Administrators","FullControl","ContainerInherit","None","Allow")
$regACL.SetAccessRule($regRule)
$regKey.SetAccessControl($regACL)

The-10-Pen
Posts: 645
Joined: 16 Feb 2025, 08:43
OS: Win10 2016 LTSB
Has thanked: 11 times
Been thanked: 103 times
United States of America

WebCache ::: File Size

Unread post by The-10-Pen »

Duke wrote: 26 Feb 2026, 11:44 SubInACL download:
https://github.com/Jackpison/IDM-reset/blob/master/subinacl.msi
I tried this. Did not work. :(

The-10-Pen
Posts: 645
Joined: 16 Feb 2025, 08:43
OS: Win10 2016 LTSB
Has thanked: 11 times
Been thanked: 103 times
United States of America

WebCache ::: File Size

Unread post by The-10-Pen »

Duke wrote: 26 Feb 2026, 11:44 Nothing to do with AI, I have this file on my Windows 8.1 and there is no AI on this OS.
Noted.
It is not on my Win10 LTSB 2016 machines but it is on my Win10 LTSC 21H2 and Win10 Pro 22H2 machines.

Regardless of not being AI,
I do not want it on my machines, collecting/harvesting whatever, growing in size, with no knowledge of what it is "collecting".

The-10-Pen
Posts: 645
Joined: 16 Feb 2025, 08:43
OS: Win10 2016 LTSB
Has thanked: 11 times
Been thanked: 103 times
United States of America

WebCache ::: File Size

Unread post by The-10-Pen »

.

Probably should have known. In order to "rename", I had to copy the old to new, then delete the old. Safe effect.

The-10-Pen
Posts: 645
Joined: 16 Feb 2025, 08:43
OS: Win10 2016 LTSB
Has thanked: 11 times
Been thanked: 103 times
United States of America

WebCache ::: File Size

Unread post by The-10-Pen »

Duke wrote: 26 Feb 2026, 03:48 A safer way would be to simply rename {3EB3C877-1F16-487C-9050-104DBCD66683} in HKEY_CLASSES_ROOT\AppID\, just in case.
Putting an underline in front like this: _{3EB3C877-1F16-487C-9050-104DBCD66683} works. That way the other registry entries don't need to be touched. ;)
This "by itself" is not sufficient. It's possible that it "is" for Win8/8.1, but I'm showing it insufficient for Win10/11.
For my own computers, I shall be deleting all keys, not renaming them, but DELETING them. This WORKS in preventing this WebCache file.

User avatar
Duke
Full Moderator
Posts: 787
Joined: 16 Mar 2024, 13:32
OS: Windows 8.1 x64
Has thanked: 117 times
Been thanked: 237 times

WebCache ::: File Size

Unread post by Duke »

The-10-Pen wrote: 26 Feb 2026, 11:46
Duke wrote: 26 Feb 2026, 11:44 SubInACL download:
https://github.com/Jackpison/IDM-reset/blob/master/subinacl.msi
I tried this. Did not work. :(
Maybe more luck with this attached older version ?
Attachments
SubInACL-2004.7z
(128.78 KiB) Downloaded 264 times

User avatar
Duke
Full Moderator
Posts: 787
Joined: 16 Mar 2024, 13:32
OS: Windows 8.1 x64
Has thanked: 117 times
Been thanked: 237 times

WebCache ::: File Size

Unread post by Duke »

The-10-Pen wrote: 26 Feb 2026, 11:53 I do not want it on my machines, collecting/harvesting whatever, growing in size, with no knowledge of what it is "collecting".
On Windows 8.1 it seems to be run by taskhost.exe (Host Process for Windows Tasks) and linked to the Diagnostic System Host, so it may collect informations about the system when a problem occurs.

The-10-Pen
Posts: 645
Joined: 16 Feb 2025, 08:43
OS: Win10 2016 LTSB
Has thanked: 11 times
Been thanked: 103 times
United States of America

WebCache ::: File Size

Unread post by The-10-Pen »

.

Thanks for the older version. Archived for later as I seem to have everything fixed "for now".
It seems added keys need deleted (or renamed if you prefer that route) for x64 (ie, WOW6432Node registry entries).

Can't be "only" Diagnostic System Host, as all "diagnostic" services are intentionally disabled on my systems.
I manually enable them for 'times of need' and prefer they not run 24/7.

The-10-Pen
Posts: 645
Joined: 16 Feb 2025, 08:43
OS: Win10 2016 LTSB
Has thanked: 11 times
Been thanked: 103 times
United States of America

WebCache ::: File Size

Unread post by The-10-Pen »

Duke wrote: 26 Feb 2026, 03:48 Mine is 32 MB.
I guess you bump into WAY more "diagnostic problems" than I. Waka waka waka.
My brother had one computer with this file at 68 MB and another with this file at 77 MB.
So I guess I should just consider myself lucky that mine were only 15 and 27.

The-10-Pen
Posts: 645
Joined: 16 Feb 2025, 08:43
OS: Win10 2016 LTSB
Has thanked: 11 times
Been thanked: 103 times
United States of America

WebCache ::: File Size

Unread post by The-10-Pen »

.

On a test-VM, this file is a colossal "whole lot of nothing".
It's literally ALL ZEROES.

It's a total of 197FFF0 bytes long (26,738,672 decimal).
And *everything* past EE142 (975,170 decimal) is all ZEROES.
And massive chunks of zeroes even before EE142.

That's a whole lot of "disk thrashing" just to write ZEROES and "take up space".
2026-02-26_9-28-00.png
2026-02-26_9-28-00.png (21.8 KiB) Viewed 33386 times
2026-02-26_9-25-19.png
2026-02-26_9-25-19.png (36.42 KiB) Viewed 33386 times
2026-02-26_9-23-04.png
2026-02-26_9-23-04.png (27.67 KiB) Viewed 33386 times

User avatar
Duke
Full Moderator
Posts: 787
Joined: 16 Mar 2024, 13:32
OS: Windows 8.1 x64
Has thanked: 117 times
Been thanked: 237 times

WebCache ::: File Size

Unread post by Duke »

The-10-Pen wrote: 26 Feb 2026, 14:00 Can't be "only" Diagnostic System Host, as all "diagnostic" services are intentionally disabled on my systems.
I manually enable them for 'times of need' and prefer they not run 24/7.
Same for me, and I didn't say "only". In fact I've just noticed the link after you started this thread but yes, there might some other ones.

The-10-Pen wrote: 26 Feb 2026, 14:04 I guess you bump into WAY more "diagnostic problems" than I.
I had many graphics card problems and crashes past year after I tried Zen browser. It looks like this thing silently installed a ring0 DLL and that caused a lot of trouble. :evil:

User avatar
Duke
Full Moderator
Posts: 787
Joined: 16 Mar 2024, 13:32
OS: Windows 8.1 x64
Has thanked: 117 times
Been thanked: 237 times

WebCache ::: File Size

Unread post by Duke »

The-10-Pen wrote: 26 Feb 2026, 14:38 On a test-VM, this file is a colossal "whole lot of nothing".
It's literally ALL ZEROES.
Mine is, well was, also mainly filled with zeroes. But also with D's and O's:

WebCache1.png
WebCache1.png (24.16 KiB) Viewed 30891 times

And some things like that:

WebCache2.png
WebCache2.png (45.74 KiB) Viewed 30891 times

And, of course, ads!

WebCache4.png
WebCache4.png (48.01 KiB) Viewed 30891 times

Anyway, I have a new one now.

The-10-Pen
Posts: 645
Joined: 16 Feb 2025, 08:43
OS: Win10 2016 LTSB
Has thanked: 11 times
Been thanked: 103 times
United States of America

WebCache ::: File Size

Unread post by The-10-Pen »

Duke wrote: 03 Mar 2026, 17:43 I have a new one now.
Why allow one at all?

Not the best or most elegant, I assume, but this works for me in Win10 LTSB 2016, Win10 LTSC 21H2, and Win11 Pro 21H2.


Step 1. Save as <pick-a-name>.ps1 and run (self-elevates as Admin):
What it does: takes ownership of THREE registry keys (scroll all the way to the bottom of the .ps1 to see what registry keys).

Code: Select all

# Get the ID and security principal of the current user account
$myWindowsID = [System.Security.Principal.WindowsIdentity]::GetCurrent();
$myWindowsPrincipal = New-Object System.Security.Principal.WindowsPrincipal($myWindowsID);

# Get the security principal for the administrator role
$adminRole = [System.Security.Principal.WindowsBuiltInRole]::Administrator;

# Check to see if we are currently running as an administrator
if ($myWindowsPrincipal.IsInRole($adminRole))
{
    # We are running as an administrator, so change the title and background colour to indicate this
    $Host.UI.RawUI.WindowTitle = $myInvocation.MyCommand.Definition + "(Elevated)";
    $Host.UI.RawUI.BackgroundColor = "DarkBlue";
    Clear-Host;
}
else {
    # We are not running as an administrator, so relaunch as administrator

    # Create a new process object that starts PowerShell
    $newProcess = New-Object System.Diagnostics.ProcessStartInfo "PowerShell";

    # Specify the current script path and name as a parameter with added scope and support for scripts with spaces in it's path
    $newProcess.Arguments = "& '" + $script:MyInvocation.MyCommand.Path + "'"

    # Indicate that the process should be elevated
    $newProcess.Verb = "runas";

    # Start the new process
    [System.Diagnostics.Process]::Start($newProcess);

    # Exit from the current, unelevated, process
    Exit;
}

# Run your code that needs to be elevated here...

# Write-Host -NoNewLine "Press any key to continue...";
# $null = $Host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown");


# Your script here

function Enable-Privilege {
 param(
  ## The privilege to adjust. This set is taken from
  ## http://msdn.microsoft.com/en-us/library/bb530716(VS.85).aspx
  [ValidateSet(
   "SeAssignPrimaryTokenPrivilege", "SeAuditPrivilege", "SeBackupPrivilege",
   "SeChangeNotifyPrivilege", "SeCreateGlobalPrivilege", "SeCreatePagefilePrivilege",
   "SeCreatePermanentPrivilege", "SeCreateSymbolicLinkPrivilege", "SeCreateTokenPrivilege",
   "SeDebugPrivilege", "SeEnableDelegationPrivilege", "SeImpersonatePrivilege", "SeIncreaseBasePriorityPrivilege",
   "SeIncreaseQuotaPrivilege", "SeIncreaseWorkingSetPrivilege", "SeLoadDriverPrivilege",
   "SeLockMemoryPrivilege", "SeMachineAccountPrivilege", "SeManageVolumePrivilege",
   "SeProfileSingleProcessPrivilege", "SeRelabelPrivilege", "SeRemoteShutdownPrivilege",
   "SeRestorePrivilege", "SeSecurityPrivilege", "SeShutdownPrivilege", "SeSyncAgentPrivilege",
   "SeSystemEnvironmentPrivilege", "SeSystemProfilePrivilege", "SeSystemtimePrivilege",
   "SeTakeOwnershipPrivilege", "SeTcbPrivilege", "SeTimeZonePrivilege", "SeTrustedCredManAccessPrivilege",
   "SeUndockPrivilege", "SeUnsolicitedInputPrivilege")]
  $Privilege,
  ## The process on which to adjust the privilege. Defaults to the current process.
  $ProcessId = $pid,
  ## Switch to disable the privilege, rather than enable it.
  [Switch] $Disable
 )

 ## Taken from P/Invoke.NET with minor adjustments.
 $definition = @'
 using System;
 using System.Runtime.InteropServices;
  
 public class AdjPriv
 {
  [DllImport("advapi32.dll", ExactSpelling = true, SetLastError = true)]
  internal static extern bool AdjustTokenPrivileges(IntPtr htok, bool disall,
   ref TokPriv1Luid newst, int len, IntPtr prev, IntPtr relen);
  
  [DllImport("advapi32.dll", ExactSpelling = true, SetLastError = true)]
  internal static extern bool OpenProcessToken(IntPtr h, int acc, ref IntPtr phtok);
  [DllImport("advapi32.dll", SetLastError = true)]
  internal static extern bool LookupPrivilegeValue(string host, string name, ref long pluid);
  [StructLayout(LayoutKind.Sequential, Pack = 1)]
  internal struct TokPriv1Luid
  {
   public int Count;
   public long Luid;
   public int Attr;
  }
  
  internal const int SE_PRIVILEGE_ENABLED = 0x00000002;
  internal const int SE_PRIVILEGE_DISABLED = 0x00000000;
  internal const int TOKEN_QUERY = 0x00000008;
  internal const int TOKEN_ADJUST_PRIVILEGES = 0x00000020;
  public static bool EnablePrivilege(long processHandle, string privilege, bool disable)
  {
   bool retVal;
   TokPriv1Luid tp;
   IntPtr hproc = new IntPtr(processHandle);
   IntPtr htok = IntPtr.Zero;
   retVal = OpenProcessToken(hproc, TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, ref htok);
   tp.Count = 1;
   tp.Luid = 0;
   if(disable)
   {
    tp.Attr = SE_PRIVILEGE_DISABLED;
   }
   else
   {
    tp.Attr = SE_PRIVILEGE_ENABLED;
   }
   retVal = LookupPrivilegeValue(null, privilege, ref tp.Luid);
   retVal = AdjustTokenPrivileges(htok, false, ref tp, 0, IntPtr.Zero, IntPtr.Zero);
   return retVal;
  }
 }
'@

 $processHandle = (Get-Process -id $ProcessId).Handle
 $type = Add-Type $definition -PassThru
 $type[0]::EnablePrivilege($processHandle, $Privilege, $Disable)
}

Enable-Privilege SeTakeOwnershipPrivilege 

# Change Owner to the local Administrators group
$regKey = [Microsoft.Win32.Registry]::ClassesRoot.OpenSubKey("AppID\{3eb3c877-1f16-487c-9050-104dbcd66683}",[Microsoft.Win32.RegistryKeyPermissionCheck]::ReadWriteSubTree,[System.Security.AccessControl.RegistryRights]::TakeOwnership)
$regACL = $regKey.GetAccessControl()
$regACL.SetOwner([System.Security.Principal.NTAccount]"Administrators")
$regKey.SetAccessControl($regACL)
# Change Permissions for the local Administrators group
$regKey = [Microsoft.Win32.Registry]::ClassesRoot.OpenSubKey("AppID\{3eb3c877-1f16-487c-9050-104dbcd66683}",[Microsoft.Win32.RegistryKeyPermissionCheck]::ReadWriteSubTree,[System.Security.AccessControl.RegistryRights]::ChangePermissions)
$regACL = $regKey.GetAccessControl()
$regRule = New-Object System.Security.AccessControl.RegistryAccessRule ("Administrators","FullControl","ContainerInherit","None","Allow")
$regACL.SetAccessRule($regRule)
$regKey.SetAccessControl($regACL)

# Change Owner to the local Administrators group
$regKey = [Microsoft.Win32.Registry]::ClassesRoot.OpenSubKey("CLSID\{0358b920-0ac7-461f-98f4-58e32cd89148}",[Microsoft.Win32.RegistryKeyPermissionCheck]::ReadWriteSubTree,[System.Security.AccessControl.RegistryRights]::TakeOwnership)
$regACL = $regKey.GetAccessControl()
$regACL.SetOwner([System.Security.Principal.NTAccount]"Administrators")
$regKey.SetAccessControl($regACL)
# Change Permissions for the local Administrators group
$regKey = [Microsoft.Win32.Registry]::ClassesRoot.OpenSubKey("CLSID\{0358b920-0ac7-461f-98f4-58e32cd89148}",[Microsoft.Win32.RegistryKeyPermissionCheck]::ReadWriteSubTree,[System.Security.AccessControl.RegistryRights]::ChangePermissions)
$regACL = $regKey.GetAccessControl()
$regRule = New-Object System.Security.AccessControl.RegistryAccessRule ("Administrators","FullControl","ContainerInherit","None","Allow")
$regACL.SetAccessRule($regRule)
$regKey.SetAccessControl($regACL)

# Change Owner to the local Administrators group
$regKey = [Microsoft.Win32.Registry]::ClassesRoot.OpenSubKey("CLSID\{0358b920-0ac7-461f-98f4-58e32cd89148}\InProcServer32",[Microsoft.Win32.RegistryKeyPermissionCheck]::ReadWriteSubTree,[System.Security.AccessControl.RegistryRights]::TakeOwnership)
$regACL = $regKey.GetAccessControl()
$regACL.SetOwner([System.Security.Principal.NTAccount]"Administrators")
$regKey.SetAccessControl($regACL)
# Change Permissions for the local Administrators group
$regKey = [Microsoft.Win32.Registry]::ClassesRoot.OpenSubKey("CLSID\{0358b920-0ac7-461f-98f4-58e32cd89148}\InProcServer32",[Microsoft.Win32.RegistryKeyPermissionCheck]::ReadWriteSubTree,[System.Security.AccessControl.RegistryRights]::ChangePermissions)
$regACL = $regKey.GetAccessControl()
$regRule = New-Object System.Security.AccessControl.RegistryAccessRule ("Administrators","FullControl","ContainerInherit","None","Allow")
$regACL.SetAccessRule($regRule)
$regKey.SetAccessControl($regACL)

# Change Owner to the local Administrators group
$regKey = [Microsoft.Win32.Registry]::ClassesRoot.OpenSubKey("WOW6432Node\CLSID\{0358b920-0ac7-461f-98f4-58e32cd89148}",[Microsoft.Win32.RegistryKeyPermissionCheck]::ReadWriteSubTree,[System.Security.AccessControl.RegistryRights]::TakeOwnership)
$regACL = $regKey.GetAccessControl()
$regACL.SetOwner([System.Security.Principal.NTAccount]"Administrators")
$regKey.SetAccessControl($regACL)
# Change Permissions for the local Administrators group
$regKey = [Microsoft.Win32.Registry]::ClassesRoot.OpenSubKey("WOW6432Node\CLSID\{0358b920-0ac7-461f-98f4-58e32cd89148}",[Microsoft.Win32.RegistryKeyPermissionCheck]::ReadWriteSubTree,[System.Security.AccessControl.RegistryRights]::ChangePermissions)
$regACL = $regKey.GetAccessControl()
$regRule = New-Object System.Security.AccessControl.RegistryAccessRule ("Administrators","FullControl","ContainerInherit","None","Allow")
$regACL.SetAccessRule($regRule)
$regKey.SetAccessControl($regACL)

# Change Owner to the local Administrators group
$regKey = [Microsoft.Win32.Registry]::ClassesRoot.OpenSubKey("WOW6432Node\CLSID\{0358b920-0ac7-461f-98f4-58e32cd89148}\InProcServer32",[Microsoft.Win32.RegistryKeyPermissionCheck]::ReadWriteSubTree,[System.Security.AccessControl.RegistryRights]::TakeOwnership)
$regACL = $regKey.GetAccessControl()
$regACL.SetOwner([System.Security.Principal.NTAccount]"Administrators")
$regKey.SetAccessControl($regACL)
# Change Permissions for the local Administrators group
$regKey = [Microsoft.Win32.Registry]::ClassesRoot.OpenSubKey("WOW6432Node\CLSID\{0358b920-0ac7-461f-98f4-58e32cd89148}\InProcServer32",[Microsoft.Win32.RegistryKeyPermissionCheck]::ReadWriteSubTree,[System.Security.AccessControl.RegistryRights]::ChangePermissions)
$regACL = $regKey.GetAccessControl()
$regRule = New-Object System.Security.AccessControl.RegistryAccessRule ("Administrators","FullControl","ContainerInherit","None","Allow")
$regACL.SetAccessRule($regRule)
$regKey.SetAccessControl($regACL)

Step 2. Save as <pick-a-name>.bat and run AS ADMIN (may not actually require Admin, Win11 required a reboot between Step #1 and #2):
What it does: DELETES the registry keys that can only be deleted AFTER taking ownership, DELETES the WebCache file in <your username>/AppData.

Code: Select all

reg delete HKEY_CLASSES_ROOT\AppID\{3eb3c877-1f16-487c-9050-104dbcd66683} /f
reg delete HKEY_CLASSES_ROOT\CLSID\{0358b920-0ac7-461f-98f4-58e32cd89148} /f
reg delete HKEY_CLASSES_ROOT\WOW6432Node\CLSID\{0358b920-0ac7-461f-98f4-58e32cd89148} /f

rmdir /s /q C:\Users\<YOUR USERNAME>\AppData\Local\Microsoft\Windows\WebCache

User avatar
Duke
Full Moderator
Posts: 787
Joined: 16 Mar 2024, 13:32
OS: Windows 8.1 x64
Has thanked: 117 times
Been thanked: 237 times

WebCache ::: File Size

Unread post by Duke »

Thanks for the script but I will do it by hand, I like to see things working.
And I will rename the keys, not delete them yet, and see how it behaves over months. Just in case! ;)

User avatar
AntonyMan
Posts: 6
Joined: 28 Jul 2026, 14:34
Location: Greece, Athens
OS: Win7U x64
Has thanked: 2 times

WebCache ::: File Size

Unread post by AntonyMan »

Directory of C:\Users\%UserName%\AppData\Local\Microsoft\Windows\WebCache

Code: Select all

Directory of C:\Users\%UserName%\AppData\Local\Microsoft\Windows\WebCache

2026/07/28,Τρι  07:43             8.192 V01.chk
2026/07/28,Τρι  13:31           524.288 V01.log
2026/07/19,Κυρ  10:06           524.288 V0100083.log
2025/05/24,Σαβ  18:36           524.288 V01res00001.jrs
2025/05/24,Σαβ  18:36           524.288 V01res00002.jrs
2026/07/28,Τρι  13:31        21.037.056 WebCacheV01.dat
2026/07/28,Τρι  13:31           524.288 WebCacheV01.tmp
               7 File(s)     23.666.688 bytes

     Total Files Listed:
               7 File(s)     23.666.688 bytes
--------------------------------------------------------------------------------------

In my (Windows 7 U x64) PC, found the registry KEYs below:

1) HKEY_CLASSES_ROOT\AppID\{3eb3c877-1f16-487c-9050-104dbcd66683}
2) HKEY_CLASSES_ROOT\CLSID\{0358b920-0ac7-461f-98f4-58e32cd89148}
        AppID REG_SZ {3eb3c877-1f16-487c-9050-104dbcd66683

3) HKEY_CLASSES_ROOT\Wow6432Node\AppID\{3eb3c877-1f16-487c-9050-104dbcd66683}[/
4) HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{0358b920-0ac7-461f-98f4-58e32cd89148}
        AppID REG_SZ {3eb3c877-1f16-487c-9050-104dbcd66683}

5) HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID\{3eb3c877-1f16-487c-9050-104dbcd66683}
6) HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{0358b920-0ac7-461f-98f4-58e32cd89148}
        AppID REG_SZ {3eb3c877-1f16-487c-9050-104dbcd66683}

7) HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Wow6432Node\AppID\{3eb3c877-1f16-487c-9050-104dbcd66683}
8) HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Wow6432Node\CLSID\{0358b920-0ac7-461f-98f4-58e32cd89148}
        AppID REG_SZ {3eb3c877-1f16-487c-9050-104dbcd66683}

9) HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\AppID\{3eb3c877-1f16-487c-9050-104dbcd66683}
10) HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{0358b920-0ac7-461f-98f4-58e32cd89148}
        AppID REG_SZ {3eb3c877-1f16-487c-9050-104dbcd66683}

* but I think when delete the first 2, the rest disappears.

Tips:

[0] Searching a registry KEY through (admin) Command Prompt. (REG QUERY /?)
1)  > 
 REG QUERY HKEY_CLASSES_ROOT\AppID\ /f {3eb3c877-1f16-487c-9050-104dbcd66683}
 :  HKEY_CLASSES_ROOT\AppID\{3eb3c877-1f16-487c-9050-104dbcd66683}
    End of search: 1 match(es) found.

2)  > 
 REG QUERY HKEY_CLASSES_ROOT\CLSID\{0358b920-0ac7-461f-98f4-58e32cd89148} /f {3eb3c877-1f16-487c-9050-104dbcd66683}
 :  HKEY_CLASSES_ROOT\CLSID\{0358b920-0ac7-461f-98f4-58e32cd89148}
    AppID    REG_SZ    {3eb3c877-1f16-487c-9050-104dbcd66683}
    End of search: 1 match(es) found.
--------------------------------------------------------------------------------------

[1] Backup a registry KEY through (admin) Command Prompt. (REG EXPORT /?)
(for 1st founded) > 
 reg EXPORT HKEY_CLASSES_ROOT\AppID\{3eb3c877-1f16-487c-9050-104dbcd66683} "%UserProfile%\Desktop\AppID(1)[backup].reg"

(for 2nd founded) > 
 reg EXPORT HKEY_CLASSES_ROOT\CLSID\{0358b920-0ac7-461f-98f4-58e32cd89148} "%UserProfile%\Desktop\AppID(2)[backup].reg"

(for 3rd, and so goes on)...
--------------------------------------------------------------------------------------

Delete a registry KEY through (admin) Command Prompt. (REG DELETE /?)

We CANNOT delete those registry KEYs unless we get Admin Owner & Permissions!
> reg DELETE HKEY_CLASSES_ROOT\AppID\{3eb3c877-1f16-487c-9050-104dbcd66683} /f
: ERROR: Access is denied.


--------------------------------------------------------------------------------------

[2] How to get Registry Admin Owner & Permissions using Command Prompt:

Download the "SetACL.exe", copy it where the Command Prompt or Batch file.cmd starts from.

1. Download, (extrat it if it's in .zip) and place it on Desktop.
Then Copy it to C:\Windows\System32 (by cmd or manually)
(eg.: copy "%UserProfile%\Desktop\SetACL.exe" "%SystemRoot%\System32\SetACL.exe")

2. Open a Command Prompt (as Administrator) and type the followings.
 > cd %SystemRoot%\System32

   :: Take Owner & Permissions 
   :: Here set the HKEY path (after the equal sign _HKEY=here\place\the\path )
 > set "_HKEY=HKEY_CLASSES_ROOT\AppID\{3eb3c877-1f16-487c-9050-104dbcd66683}"

   :: Take Owner
 > SetACL.exe -on %_HKEY% -ot reg -actn setowner -ownr "n:Administrators" -rec Yes
 : Processing ACL of: <classes_root\AppID\{3eb3c877-1f16-487c-9050-104dbcd66683}>
   SetACL finished successfully. 

   :: Take Permissions 
 > SetACL.exe -on %_HKEY% -ot reg -actn ace -ace "n:Administrators;p:full" -rec Yes
 : Processing ACL of: <classes_root\AppID\{3eb3c877-1f16-487c-9050-104dbcd66683}>
   SetACL finished successfully. 

Done! Now you can edit/rename or delete the KEY.

--------------------------------------------------------------------------------------

How to get Registry Admin Owner & Permissions using a Batch.cmd:

[3] Make everything in one batch.cmd automatically :!:

This batch should work on every Windows version from 7 and over. (because is Command Prompt!) ;)
        The following batch will make everything automatically:
		* Check for all "WebCache" AppIDs if they are exist in the registry,
		* Get Reg Keys Admin Owner & Permissions,
		* Backup All AppID reg KEYs into a folder,
		* and then Delete all of them from registry.
All files backups will be created, so you can revert any time back to previous states,
by double clicking any of the .reg files created, in the [BACKUPS]_WebCache folder.

	Just Follow the steps:

Download the "SetACL.exe", copy it where the Command Prompt or Batch file.cmd starts from.

1. Download, (extrat it if it's in .zip) and place it on Desktop.
Then Copy it to "C:\Users\%UserName%\AppData\Local\Microsoft\Windows\WebCache" folder. (by cmd or manually)
(eg.: copy "%UserProfile%\Desktop\SetACL.exe" "C:\Users\%UserName%\AppData\Local\Microsoft\Windows\WebCache\SetACL.exe")

2. Make the Batch.cmd file.
	a. Copy-Paste the following CODE into a New text.txt file and save it,
	b. Rename it as Backup_Everything_and_Delete_AppIDs.cmd  and,
		( if you can't see the .txt file extensions, enable file extensions:
		  File menu > Tools > Folder Options > View (tab) > 
		    [Uncheck] "Hide extensions for known file types" )
	c. Place it in the "C:\Users\%UserName%\AppData\Local\Microsoft\Windows\WebCache" folder.
	d. Run it (double click it).

Backup_Everything_and_Delete_AppIDs.cmd

Code: Select all

@echo off
mode con: cols=120 lines=999 & color 1f
SetLocal EnableExtensions
:: Support any foreign language or ASCII character
%SystemRoot%\System32\chcp.com 65001 >nul
set Line=________________________________________________________________________________________________________________________
echo.
echo.  All files backups will be created, so you can revert any time back to previous states,
echo. by double clicking any of the .reg files created, in the [BACKUPS]_WebCache folder.
echo.
echo. Close this window to EXIT, or 
pause

echo.%line%
echo. Current Drive\and\Path: "%~dp0"

:: Making forler for (.reg) files Backups. 
mkdir "%~dp0[BACKUPS]_WebCache" >nul 2>&1
echo.

echo.%line%
:1st AppID KEY REG BACKUP
::Set "HKEY_..." _abreviation.  Check if original existed else go to next.
reg query "HKEY_CLASSES_ROOT\AppID\{3eb3c877-1f16-487c-9050-104dbcd66683}" >nul 2>&1
if %errorlevel%==0 (
	set "_HKEY=HKEY_CLASSES_ROOT\AppID\{3eb3c877-1f16-487c-9050-104dbcd66683}"
) else (
	goto :2nd
)
echo.  - Reg KEY [%_HKEY%]
echo.    A backup will be created to the folder: 
echo.    %~dp0[BACKUPS]_WebCache
echo.    AppID(1st)(default).reg &&echo.
::Take Owner & Permissions 
SetACL.exe -on %_HKEY% -ot reg -actn setowner -ownr "n:Administrators" -rec Yes
echo.  Administrators Ownership have been gained. 
SetACL.exe -on %_HKEY% -ot reg -actn ace -ace "n:Administrators;p:full" -rec Yes >nul 2>&1
echo.  Administrators Permissions have been gained. &&echo.
::Export all subkeys and values of the pointed "HKEY_..." to a <file-name>.reg 
REG EXPORT %_HKEY% "%~dp0[BACKUPS]_WebCache\AppID(1st)(default).reg"
::Remove "HKEY_..." and all its subkeys and values
REG DELETE %_HKEY% /f
echo.  The (default) HKEY_... have been deleted from registry. &&echo.

echo.%line%
:2nd AppID KEY REG BACKUP
::Set "HKEY_..." _abreviation.  Check if original existed else go to next.
reg query "HKEY_CLASSES_ROOT\CLSID\{0358b920-0ac7-461f-98f4-58e32cd89148}" >nul 2>&1
if %errorlevel%==0 (
	set "_HKEY=HKEY_CLASSES_ROOT\CLSID\{0358b920-0ac7-461f-98f4-58e32cd89148}"
) else (
	goto :3rd
)
echo.  - Reg KEY [%_HKEY%]
echo.    A backup will be created to the folder: 
echo.    %~dp0[BACKUPS]_WebCache
echo.    AppID(2nd)(default).reg &&echo.
::Take Owner & Permissions 
SetACL.exe -on %_HKEY% -ot reg -actn setowner -ownr "n:Administrators" -rec Yes
echo.  Administrators Ownership have been gained. 
SetACL.exe -on %_HKEY% -ot reg -actn ace -ace "n:Administrators;p:full" -rec Yes >nul 2>&1
echo.  Administrators Permissions have been gained. &&echo.
::Export all subkeys and values of the pointed "HKEY_..." to a <file-name>.reg 
REG EXPORT %_HKEY% "%~dp0[BACKUPS]_WebCache\AppID(2nd)(default).reg"
::Remove "HKEY_..." and all its subkeys and values
REG DELETE %_HKEY% /f
echo.  The (default) HKEY_... have been deleted from registry. &&echo.

echo.%line%
:3rd AppID KEY REG BACKUP
::Set "HKEY_..." _abreviation.  Check if original existed else go to next.
reg query "HKEY_CLASSES_ROOT\Wow6432Node\AppID\{3eb3c877-1f16-487c-9050-104dbcd66683}" >nul 2>&1
if %errorlevel%==0 (
	set "_HKEY=HKEY_CLASSES_ROOT\Wow6432Node\AppID\{3eb3c877-1f16-487c-9050-104dbcd66683}"
) else (
	goto :4th
)
echo.  - Reg KEY [%_HKEY%]
echo.    A backup will be created to the folder: 
echo.    %~dp0[BACKUPS]_WebCache
echo.    AppID(3rd)(default).reg &&echo.
::Take Owner & Permissions 
SetACL.exe -on %_HKEY% -ot reg -actn setowner -ownr "n:Administrators" -rec Yes
echo.  Administrators Ownership have been gained. 
SetACL.exe -on %_HKEY% -ot reg -actn ace -ace "n:Administrators;p:full" -rec Yes >nul 2>&1
echo.  Administrators Permissions have been gained. &&echo.
::Export all subkeys and values of the pointed "HKEY_..." to a <file-name>.reg 
REG EXPORT %_HKEY% "%~dp0[BACKUPS]_WebCache\AppID(3rd)(default).reg"
::Remove "HKEY_..." and all its subkeys and values
REG DELETE %_HKEY% /f
echo.  The (default) HKEY_... have been deleted from registry. &&echo.

echo.%line%
:4th AppID KEY REG BACKUP
::Set "HKEY_..." _abreviation.  Check if original existed else go to next.
reg query "HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{0358b920-0ac7-461f-98f4-58e32cd89148}" >nul 2>&1
if %errorlevel%==0 (
	set "_HKEY=HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{0358b920-0ac7-461f-98f4-58e32cd89148}"
) else (
	goto :5th
)
echo.  - Reg KEY [%_HKEY%]
echo.    A backup will be created to the folder: 
echo.    %~dp0[BACKUPS]_WebCache
echo.    AppID(4th)(default).reg &&echo.
::Take Owner & Permissions 
SetACL.exe -on %_HKEY% -ot reg -actn setowner -ownr "n:Administrators" -rec Yes
echo.  Administrators Ownership have been gained. 
SetACL.exe -on %_HKEY% -ot reg -actn ace -ace "n:Administrators;p:full" -rec Yes >nul 2>&1
echo.  Administrators Permissions have been gained. &&echo.
::Export all subkeys and values of the pointed "HKEY_..." to a <file-name>.reg 
REG EXPORT %_HKEY% "%~dp0[BACKUPS]_WebCache\AppID(4th)(default).reg"
::Remove "HKEY_..." and all its subkeys and values
REG DELETE %_HKEY% /f
echo.  The (default) HKEY_... have been deleted from registry. &&echo.

echo.%line%
:5th AppID KEY REG BACKUP
::Set "HKEY_..." _abreviation.  Check if original existed else go to next.
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID\{3eb3c877-1f16-487c-9050-104dbcd66683}" >nul 2>&1
if %errorlevel%==0 (
	set "_HKEY=HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AppID\{3eb3c877-1f16-487c-9050-104dbcd66683}"
) else (
	goto :6th
)
echo.  - Reg KEY [%_HKEY%]
echo.    A backup will be created to the folder: 
echo.    %~dp0[BACKUPS]_WebCache
echo.    AppID(5th)(default).reg &&echo.
::Take Owner & Permissions 
SetACL.exe -on %_HKEY% -ot reg -actn setowner -ownr "n:Administrators" -rec Yes
echo.  Administrators Ownership have been gained. 
SetACL.exe -on %_HKEY% -ot reg -actn ace -ace "n:Administrators;p:full" -rec Yes >nul 2>&1
echo.  Administrators Permissions have been gained. &&echo.
::Export all subkeys and values of the pointed "HKEY_..." to a <file-name>.reg 
REG EXPORT %_HKEY% "%~dp0[BACKUPS]_WebCache\AppID(5th)(default).reg"
::Remove "HKEY_..." and all its subkeys and values
REG DELETE %_HKEY% /f
echo.  The (default) HKEY_... have been deleted from registry. &&echo.

echo.%line%
:6th AppID KEY REG BACKUP
::Set "HKEY_..." _abreviation.  Check if original existed else go to next.
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{0358b920-0ac7-461f-98f4-58e32cd89148}" >nul 2>&1
if %errorlevel%==0 (
	set "_HKEY=HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{0358b920-0ac7-461f-98f4-58e32cd89148}"
) else (
	goto :7th
)
echo.  - Reg KEY [%_HKEY%]
echo.    A backup will be created to the folder: 
echo.    %~dp0[BACKUPS]_WebCache
echo.    AppID(6th)(default).reg &&echo.
::Take Owner & Permissions 
SetACL.exe -on %_HKEY% -ot reg -actn setowner -ownr "n:Administrators" -rec Yes
echo.  Administrators Ownership have been gained. 
SetACL.exe -on %_HKEY% -ot reg -actn ace -ace "n:Administrators;p:full" -rec Yes >nul 2>&1
echo.  Administrators Permissions have been gained. &&echo.
::Export all subkeys and values of the pointed "HKEY_..." to a <file-name>.reg 
REG EXPORT %_HKEY% "%~dp0[BACKUPS]_WebCache\AppID(6th)(default).reg"
::Remove "HKEY_..." and all its subkeys and values
REG DELETE %_HKEY% /f
echo.  The (default) HKEY_... have been deleted from registry. &&echo.

echo.%line%
:7th AppID KEY REG BACKUP
::Set "HKEY_..." _abreviation.  Check if original existed else go to next.
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Wow6432Node\AppID\{3eb3c877-1f16-487c-9050-104dbcd66683}" >nul 2>&1
if %errorlevel%==0 (
	set "_HKEY=HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Wow6432Node\AppID\{3eb3c877-1f16-487c-9050-104dbcd66683}"
) else (
	goto :8th
)
echo.  - Reg KEY [%_HKEY%]
echo.    A backup will be created to the folder: 
echo.    %~dp0[BACKUPS]_WebCache
echo.    AppID(7th)(default).reg &&echo.
::Take Owner & Permissions 
SetACL.exe -on %_HKEY% -ot reg -actn setowner -ownr "n:Administrators" -rec Yes
echo.  Administrators Ownership have been gained. 
SetACL.exe -on %_HKEY% -ot reg -actn ace -ace "n:Administrators;p:full" -rec Yes >nul 2>&1
echo.  Administrators Permissions have been gained. &&echo.
::Export all subkeys and values of the pointed "HKEY_..." to a <file-name>.reg 
REG EXPORT %_HKEY% "%~dp0[BACKUPS]_WebCache\AppID(7th)(default).reg"
::Remove "HKEY_..." and all its subkeys and values
REG DELETE %_HKEY% /f
echo.  The (default) HKEY_... have been deleted from registry. &&echo.

echo.%line%
:8th AppID KEY REG BACKUP
::Set "HKEY_..." _abreviation.  Check if original existed else go to next.
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Wow6432Node\CLSID\{0358b920-0ac7-461f-98f4-58e32cd89148}" >nul 2>&1
if %errorlevel%==0 (
	set "_HKEY=HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Wow6432Node\CLSID\{0358b920-0ac7-461f-98f4-58e32cd89148}"
) else (
	goto :9th
)
echo.  - Reg KEY [%_HKEY%]
echo.    A backup will be created to the folder: 
echo.    %~dp0[BACKUPS]_WebCache
echo.    AppID(8th)(default).reg &&echo.
::Take Owner & Permissions 
SetACL.exe -on %_HKEY% -ot reg -actn setowner -ownr "n:Administrators" -rec Yes
echo.  Administrators Ownership have been gained. 
SetACL.exe -on %_HKEY% -ot reg -actn ace -ace "n:Administrators;p:full" -rec Yes >nul 2>&1
echo.  Administrators Permissions have been gained. &&echo.
::Export all subkeys and values of the pointed "HKEY_..." to a <file-name>.reg 
REG EXPORT %_HKEY% "%~dp0[BACKUPS]_WebCache\AppID(8th)(default).reg"
::Remove "HKEY_..." and all its subkeys and values
REG DELETE %_HKEY% /f
echo.  The (default) HKEY_... have been deleted from registry. &&echo.

echo.%line%
:9th AppID KEY REG BACKUP
::Set "HKEY_..." _abreviation.  Check if original existed else go to next.
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\AppID\{3eb3c877-1f16-487c-9050-104dbcd66683}" >nul 2>&1
if %errorlevel%==0 (
	set "_HKEY=HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\AppID\{3eb3c877-1f16-487c-9050-104dbcd66683}"
) else (
	goto :10th
)
echo.  - Reg KEY [%_HKEY%]
echo.    A backup will be created to the folder: 
echo.    %~dp0[BACKUPS]_WebCache
echo.    AppID(9th)(default).reg &&echo.
::Take Owner & Permissions 
SetACL.exe -on %_HKEY% -ot reg -actn setowner -ownr "n:Administrators" -rec Yes
echo.  Administrators Ownership have been gained. 
SetACL.exe -on %_HKEY% -ot reg -actn ace -ace "n:Administrators;p:full" -rec Yes >nul 2>&1
echo.  Administrators Permissions have been gained. &&echo.
::Export all subkeys and values of the pointed "HKEY_..." to a <file-name>.reg 
REG EXPORT %_HKEY% "%~dp0[BACKUPS]_WebCache\AppID(9th)(default).reg"
::Remove "HKEY_..." and all its subkeys and values
REG DELETE %_HKEY% /f
echo.  The (default) HKEY_... have been deleted from registry. &&echo.

echo.%line%
:10th AppID KEY REG BACKUP
::Set "HKEY_..." _abreviation.  Check if original existed else go to next.
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{0358b920-0ac7-461f-98f4-58e32cd89148}" >nul 2>&1
if %errorlevel%==0 (
	set "_HKEY=HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Classes\CLSID\{0358b920-0ac7-461f-98f4-58e32cd89148}"
) else (
	goto :Done
)
echo.  - Reg KEY [%_HKEY%]
echo.    A backup will be created to the folder: 
echo.    %~dp0[BACKUPS]_WebCache
echo.    AppID(10th)(default).reg &&echo.
::Take Owner & Permissions 
SetACL.exe -on %_HKEY% -ot reg -actn setowner -ownr "n:Administrators" -rec Yes
echo.  Administrators Ownership have been gained. 
SetACL.exe -on %_HKEY% -ot reg -actn ace -ace "n:Administrators;p:full" -rec Yes >nul 2>&1
echo.  Administrators Permissions have been gained. &&echo.
::Export all subkeys and values of the pointed "HKEY_..." to a <file-name>.reg 
REG EXPORT %_HKEY% "%~dp0[BACKUPS]_WebCache\AppID(10th)(default).reg"
::Remove "HKEY_..." and all its subkeys and values
REG DELETE %_HKEY% /f
echo.  The (default) HKEY_... have been deleted from registry. &&echo.

echo.%line%
:Done
echo.&&echo.Well Done! &&echo.
echo.Press any key to EXIT...
pause >nul
exit
:: AntonyMan - https://board.eclipse.cx/viewtopic.php?t=955
Also, I copied the "WebCache" folder to the "[BACKUPS]_WebCache" folder, and then I deleted all files inside the original "WebCache" folder.
( deleted all files except of the "..\WebCache\[BACKUPS]_WebCache" folder ofcourse.)
With this way, everything is backed up (just in case), the "AppID" is disabled, and the PC is clean.
"C:\Users\%UserName%\AppData\Local\Microsoft\Windows\WebCache\[BACKUPS]_WebCache"
Last edited by AntonyMan on 29 Jul 2026, 22:54, edited 2 times in total.

User avatar
Duke
Full Moderator
Posts: 787
Joined: 16 Mar 2024, 13:32
OS: Windows 8.1 x64
Has thanked: 117 times
Been thanked: 237 times

WebCache ::: File Size

Unread post by Duke »

AntonyMan wrote: 29 Jul 2026, 16:11 Directory of C:\Users\%UserName%\AppData\Local\Microsoft\Windows\WebCache
highlight=black ?

Highlight1.png
Highlight1.png (7.39 KiB) Viewed 380 times

Result:
Highlight2.png
Highlight2.png (13.15 KiB) Viewed 380 times

Black background is making the text very hard to read, what's the point ? :think:

User avatar
AntonyMan
Posts: 6
Joined: 28 Jul 2026, 14:34
Location: Greece, Athens
OS: Win7U x64
Has thanked: 2 times

WebCache ::: File Size

Unread post by AntonyMan »

Duke wrote: 29 Jul 2026, 21:25 highlight=black ?
Black background is making the text very hard to read, what's the point ? :think:
Oh! Sorry.
I can't stand the bright white. I can't understand how the others do.
I did what I could with those formation tools.
Why dark background is not supported?

I'm using Dark Reader. If you enable Dark background you will see the black highlighted normally. :|
Attachments
Capture2.PNG
Capture2.PNG (155.54 KiB) Viewed 381 times
Capture1.PNG
Capture1.PNG (66.76 KiB) Viewed 381 times
Last edited by AntonyMan on 29 Jul 2026, 21:49, edited 1 time in total.

User avatar
Duke
Full Moderator
Posts: 787
Joined: 16 Mar 2024, 13:32
OS: Windows 8.1 x64
Has thanked: 117 times
Been thanked: 237 times

WebCache ::: File Size

Unread post by Duke »

AntonyMan wrote: 29 Jul 2026, 21:45 I can't stand the bright white.
There are many colors between white and black ;)

AntonyMan wrote: 29 Jul 2026, 21:45 If you enable Dark background you will see the black highlighted normally.
Sorry but I'm using the default style of this forum which is named: aero.
It's not white, it's light blue.

AntonyMan wrote: 29 Jul 2026, 21:45 Why dark background is not supported?
However, it seems to work fine with DVGFX styles.

User avatar
AntonyMan
Posts: 6
Joined: 28 Jul 2026, 14:34
Location: Greece, Athens
OS: Win7U x64
Has thanked: 2 times

WebCache ::: File Size

Unread post by AntonyMan »

There are many colors between white and black ;)
I wanted to point out that these are command lines. (Command Prompt)
But here there is no possibility (I think) to change the color of the fonts, right?
Neither a tool to use "inline code", right? :)

User avatar
AntonyMan
Posts: 6
Joined: 28 Jul 2026, 14:34
Location: Greece, Athens
OS: Win7U x64
Has thanked: 2 times

WebCache ::: File Size

Unread post by AntonyMan »

For any other "Dark friend" (lol):
Also for the pages that don't allow you to change the blindingly bright white, I've made this a button in the bookmarks toolbar:
(I save it as a Bookmark)
Name: Invert-Colors(Dark-mode)
URL: javascript:(function(){var el = typeof viewer !== 'undefined' ? viewer : document.body; el.style.filter = 'grayscale(0) invert(1) sepia(0) brightness(80%) contrast(80%)';})()
;)

265 993 303
Posts: 12
Joined: 28 Nov 2023, 19:09
Been thanked: 3 times
Contact:
Poland

WebCache ::: File Size

Unread post by 265 993 303 »

AntonyMan wrote: 29 Jul 2026, 22:04
There are many colors between white and black ;)
I wanted to point out that these are command lines. (Command Prompt)
But here there is no possibility (I think) to change the color of the fonts, right?
Neither a tool to use "inline code", right? :)
It is already possible to use 'color' tag for foreground with 'highlight' for background, for example:
xyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxy
xyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxy
xyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxy
xyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxy
Unfortunately it displays incorrectly for multiline text, even when using pre tag, since 'line-height: 1.4em;' is set, which distorts the font metrics.

The colors can also be set to system theme colors as demonstrated in https://board.eclipse.cx/viewtopic.php?p=5414#p5414 . However, the terminal colors are generally not part of the system theme.

User avatar
AntonyMan
Posts: 6
Joined: 28 Jul 2026, 14:34
Location: Greece, Athens
OS: Win7U x64
Has thanked: 2 times

WebCache ::: File Size

Unread post by AntonyMan »

It is already possible to use 'color' tag for foreground with 'highlight' for background, for example:
xyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxy
xyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxy
xyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxy
xyxyxyxyxyxyxyxyxyxyxyxyxyxyxyxy
Thanks a lot! I fixed it. :thumbup:

Post Reply