Create and Install Deployable Archive with Excel Integration for MATLAB Production Server
Supported Platform: Microsoft® Windows® only.
This example shows how to create a deployable archive with Excel® integration using a MATLAB® function. You can then deploy the generated archive on MATLAB Production Server™.
Prerequisites
MATLAB Compiler SDK™ requires .NET framework 4.0 or later to build Excel add-ins for MATLAB Production Server.
To generate the Excel add-in file (.xla), enable Trust access to the VBA project
object model in Excel. If you do not do this, you can manually create the add-in by importing
the .bas
file into Excel.
Create Function in MATLAB
In MATLAB, examine the MATLAB program that you want to package.
For this example, write a function mymagic.m
as follows.
function y = mymagic(x)
y = magic(x);
At the MATLAB command prompt, enter mymagic(3)
to check your
function's output.
ans = 8 1 6 3 5 7 4 9 2
Create Deployable Archive with Excel Integration Using Production Server Compiler App
Package the function into a deployable archive with Excel integration using the Production Server Compiler app. Alternatively, if you want to create a deployable archive from the MATLAB command window using a programmatic approach, see Create Deployable Archive with Excel Integration Using compiler.build.excelClientForProductionServer (MATLAB Compiler SDK).
To open the Production Server Compiler app, type
productionServerCompiler
at the MATLAB prompt.Alternatively, on the MATLAB Apps tab, on the far right of the Apps section, click the arrow. In Application Deployment, click Production Server Compiler. In the Production Server Compiler project window, click Deployable Archive with Excel integration.
In the Production Server Compiler project window, specify the main file of the MATLAB application that you want to deploy.
In the Exported Functions section, click .
In the Add Files window, browse to the example folder, and select the function you want to package.
Click Open.
Opening the file adds the function
mymagic.m
to the list of exported functions.
Customize the Application
You can customize your deployable archive with Excel integration and add more information about the application.
Archive information — Editable information about the deployed archive with Excel integration.
Client configuration — Configure the MATLAB Production Server client. Select the Default Server URL, decide wait time-out and maximum size of response for the client, and provide an optional self-signed certificate for
https
.Additional files required for your archive to run — Additional files required by the generated archive to run. These files are included in the generated archive installer. See Manage Required Files in Compiler Project (MATLAB Compiler SDK).
Files installed with your archive — Files that are installed with your archive on the client and server. The files installed on the server include:
Generated deployable archive (CTF file)
Generated
readme.txt
The files installed on the client include:
mymagic.bas
mymagic.dll
mymagic.xla
readme.txt
ServerConfig.dll
See Specify Files to Install with Application (MATLAB Compiler SDK).
Options — The option Register the resulting component for you only on the development machine exclusively registers the packaged component for one user on the development machine.
Package Application
To generate the packaged application, click Package.
In the Save Project dialog box, specify the location to save the project.
In the Package dialog box, verify that Open output folder when process completes is selected.
When the deployment process is complete, examine the generated output.
for_redistribution
— Folder containing the installer to distribute the archive on the MATLAB Production Server client and serverfor_redistribution_files_only
— Folder containing the files required for redistributing the application on the MATLAB Production Server client and serverfor_testing
— Folder containing the raw generated files to create the installerPackagingLog.html
— Log file generated by MATLAB Compiler SDK
Create Deployable Archive with Excel Integration Using compiler.build.excelClientForProductionServer
As an alternative to the Production Server Compiler app, you can create a deployable archive with Excel integration using a programmatic approach.
Create a production server archive using
mymagic.m
and save the build results to acompiler.build.Results
object.buildResults = compiler.build.productionServerArchive('mymagic.m');
Build the deployable archive with Excel integration using the
compiler.build.excelClientForProductionServer
function.mpsxlResults = compiler.build.excelClientForProductionServer(buildResults, ... 'Verbose','on');
You can specify additional options in the
compiler.build
command by using name-value arguments. For details, seecompiler.build.excelClientForProductionServer
(MATLAB Compiler SDK).The
compiler.build.Results
objectbuildResults
contains information on the build type, generated files, included support packages, and build options.The function generates the following files within a folder named
mymagicexcelClientForProductionServer
in your current working directory:includedSupportPackages.txt
— Text file that lists all support files included in the assembly.mymagic.bas
— VBA module file that can be imported into a VBA project.mymagic.dll
— Dynamic library required by the Excel add-in.mymagic.reg
— Text file that contains information on unresolved symbols.mymagic.xla
— Excel add-in that can be installed directly in Excel.mymagicClass.cs
— Text file that contains information on unresolved symbols.mccExcludedFiles.log
— Log file that contains a list of any toolbox functions that were not included in the application. For information on non-supported functions, see MATLAB Compiler Limitations (MATLAB Compiler).readme.txt
— Text file that contains packaging and deployment information.requiredMCRProducts.txt
— Text file that contains product IDs of products required by MATLAB Runtime to run the application.
Note
The generated Excel add-in does not include MATLAB Runtime or an installer. To create an installer using the
buildResults
object, seecompiler.package.excelClientForProductionServer
(MATLAB Compiler SDK).
Create Deployable Archive with Excel Integration Using mcc
You can also use the mcc
function to create a deployable archive by
running the following commands.
mcc -W CTF:mymagic -U -d '[Target server directory]' -v [directory containing mymagic.m]
mcc -W 'mpsxl:mymagic,Class1,version=1.0' -b -d '[Target client directory]' -v [Location of mymagic.m] class{Class1:[location of mymagic.m]}
Note
The generated Excel add-in does not include MATLAB Runtime or an installer. To create an installer, see
compiler.package.excelClientForProductionServer
(MATLAB Compiler SDK).
Install Deployable Archive with Excel Integration on Server
You must deploy the archive to a MATLAB Production Server instance before you can use the add-in in Excel.
To install the deployable archive on a server instance:
Locate the archive, which is in the
for_redistribution_files_only\server\
folder if you used Production Server Compiler to create it, or themymagicproductionServerArchive
folder if you used thecompiler.build.productionServerArchive
function.For this example, the file name is
mymagic.ctf
.Copy the archive file to the
auto_deploy
folder of the server instance. The server instance automatically deploys it and makes it available to interested clients.
Install the Excel Add-In on Client
if you use Production Server Compiler to create the deployable archive, locate the installer in the
for_redistribution_files_only\client\
folder. Here, it is namedmymagicClientInstl.exe
. If you use thecompiler.build.productionServerArchive
function, runcompiler.package.excelClientForProductionServer
(MATLAB Compiler SDK) on the result to generate the installer, which is in themymagicinstaller
folder. Here, it is namedMyAppInstaller.exe
. If you usemcc
, the file is in the target directory.Open the installer and follow the directions. Note that the interface will be different depending on whether you use the Production Server Compiler or
compiler.package.excelClientForProductionServer
.
See Also
Production Server Compiler (MATLAB Compiler SDK) | mcc
(MATLAB Compiler)