I guess I could do something like this:
Create a separate Upgrade solution that moves and renames files, and have it tell the user to start up the real solution after the Upgrade solution exits. There must be a more seamless way, though.
Seems convoluted, but here's what I have working so far:
Let's call the files the following:
I simply added another one:
The user loads UI.fp7 and Data.fp7, and tests for the presence of Data._ in its folder. If it's there, Update.fp7 is opened and Updater.fp7 closes UI.fp7 and Data.fp7, otherwise it just runs as normal.
Using Troi File, Updater.fp7 then copies Data.fp7 to a subfolder, and then renames Data._ to Data.fp7.
Using Troi File, Updater.fp7 then creates an empty file called Update.txt.
Updater.fp7 then opens UI.fp7 and closes itself.
When UI.fp7 sees the presence of Update.txt (using Troi File), it runs an import of data from the subfolder file, Data.fp7, and then deletes Update.txt (using Troi File).
The above works, but I keep thinking there's a fundamentally different, and better, way to do this.