将Matlab MCR作为C#安装程序向导的一部分安装

6
我用Matlab编写了一个程序HelloApp,并使用deploytool将其打包为.NET程序集,具体步骤描述在这里。因此,我得到了helloapp.dll库,并将其作为引用包含在我的Visual Studio 2015中,所以我可以直接从C#运行Matlab方法。要在没有安装Matlab的情况下运行代码,最终用户需要安装至少一个Matlab Runtime(MCR)。

现在我想为我的C#程序创建安装程序。我遇到了Visual Studio 2015 Installer Projects,提供了一些工具来创建程序安装向导。问题是,我不知道如何将MCR软件包的下载和安装包含在安装过程中,以确保用户拥有运行程序所需的所有先决条件。


需要始终安装MCR吗?还是应该检查相应的Matlab安装是否存在,如果已经安装了正确版本,则跳过安装?据我所知,您需要正确版本的MCR或MATLAB。 - Daniel
1个回答

3

虽然这不是一个完整的答案,但问题的评论区太短了...

我不太了解 VS2015安装程序,因为我个人使用 innosetup。无论如何,如果想要在目标机器上检查是否安装了相应的运行时,可以查看注册表中是否存在以下键:

HKEY_LOCAL_MACHINE\SOFTWARE\MathWorks\MATLAB Runtime\9.0   

查看我在此处这里的帖子,以获取更多详细信息。
注意1:Matlab运行时安装程序非常大(约1 GB)。我不会将其与应用程序一起打包以进行部署,但只是警告用户单独安装它。
注意2:我认为Mathworks正在打包C:\Program Files\MATLAB\R2015b\toolbox\compiler\deploy\win64\InstallAgent.zip(约66MB),而不是MCRInstall.exe(约1GB),用于使用deploytool部署独立安装程序时下载运行时,但我不知道它是如何工作的。

你好,谢谢!其实,在你回复之前我已经找到了你的帖子,并成功地使用InnoSetup打包了它 :) 我不确定InstallAgent.zip是什么,我是用在线MCR安装程序打包的,这个安装程序是我在部署过程中得到的。它大约有2MB大小,我将其作为安装向导中的一个步骤进行了包含。它需要下载和安装大约500MB的内容,即使使用100兆比特/秒的网络速度也需要很长时间。 - Ilya Cherevkov
是的,安装在目标机器上使运行时工作所需的文件数量非常庞大!几乎与Matlab环境本身的大小相等 + 如果使用不同的MCR版本进行编译,则需要并行安装所有运行时版本 ;) - CitizenInsane

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接