Mathworks has a product called MATLAB Builder NE to do just that.
It will build a DLL for .NET or COM by wrapping MATLAB code. Then you can execute the code on any computer on which MATLAB runtime is installed ( free ).
From what I saw, it really creates a DLL with corresponding overloads for each function of your code and helps you convert from .NET types to MATLAB arrays. In the end, it still calls its own MATLAB code and runs it at runtime MATLAB, so it can be self-executing (although it will take some, probably considerable effort).
goric source share