MATLAB Answers

Disallow running an App in an older version of ML?

1 view (last 30 days)
Chris
Chris on 9 Jan 2020
Commented: Sean de Wolski on 9 Jan 2020
Is there a way to disallow or inform the user that they cant run an installable App in an older version of ML?
I have made an App that is used across my company; and have coworkers who are trying to use the app in older versions of ML where it crashes with cryptic messages. I made the app in 19a; after installing in anything older than 18a it crashes when run. Apparently, I am using some features that were added in 18a and are not back compatible (this is fine; I am glad ML is adding new features!).
The app crashes before getting to the StartupFcn, so I cant do a version test in there.
I have no problem requiring my coworkers to use 18a or newer to use the app but I need a way to communicate that; ideally it should not install in older versions or give a meaningful error when run. I am distributing the app via an internal repository.

  0 Comments

Sign in to comment.

Answers (1)

Ruger28
Ruger28 on 9 Jan 2020
Edited: Ruger28 on 9 Jan 2020
if verLessThan('matlab','9.4') % 2018a = 9.4
disp('Version of Matlab is too old. Please open in MATLAB 2018a or later.')
else
% run your app
end

  5 Comments

Show 2 older comments
Sean de Wolski
Sean de Wolski on 9 Jan 2020
Hi Chris,
Don't call your app directly, write a simple function around it:
function myApp()
assert
app
end
Chris
Chris on 9 Jan 2020
Sean,
I will give a wrapper a try, thanks.
I see you are MathWorks staff, can we expect that version requirements will get added into the App designer or the packageing process at some point?
-Chris
Sean de Wolski
Sean de Wolski on 9 Jan 2020
Hi Chris,
Version requirements are already enforced in that a user of an older version gets an error. It could just probably be a nicer error message provided like you're saying. I'm not in development so can't comment on their plans but I can say that you contacting them via tech support and complaining is the best way to motivate them to do things :)

Sign in to comment.