续更!-手动安装和配置runtime后,matlab无法识别runtime的问题(matlab2019a)

续更:
整理时间:2020-06-06
目录:
1.续更原因
2.问题现象
3.寻找答案的过程
4.另辟蹊径,曲线救国,变相解决问题
5.总结

1.续更原因:

之前写过一篇文章《matlab文件打包为独立可执行程序exe (Matlab R2019a)》。
很多人反馈下面这个问题:
针对手动安装完runtime 后,但是在matlab中依旧无法找到runtime的问题。
注:使用compiler.runtime.download在线自动安装,因为网络问题,一般不会成功。所以都是手动安装方式。早期版本的matlab会自带runtime,2019版本不带这个runtime了,所以在“包括mcr的独立exe打包”的时候,就需要安装mcr,不然会提示找不到。

实际上,我在新的电脑上也做过测试,发现我也遇到了这个问题。

2. 问题现象:
手动安装完runtime后,在matlab中依旧无法识别runtime,找不到runtime所在的文件夹。
在这里插入图片描述

3. 寻找答案的过程:

上官网查了一下这个问题:
https://www.mathworks.com/matlabcentral/answers/476092-matlab-r2019a-runtime-installer-not-recognized-in-app-designer
在这里插入图片描述

上面这个链接详细看完之后,安装成功的都是通过compiler.runtime.download命令自动安装成功的(这和网络有关系,成功概率极低)。并不是我想要的答案。

又查了这个链接https://www.mathworks.com/matlabcentral/answers/483307-why-do-i-see-invalid-installer-when-attempting-to-install-matlab-compiler-runtime#answer_394518。好像有点思路上的帮助。

在这里插入图片描述
这个是mathworks的员工写的,而且是accepted anwer ,可信度很高。
这个答案意思是说:matlab 官网上的runtime下载链接对应的是最新的matlab2019a的子版本。要解决这个问题,就需要下载和你安装的matlab2019a子版本对应的子版本runtime。

查询了我的电脑的matlab 2019a的子版本如下:
在这里插入图片描述
再查下载的runtime子版本
在这里插入图片描述
好像就是这个问题,首先是下载的多了一个update8.下来是子版本是1335978,不对应matlab2019a的子版本1072779。
于是我按照mathworks的员工的方法,搞到了对应的子版本runtime。
在这里插入图片描述

在这里插入图片描述
这下版本对应了,点击setup,按照默认路径C:\Program Files\MATLAB\MATLAB Runtime ,覆盖之前的runtime,安装完毕,就等成功的到来。
在这里插入图片描述

按不住内心的兴奋,迫不及待的打开matlab,输入mcrinstalller 命令,准备迎接成功的到来。
然而,结果。。。。卧槽!!!
在这里插入图片描述

4.另辟蹊径,曲线救国,变相解决问题

冷静下来,想想最开始的目的,初衷是什么,初衷就是把matlab设计的app打包成独立可执行的exe呗。
1)最开始我使用的是matlab2015b,虽然自带runtime,因为其上在app上的设计方法还采用的是老旧的guide,方法太low,。matlab2019a,采用了appdesinger的设计方法,并且有一些新的工具包等更新,我换了2019a。
2)matlab2019a,不自带runtime ,所以在打包时候找不到mcr,无法打包成“包含runtime的可独立执行的exe”.

我们最终的目的,整理一下,就是: 把使用matlab编写的app,打包成exe,并可在没有安装matlab的电脑上执行。

好吧,那么就不用管matlab是否识别安装的runtime与否了,识别不上我也不管了。打包的时候我就不选择 include runtime了,选择 down from web 就行了,关键是占用的存储还小。

那么我们最终的组合就是,
step1:
在安装matlab的电脑上打包选择down from web,而不是 include。
在这里插入图片描述
打包完结果如下:
在这里插入图片描述
文件夹说明:
《for_redistribution》
在这里插入图片描述

《for_redistribution_files_only》!!!在这里插入图片描述
step2:

在目标电脑(没有安装matlab)上安装mcr,详细版本为MATLAB_Runtime_R2019a_win64。

step3:
将《for_redistribution_files_only》的文件拷贝到目标电脑(没有安装matlab),这个是我们的app应用.

step4:
点击***.exe,运行即可。

5.总结
根据网友的困惑,以及自己之后也遇到的问题,在官网寻找一番答案,又亲自尝试了一遍。发现按照官网给出的方法,并未解决问题。回到需求的最开始,曲线救国。提出了:“在开发电脑(安装有matlab)上打包成mcr web版,然后再目标电脑(未安装有matlab)上先安装mcr(MATLAB_Runtime_R2019a_win64),然后拷贝for_redistribution_files_only文件夹,再运行” 的方法,解决了实际面临的问题。

友情资源:
MATLAB_Runtime_R2019a_win64百度云:
在这里插入图片描述
链接:https://pan.baidu.com/s/1Z7M-J0HabmOqRI3vhkZG7Q
提取码:etx0


THE END~

觉得有帮助还望多多支持点赞评论。谢谢~
有新的解决方法,也希望评论交流。