Bourke wrote: "Since SMB2 you have to depend on having correct registry settings,"
"SMB since ver.2 is not dependable for multiuser ISAM access"
Other than having to change caching settings for some machines for a while in 2018\2019, this is not our experience with hundreds of multiuser sites using VFP application with DBF files.
On Server 2019 you can set SMB caching settings on a per-share basis.
ISAM databases are now very much a corner case in SMB terms. SMB is at the heart of every Microsoft-basednetwork in the world - obviously it works extremely well in almost all circumstances otherwise they wouldn't have a business.
My original statement was:
Multi-User DBF on a [server] file share is too dangerous now as MS f*cked up SMB for good - even if you get error free running for a time, any Windows Update can screw the App into Fubar.
which is the not-PC way of saying the embolded part of your post. Yes, if the user of your app has admin rigths to be able to correct any registry settings changed, the danger might be lessened. Of course adding each user into admin pool does wonders for your network security.
Perhaps your persistance writes occur seldom enough and you controlled MS Updates well enough - IMO still a time bomb and reason to fine you for negligence if data mishap causes large client costs. Look at SQLite, which is a ISAM as well - read up on single user write lock to allow network access from SMB clients. The only way I will implement SMB write persistance on dbf/fpt/cdx is via exclusive access. Not too hard to implement on generalized basis if client does not want to install DB server. I am well aware this opens up locking scenarios we all hoped to have left behind when optimistic locking was introduced and is clearly less granular compared to even SQLite unless a bit more is invested in open logic, but with a cursoradapter pattern of reading server files, detaching result cursors and closing those tables ASAP it is possible to still use server/SMB dbf, but that is NOT multi-user access any more. As free versions of C/S SQL servers most of the time can handle data requirements and free offerings like Postgres and MariaDB exist, not using C/S backend or pattern described could make me liable. No way, as insurance would be polite but strict in refusing coverage if I did not use known best practices...
Win10 disallowing SMB1 for the broadcast/security reasons was necessary. Not having a fallback to the SMB1 secure way of handling caching/oplocks for file server ISAM is a f*ckup in my book. You might google for Oplocks / SMB data corruption - even MS acknowledges the possibility. ISAM vendors (still depending on Windows) describe "the corner case" you spoke of in more detail, but politically correct. I see no need to try for PC here.
my 0.22€
thomas