Since LabVIEW 2017, it's possible to build application with a compatibility with future version of run time engine.
This option is set by default but can be disabled.
I just discover that this option is set for real time applicaiton and cannot be unset. I mean that if you build your application in with labview real time 2017, it will run with a system installed with a newer version of LabVIEW Real time.
This can be a good idea, but I'm a little bit surprise that I cannot have informations on that options for real time application and I can't control it.
Here is a way to test it. Tested on a real time desktop with pharlaps.
Install RT target with LV 2017.
Build an application and set it to run as startup. A simple application writting something in the console is enough.
Make sure your applicaiton is running at startup.
Update your system by only installing LabVIEW real time 2019.
Restart your system and your application is still running !
Because I faced an issue where LabVIEW 2020 broke my application build in LabVIEW 2017, I'm asking myself how NI can garanty that a real time system will work in any case if we upgrade the system to a higher version of LabVIEW real time version without recompiling the application.
Real time system can be used to control system that can be a secure system. If a user update by error a system, I want to keep my system safe for user.
So my idea is to remove this option or give access to the user to unselect this option to avoid any bad behavior.