Friday, March 14, 2014

Skip The Modelstore has been modified dialog

Let me first off just say, use this with care. So there, I've said it.

You know the dialog that shows up when the modelstore has changed and is considered "dirty". "Dirty" means that something has changed and it is unsafe to keep it like that without compiling, synchronizing and generating CIL. Depending on why it is dirty in the first place, you may want to opt for running one of the built-in checklists or opt for "Skip".


Now "Skip" is obviously not recommended, and that step doesn't do anything. In fact, if you choose "Skip" the same dialog will be loaded the next time you load the client. The dialog is loaded if your user is System Administrator and the modelstore is either in InstallMode or UpgradeMode. If you've installed or upgraded some models, you are per definition in one of those modes. You can test this by running this simple job:


So why would you want to really "Skip" this dialog? Let's say you've upgraded some models. You ran AxBuild and it went through. Now you fire up the AOS and start the Client. You "Skip" and continue with synchronize and generate CIL. You don't want to run the "Compile and Synchronize" because you've already compiled and you know it takes hours to compile using the client. Now, most importantly, you do all of this because you are confident the changes to the AOT are not necessary to analyze through the checklists. Still, this dialog us stuck there.


Easiest way to get rid of it now is to uncheck the MinorUpgrade checkbox on the ReleaseUpdateConfiguration table. Close the Client and start it again.

Dialog gone! ;-)

UPDATE:
You can also alternatively create a job that runs SysCheckList_Update::finalizeMinorUpgrade();