We have a ClickOnce deployed application. We would like make sure that the installations only update 1 version jump eacn time. (Other best practice solutions are welcome as well).
Say for example a user has version 1.16 installed, in the mean time there has been 2 new releases so the version on the server is now 1.18. We would like to ensure that the next time the application updates, it updates first from 1.16 to 1.17. Then the next time it updates, it updates from 1.17 to 1.18 etc. I.e. it does not update directly from 1.16 to 1.18.
Why, you might ask. Well it relates to the fact that our application has a local (SQL EXPRESS) database. We have a custom update class which is invoked when the application starts up. It detects if a CO update has occured, if so it updates the local db with any schema changes that may have been made. I.e. the CO update first delivers the files necessary to perform the scehma changes, and then the custom update class performs the actual db modification. This is a problem when jumping more than 1 version since in this example the db changes script from v.16 to v.17 will never be applied.
Our first approach has been to daisy chain CO update folders. That is v.16 updates from 1.17, 1.17 updates from 1.18, but this does not seem to solve the problem.
Any ideas?