How to access app details and write app version number into a file?
Show older comments
I'm trying out functionalities of Appdesigner in order to see it can handle specifications of app I'm designing.
I want my app to include possibility for writing an info file which contains version number of the app. I noticed this is located in Appdesigner in "App details".

My question is, how to access this information in order to write it into a file using a button in the app?
2 Comments
Mili Goyal
on 28 Jun 2021
I think this MATLAB answer is very similar to what you have asked.
Do check this out!
Martti Ilvesmäki
on 29 Jun 2021
Accepted Answer
More Answers (1)
Brian
on 16 Nov 2021
I developed the below yesterday and it has seemed to work so far.
function ver = CheckVersion(~)
if isdeployed % If compiled and deployed
[~, result] = system('path');
p = char(regexpi(result, 'Path=(.*?);', 'tokens', 'once')); % Get run path
myDir=dir(fullfile(p,'..','appdata','components')); % Move to components folder and get all files
myDir=myDir(3:end); % Exclude '.' and '..'
validFile=myDir(datetime({myDir.date})==max(datetime({myDir.date}))); % Only look at most recent install, includes 'common' and 'platform'
appInfo=xml2struct(fullfile(validFile(1).folder,validFile(1).name)); % Import 'common' as struct from xml (requires xml2struct download)
ver=appInfo.componentData.component.componentVersion.Text; % Grab the version number as a char array
else
fullpath=mfilename('fullpath'); % Get run path
s=settings;
if ~isempty(strfind(fullpath,s.matlab.addons.InstallationFolder.ActiveValue)) % If the run path includes the addons install folder, it is run from the app bar
[p,~]=fileparts(fullpath); % Get the path
if isfolder(fullfile(p,'resources'))
xmlLocation=fullfile(p,'resources','addons_core.xml'); % Go to resources folder
appInfo=xml2struct(xmlLocation); % Import addons_core.xml as struct
ver=appInfo.addonCore.version.Text; % Grab the version number as a char array
else
ver='debug'; % This may be redundant with below. Left in to prevent errors just in case...
end
else % If run from MATLAB mlapp file
ver='debug';
end
end
end
3 Comments
Francisco Sacchetti
on 19 Jan 2024
this does not work for webbapp server
Han Geerligs
on 22 May 2024
Does anyone know how to retrieve the version of an .mlapp file?
This property is available on top level of the GUI, in picture below it is 1.02. I'd like to display it in a text label.

Francisco Sacchetti
on 12 Nov 2024
Categories
Find more on Startup and Shutdown in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!