our company, M&M software GmbH from Germany, is developing the industrial automation developing software e!COCKPIT for the WAGO group and therefore we’re handling the pure technical support for that application.
From time to time, some of our customers that using your [Windows] Dropbox synchronization client report that our application crashes when Dropbox starts to synchronize files. Our developer team tracked down the problem to that point that the Dropbox sync client seems to lock the files exclusively [and therefore, "stealing" access] when synchronizing them with the Dropbox server so our application cannot access its own files in that moment.
As the core of e!COCKPIT is based on a third party compiler software (CODESYS), we cannot just catch the exception and everything is fine because a data loss would occur in that moment and corrupted files would be the result. Bad idea. Also, the manufacturer of CODESYS told us that they will not fix this as the problem origin comes from an external source and is also very specific.
Is there anything we could tell the customers how to configure your sync software to perform a more ‚friendly‘ way of accessing files, some settings in the application, a hidden registry key or whatever? Would a third party client that is not from Dropbox solve that problem (if yes, which one?)? Note that we in this project are no active dropbox customers and we're not using the service at all, so we would just forward that information to the related customers in hope that it would help them anyway.
The best way to tackle this would be to have your clients pause syncing (or even quit the app) when working on those files through your own app and resume syncing or re-launch our desktop app when they're done with their edits.
I have this same issue with a backup application named Backup4All. I purposely backup some files to a dropbox folder. It will fail about 50% of the time with a file locking error if Dropbox is running. If I pause the sync then it succeeds.
Backup aborted. Reason:
Could not copy
9\Catalogs\BackupFile(3).bkc" to "D:\Dropbox\Backups\BackupFile.bkc".
The requested operation cannot be performed on a file with a user-mapped section open().
This is supposed to be an early morning automated backup so manually pausing dropbox is not an option.
There is an existing request for an API or command-line interface to pause the sync to cover these situations.