Symptoms
With networked installations of EQ (with a shared data folder) you may see some or all of the following issues within EQ:
- Blank records appear in quotes, orders, invoices, purchase orders (headers and contents)
- Saving quotes/orders overwrites previously saved older quotes/orders
- Placing purchase orders sends products onto the wrong purchase order numbers
Cause
Windows is caching files on client PCs and not writing the data back to the shared EQ data folder instantly. A Microsoft Windows 10 update (KB4103721 - first released 8th May 2018) has changed the operation of network file cache in Windows and causes data to be delayed. A delay writing the data to EQ’s databases causes severe data integrity issues with symptoms as explained above.
This applies to Windows 10 and Windows 11.
Further experience can be seen in this Microsoft Developer Network post:
https://social.msdn.microsoft.com/Forums/en-US/008e9250-111a-4a94-a2b8-b38296194b86/vfp-network-issues-with-windows-10-1803?forum=visualfoxprogeneral
Resolution
Before proceeding please ensure you have a recent Windows system backup. These steps should be carried out on every Windows networked PC. Change the values for DirectoryCacheLifetime and FileInfoCacheLifetime to reduce the delay from 10 seconds to 0 seconds. You can either use Windows Powershell or Windows Registry Editor to change these. These steps are best followed by I.T. support.
a) Windows Powershell
(Easiest access is from right-clicking on the Start button > run Windows Powershell (Admin)
You can view the current settings on Windows 10 using this Windows Powershell command:
get-smbclientconfiguration
The output will look like this:
If either DirectoryCacheLifetime or FileInfoCacheLifetime is 10 then the setting is enabled and is likely causing the symptoms explained. A value of 0 means the setting is off.
You can set the 2 parameters to 0 with these Powershell commands:
set-smbclientconfiguration -DirectoryCacheLifetime 0
set-smbclientconfiguration -FileInfoCacheLifetime 0
b) Registry Editor
Ensure you have a backup including your Windows Registry before you continue.
Navigate to the following location:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters
Add 2 new entries for:
"FileInfoCacheLifetime"
"DirectoryCacheLifetime"
With dword:00000000
Alternatively, you can merge a registry .reg file with these values. You can download a file we have prepared as a zip file here: https://eq.compusoftgroup.com/documents/Win10_CacheSettings.zip
Extract the zip file and double-click the reg file to merge entries into your registry. (You will need to be logged on to Windows as an administrator user to merge entries into your registry).
Final Step in EQ
Once you have completed either of these steps, you need to run a Database Integrity Check within EQ. See the System Config menu > Database Integrity. Read the article on Database Integrity.