Thanks. That information was very helpful. It sounds like it could be cumbersome to do the cloning, importing, fixing of serial numbers, etc. even after writing scripts to automate as much as possible if you have to update a large number of databases.
For example, let's say you have 30 clients all using the same software and you want to release an update. Would it take a long time to repeat the process 30 times? (assuming you've made changes to field definitions or something requiring updates to the backend in a separation model).
No, you'd build this script into your new file. You'd send this one file out to all 30 clients where they'd click a button in the new file to pull all the data into their file.
You'd set it up once, each client runs the script once.
Using 2 file structure, one for interface one for data is even simpler as you often won't need to do anything but replace the interface file with a new copy.