How to find installation folder for matlab add-ons via command line?

76 views (last 30 days)
Hi, I have a gui (made through a class method, in a class folder) that on start up checks whether or not the user has a specific toolbox installed.
I do this by:
matlab.addons.installedAddons
if a particular toolbox is not installed, it will install via a .mltbx within the class folder.
If the toolbox IS installed but is not up to date, it will install via the new .mltbx file.
it uninstalls and updates successfully, however, I am running into the issue of where the user will have to manually delete the old folder-- so I am trying to automate this.
My plan is to change the matlab directory to the path containing the old and new toolbox folder.
from here: https://www.mathworks.com/help/matlab/matlab_env/manage-your-add-ons.html I know that there is a default installation folder for addons, but this can also be customized in Home > Environment tab > preferences > Add ons.
Is there a way for me to navigate to wheverever this installation folder is? And so then I can just use:
rmdir
to remove the old one so that there wont be any naming issues.

Answers (1)

Robert
Robert on 15 Jan 2021
It's a bit late, but anyone trying to do the same, try this:
mngr = com.mathworks.addons_toolbox.ToolboxManagerForAddOns();
installed = cell(mngr.getInstalled());
myTb = installed{find(cellfun(@(tb) strcmp(tb.getName(), 'MyToolboxName'), installed), 1)};
identifier = char(myTb.getInstallationIdentifier());
theFolder = extractBefore(identifier, '|');
Note that as of R2020b, the com.mathworks package is listed as will be removed in a future release. I'd be happy to learn about alternatives to this that do not use com.mathworks.
  2 Comments
svanimisetti
svanimisetti on 8 Mar 2021
Edited: svanimisetti on 8 Mar 2021
A more compact form can be obtained using arrayfun and getInstalledFolder function, eliminating the need to convert to a cell array and working with identifier.
tbxlist = com.mathworks.addons_toolbox.ToolboxManagerForAddOns().getInstalled();
idx = arrayfun(@(x)startsWith(x.getName(),'MyToolboxName'),tbxlist);
path = tbxlist(idx).getInstalledFolder();
Vinayaka Pattanashetti
Vinayaka Pattanashetti on 14 Mar 2022
MATLAB Add On folder not found in my windows laptop. But i see many add-ons installed. Plz help me, i need to copy some plugins out of this add-on folder into some other folder.

Sign in to comment.

Categories

Find more on Introduction to Installation and Licensing in Help Center and File Exchange

Products


Release

R2018a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!