Clear Client Cache

Epicor 10.1.400.18

Users are not receiving the latest customizations until they clear their client cache. Do I have a setting wrong in the config files or on the server? I do not see a way to globally clear everyone’s cache.

I was wondering about the Alternate Client Cache option. Where could I find information on this? I wonder if you could set up the client cache folder on the network.

Happens to me on Dashboards and Customizations if I name the Customization the same name, so I started renaming them (added version). E10.500.X

1 Like

Seems like there are times that we need to delete the entire Client Cache folder because the Options - Clear Client Cache process just doesn’t get rid of everything that we need it to.

Here is a simple little PowerShell Script that can be used to delete the Client Cache Folder on a User’s Local System. You could just keep the PS shortcut in a central location on the network where users could run it on their own…(they may need to right-click it and select Run As Administrator.) Thought this might be easier than having them remember the path with the hidden ProgramData directory.

Just PLEASE make sure you test this and verify the path and name of the Client Cache Folder before you deploy this to your user(s).

#Specify Name and Location of the Client Cache Folder on a Local PC 
#Make sure that you have the Client Cache Folder name correct!
$ClientCacheFolder = 'C:\ProgramData\Epicor\erplive-808'

#Check to see if Client Cache Folder exists
#If script says folder DNE but you know it is there then try (Test-Path $ClientCacheFolder -ErrorAction Inquire)
    If (Test-Path $ClientCacheFolder)
        {
            
            Try
            {
                #Try to Remove\Delete ENTIRE Client Cache Folder on local PC
                #Stop if Error received
                Remove-Item $ClientCacheFolder* -Recurse -Force -ErrorAction Stop

                #If no Error then report Success 
                $wshell = New-Object -ComObject Wscript.Shell
                $wshell.Popup("Entire Client Cache Folder - " + $ClientCacheFolder.Split('\')[-1] + " - has been Deleted. `nOperation Complete.",0,"Done",0x1)
            }
            CATCH
            {
                #Error received when removing Folder, report problem to user
                $wshell = New-Object -ComObject Wscript.Shell
                $wshell.Popup("Cannot Delete Folder - Files Locked by user. Close out of Epicor and try again.",0,"Done",0x1)
            }
        }
            

	Else
        {
            #Client Cache Folder was not found
            $wshell = New-Object -ComObject Wscript.Shell
            $wshell.Popup("Folder Does Not Exist",0,"Done",0x1)	
        }

Save this code as a PowerShell (.ps1) script to a unadvertised shared network location. I called my file PSS_ClearEntireClientCacheFolder.ps1 (for reference below).

Create a New Shortcut and point it to this PowerShell Script:

Shortcut - Target Path Example:

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy RemoteSigned -command "& ‘\ \servername\EpicorStuff\Epicor10\PowerShell\PSS_ClearEntireClientCacheFolder.ps1’

Move Read-only shortcut to shared network location where Users can run it from their Systems.

Just FYI: If you Shift + right-click on the Shortcut and choose Run As Different User and enter a domain Admin login and password you can use a $ClientCacheFolder path like: \ \PC27\C$\ProgramData\Epicor\erplive-808 in the script and run it remotely. Not that you couldn’t do this manually but maybe this would be helpful to run this way? (Just be careful changing the $ClientCacheFolder path if others are using the script maybe make a copy for Admin usage.)

Just throwing this out there in the hopes that it might be helpful to someone. :slight_smile:

6 Likes

Could someone please remind me what you have to start and end a block of code with to get it to display inside a code box? Thank you! :slight_smile:

1 Like

image

2 Likes

Most of these work here for other goodies:

2 Likes

I accomplished similar using a batch file to start Epicor. I have the C:\Cache folder and set that in the config AlternateCacheFolder.

The batch file clears the C:\Cache folder, starts Epicor and exits the batch file.

rmdir /s /q C:\Cache\Epicor\

start “” “C:\Epicor\Epicor905\Client\MfgSys.exe” -skip -config=test.mfgsys

exit 0

So this runs every time Epicor opens? I wouldn’t think you would want to always delete the Cache folder when a user logs into Epicor because it helps to runs things “faster”, like opening forms and dashboards, etc. I think even the Epicor application itself opens “faster”. Not sure how much faster things run/open but that just means that every time a user opens something it has to be re-cached which probably takes time to do initially.

1 Like

I did this for two reasons:

  1. I often get errors and booted out of Epicor and was told that the cache could be an issue.
  2. I wasted a bunch of time training somebody on Cycle Counting. Her screen didn’t match mine while searching for Cycles. Working remotely, I would switch to her share, which was not displaying active cycles, then to my screen which was. Then when I went back in on my side, it behaved like hers - active cycles did not show up. That’s when I realized it was the cache. Doesn’t make sense, but clearing both of our caches worked.

Sure, I can understand needing this for a special case like that but I’m not sure I would run your batch file for every user every time as caching is, for the most part, supposed to be helpful. We used to run into issues that would require the deletion of the cache folder but thankfully, fingers crossed, we haven’t had to do that in a long time. Nice idea for a fix to that. Thanks for sharing.

1 Like