Standalone EXE execute matlab-code online without Matlab installed on the client?

119 views (last 30 days)
Peter on 27 Jul 2012
Commented: Walter Roberson on 19 Mar 2018
I have built a EXE, and I want to execute some matlab code, but i don't want to install matlab on the client. And I would like to build a matlab "server" that my EXE can connect to it and execute the code on it, and then return the result to the EXE.
It means that i want the user to use my EXE only, but the EXE communicate with the "Matlab installed Server" on the background.
How can I do that?
Thank you so much

Answers (3)

Kaustubha Govind
Kaustubha Govind on 30 Jul 2012
The only way to deploy MATLAB code on a machine without a MATLAB installation is to use MATLAB Compiler, however, this product will not allow you use MATLAB as a "server" - you can only compile pre-defined MATLAB code for deployment.
Alternatively, if MATLAB is installed on the target machine, you can interface to it using the MATLAB Engine API.
Also, I'm not a legal expert, but what you're asking for is essentially to allow (all) MATLAB functionality be provided on a machine without a MATLAB license, which seems like a grey area.

Sumit Tandon
Sumit Tandon on 30 Jul 2012
I think that a deployed web component can do some of what you are looking for.
You can use MATLAB Builder NE, that works with MATLAB Compiler that Kaustubha mentions above, to create deployable web-components and use its support for .NET Remoting API to run your classes wrapping the MATLAB algorithm as a service on the server.
Basically, you can create a web-page that users would access and the compiled MATLAB code runs in the background on a server.
For example, see File Exchange submissions by David Forstot:

Steven Lord
Steven Lord on 19 Mar 2018
I know this is an old question, but it popped back up to the top of the list due to an unrelated question being asked. For others with the same idea in mind, the system the original poster described sounds to me like what MATLAB Production Server is designed to do.
  1 Comment
Walter Roberson
Walter Roberson on 19 Mar 2018
I would not say so. The requirement to execute arbitrary MATLAB code on behalf of the user is a direct license violation for compiled executables and is never permitted.
If the set-up were to instead be switched to a copy of MATLAB running on a server with a Floating license, then the question would become to what extent the configuration was substantially replacing use of a MATLAB license, and there is potentially room to convince Mathworks that the configuration was not in violation.
Notice that in the initial question that the client is sending MATLAB code to the server to be executed. The situation would be completely different if all of the code already lived on the server and could be pre-compiled.

Sign in to comment.



Community Treasure Hunt

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

Start Hunting!