Is there a way to bypass including the MCR and downloading the MCR in your package and still be able to build a package in R2014b?

I am running my deployable application on a closed network. I do not want it to download the MCR from the website nor do I want it to include the MCR in the executable. However, the application compiler will not allow you to package if neither of these options are selected.

Answers (1)

Hi Tommie,
MCR (MATLAB Compiler Runtime) is required to be installed on the machine on which you deploy the application. This is because, the machine on which you deploy typically does not have MATLAB installed, and MCR has all the libraries needed to run the compiled MATLAB code. Thus, you can view MCR as MATLAB without a GUI. For more info on MCR, visit this page
Given this fact, the reason why MATLAB compiler gives you only these two options is:
Option 1: Runtime downloaded from web: If you do not wish to include MCR as part of your compiled application, you can let users download it from the web, which makes the compiled application size ~ 5 MB
Option 2: Runtime included in package: If you wish to include the MCR as part of your compiled application, you can choose this. But, it will make the size of the application ~ 800 MB.
Hope this helps,
Abhiram.

8 Comments

Hi Tommie,
For more info on MCR and deployment in general, you can refer to this blog post
I appreciate the information regarding the MCR. However, I understand why the MCR is needed. The computers that I am deploying my application to already has the MCR installed on it. It is done separately by an administrator. Therefore there is no need to download the MCR nor include the MCR into my compiled application. All I want to do is build my application without either of these two options. I would like to have a third option: Package application without MCR. Thanks for the information anyway.
Hi Tommie,
I think I got your query now.
Option 1: Runtime downloaded from web means, the user can download the MCR from the internet, if he doesn't have it installed already. If he has it installed already, he need not download it! He can just run the application and it works!
Hope this clears the doubt,
Cheers!
Abhiram.
PS: If you like this answer, please accept it. This is not for my personal points, but if others have similar doubts, they can benefit from it.
But Abhiram, it looks like the installer first tries to contact mathworks, to check the runtime version or something. So if the machine cannot ftp to mathworks, the installer doesn't run.
I don't believe that's true. You can either send your user the MCR installer yourself, or have them download it. Once they have it and run it, I don't believe it contacts the Mathworks or requires an internet connection. Why do you think it does?
I think Arnold is correct. I am behind a firewall with no internet access. I have a matlab exe from a coworker that does not have the MCR bundled with it. When I run the exe, it immediately tries to connect to the internet and fails with an http error, even though I have the correct MCR on my machine. The only way we've gotten around this is to bundle the MCR with the exe. Is there a way to point the exe to my MCR if it's not bundled with it?
We also have this problem. The client already has MCR installed on their machine. We do not want to include either the web link or the MCR in our COM object, however the matlab library compiler front end does not allow you to exclude the MCR from the COM object.
When we choose the "download from web" option the package fails as it cannot access the mathworks web site.
We have the same issue. It is a hassle to get IT to allow installing the MCR for each user, but this only needs to be done once.
The problem is that even after MCR is installed, every time we want to deploy a new version of the compiled app, it still asks for admin rights only so it can install the MCR, which is already installed.

Sign in to comment.

Categories

Products

Asked:

on 27 Apr 2015

Commented:

on 8 Jul 2022

Community Treasure Hunt

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

Start Hunting!