Main Content

compiler.package.installer

Create an installer for files generated by MATLAB Compiler

Since R2020a

Description

compiler.package.installer(results) creates an installer using the compiler.build.Results object results generated from a compiler.build function.

example

compiler.package.installer(results,Name,Value) creates an installer using the compiler.build.Results object results with additional options specified using one or more name-value arguments.

example

compiler.package.installer(results,'Options',opts) creates an installer using the compiler.build.Results object results with installer options specified by an InstallerOptions object opts. If you use an InstallerOptions object, you cannot specify any other options using name-value arguments.

example

compiler.package.installer(files,filePath,'ApplicationName',appName) creates an installer for files generated by the mcc command. The installed application name is specified by appName. The installer file extension is determined by the operating system in which you run the function.

example

compiler.package.installer(files,filePath,'ApplicationName',appName,Name,Value) creates an installer for files generated by the mcc command. The installed application name is specified by appName. The installer can be customized using optional name-value arguments.

example

compiler.package.installer(files,filePath,'Options',opts) creates an installer for files generated by the mcc command with installer options specified by an InstallerOptions object opts. If you use an InstallerOptions object, you cannot specify any other options using name-value arguments.

example

Examples

collapse all

Create an installer for a standalone application using the results from the compiler.build.standaloneApplication function.

In MATLAB®, locate the MATLAB code that you want to deploy as a standalone application. For this example, compile using the file magicsquare.m located in matlabroot\extern\examples\compiler.

appFile = fullfile(matlabroot,'extern','examples','compiler','magicsquare.m');

Build a standalone application using the compiler.build.standaloneApplication command.

results = compiler.build.standaloneApplication(appFile);

Create an installer for the standalone application using the compiler.package.installer function.

compiler.package.installer(results);
The function generates an installer named MyAppInstaller within a folder named magicsquareinstaller.

The default installation folder for the application is the value of the %ProgramFiles% environment variable on the target machine.

Create an installer for a standalone application using the results from the compiler.build.standaloneApplication function and customize it using name-value arguments.

Save the path to the file magicsquare.m located in matlabroot\extern\examples\compiler.

appFile = fullfile(matlabroot,'extern','examples','compiler','magicsquare.m');

Build a standalone application using the compiler.build.standaloneApplication command.

results = compiler.build.standaloneApplication(appFile);

Create an installer for the standalone application using the compiler.package.installer function using the Results object. Use name-value arguments to specify the installer name and include MATLAB Runtime within the installer.

compiler.package.installer(results,...
    'InstallerName','MyMagicInstaller',...
    'RuntimeDelivery','installer');
The function generates an installer named MyMagicInstaller within a folder named magicsquareinstaller.

Create an installer for a standalone application on a Windows® system using the results from the compiler.build.standaloneApplication function. Customize the installer using an InstallerOptions object.

Save the path to the file magicsquare.m located in matlabroot\extern\examples\compiler.

appFile = fullfile(matlabroot,'extern','examples','compiler','magicsquare.m');

Build a standalone application using the compiler.build.standaloneApplication command.

results = compiler.build.standaloneApplication(appFile);

Create an InstallerOptions object. Use name-value arguments to specify the application name, author company, author name, installer name, and summary.

opts = compiler.package.InstallerOptions(results,...
    'ApplicationName','MagicSquare_Generator',...
    'AuthorCompany','Boston Common',...
    'AuthorName','Frog',...
    'InstallerName','MagicSquare_Installer',...
    'Summary','Generates a magic square.')
opts = 

  InstallerOptions with properties:

           RuntimeDelivery: 'web'
           InstallerSplash: 'C:\Program Files\MATLAB\R2024b\toolbox\compiler\packagingResources\default_splash.png'
             InstallerIcon: 'C:\Program Files\MATLAB\R2024b\toolbox\compiler\packagingResources\default_icon_48.png'
             InstallerLogo: 'C:\Program Files\MATLAB\R2024b\toolbox\compiler\packagingResources\default_logo.png'
               PackageType: 'auto'
           AdditionalFiles: {}
     AddRemoveProgramsIcon: 'C:\Program Files\MATLAB\R2024b\toolbox\compiler\packagingResources\default_icon_48.png'
                AuthorName: 'Frog'
               AuthorEmail: ''
             AuthorCompany: 'Boston Common'
                   Summary: 'Generates a magic square.'
               Description: ''
         InstallationNotes: ''
                  Shortcut: 'D:\Work\magicsquarestandaloneApplication\magicsquare.exe'
                   Version: '1.0'
             InstallerName: 'MagicSquare_Installer'
           ApplicationName: 'MagicSquare_Generator'
                 OutputDir: '.\MagicSquare_Generatorinstaller'
    DefaultInstallationDir: 'C:\Program Files\MagicSquare_Generator'
                   Verbose: 'off'

Create an installer for the standalone application using the Results and InstallerOptions objects as inputs to the compiler.package.installer function.

compiler.package.installer(results,'Options',opts);
The function generates an installer named MagicSquare_Installer within a folder named MagicSquare_Generatorinstaller.

Create an installer for a standalone application on a Windows system.

Write a MATLAB function that generates a magic square. Save the function in a file named mymagic.m.

function out = mymagic(in)
out = magic(in)

Build a standalone application using the mcc command.

mcc -m mymagic.m
mymagic.exe
mccExcludedFiles.log
readme.txt
requiredMCRProducts.txt

Create an installer for the standalone application using the compiler.package.installer function.

compiler.package.installer('mymagic.exe',...
    'D:\Documents\MATLAB\work\MagicSquare\requiredMCRProducts.txt',...
    'ApplicationName','MagicSquare_Generator')
The function generates an installer named MyAppInstaller.exe within a folder named MagicSquare_Generatorinstaller.

Customize an installer for a standalone application using name-value arguments.

Build a standalone application using the compiler.build.standaloneApplication command.

appFile = fullfile(matlabroot,'extern','examples','compiler','magicsquare.m');
buildResults = compiler.build.standaloneApplication(appFile);

Save the path to the generated requiredMCRProducts.txt file.

runtimeProducts = fullfile(buildResults.Options.OutputDir,'requiredMCRProducts.txt')

Save the list of files from the standalone application build results.

fileList = buildResults.Files

Optionally, you can add additional files to the installer by modifying fileList. Additional files are installed in the installation directory along with the application executable.

fileList = [fileList; {'UsageNotes.txt'}];

Create an installer for the standalone application using the compiler.package.installer function.

compiler.package.installer(fileList, runtimeProducts,...
    'ApplicationName','CustomMagicSquare',...
    'InstallerName','Installer_With_Addl_Files',...
    'Summary','See UsageNotes.txt for info.')

Customize an installer for a standalone application on a Windows system using an InstallerOptions object.

Create an InstallerOptions object.

opts = compiler.package.InstallerOptions('ApplicationName','MagicSquare_Generator',...
    'AuthorCompany','Boston Common',...
    'AuthorName','Frog',...
    'InstallerName','MagicSquare_Installer',...
    'Summary','Generates a magic square.')
opts = 

  InstallerOptions with properties:

           RuntimeDelivery: 'web'
           InstallerSplash: 'C:\Program Files\MATLAB\R2024b\toolbox\compiler\packagingResources\default_splash.ico'
             InstallerIcon: 'C:\Program Files\MATLAB\R2024b\toolbox\compiler\packagingResources\default_icon_48.ico'
             InstallerLogo: 'C:\Program Files\MATLAB\R2024b\toolbox\compiler\packagingResources\default_logo.png'
               PackageType: 'auto'
           AdditionalFiles: {}
     AddRemoveProgramsIcon: ''
                AuthorName: 'Frog'
               AuthorEmail: ''
             AuthorCompany: 'Boston Common'
                   Summary: 'Generates a magic square.'
               Description: ''
         InstallationNotes: ''
                  Shortcut: ''
                   Version: '1.0'
             InstallerName: 'MagicSquare_Installer'
           ApplicationName: 'MagicSquare_Generator'
                 OutputDir: '.\MagicSquare_Generator'
    DefaultInstallationDir: 'C:\Program Files\MagicSquare_Generator'
                   Verbose: 'off'

Pass the InstallerOptions object as an input to the function.

compiler.package.installer('mymagic.exe','requiredMCRProducts.txt','Options',opts)

Input Arguments

collapse all

Build results, specified as a compiler.build.Results object. Create the Results object by saving the output from a compiler.build function.

List of files and folders for installation, specified as a character vector, a string scalar, a cell array of character vectors, or a string array. These files are typically generated by the mcc command or a compiler.build function and can also include any additional files and folders required by the installed application to run. Additional files are installed in the installation directory along with the application executable.

  • Files generated in a particular release can be packaged using the compiler.package.installer function of the same release.

  • Files of type .ctf on one operating system can be packaged using the compiler.package.installer function on a different operating system, as long as the build command and the compiler.package.installer function are from the same release.

Example: {'mymagic.exe','UsageNotes.txt'}

Data Types: char | string

Path to the requiredMCRProducts.txt file generated by MATLAB Compiler™.

Example: 'D:\Documents\MATLAB\work\MagicSquare\requiredMCRProducts.txt'

Data Types: char | string

Name of the installed application, specified as a character vector or a string scalar.

Example: 'MagicSquare_Generator'

Data Types: char | string

Installer options, specified as an InstallerOptions object.

Name-Value Arguments

Specify optional pairs of arguments as Name1=Value1,...,NameN=ValueN, where Name is the argument name and Value is the corresponding value. Name-value arguments must appear after other arguments, but the order of the pairs does not matter.

Before R2021a, use commas to separate each name and value, and enclose Name in quotes.

Example: 'Version','9.5' specifies the version of the installed application.

Additional files and folders to be installed with the application, specified as a character vector, a string scalar, a string array, or a cell array of character vectors. Paths can be relative to the current working directory or absolute.

Example: 'AdditionalFiles',["myimage.png","data.mat"]

Data Types: char | string | cell

Add or remove programs icon, specified as a character vector or string scalar. The image is used as the icon in the list of Windows applications within settings. Paths can be relative to the current working directory or absolute.

The default path is:

'matlabroot\toolbox\compiler\packagingResources\default_icon_48.png'

Example: 'AddRemoveProgramsIcon',"win_icon.png"

Data Types: char | string

Name of installed application, specified as a character vector or a string scalar.

Example: 'ApplicationName','MagicSquare_Generator'

Data Types: char | string

Name of company that created the application, specified as a character vector or a string scalar.

Example: 'AuthorCompany','Boston Common'

Data Types: char | string

Email address of the application author, specified as a character vector or a string scalar.

Example: 'AuthorEmail','frog@example.com'

Data Types: char | string

Name of application author, specified as a character vector or a string scalar.

Example: 'AuthorName','Frog'

Data Types: char | string

Default directory where you want the installer to install the application, specified as a character vector or a string scalar.

If no path is specified, the default path for each operating system is:

Operating SystemDefault Installation Directory
WindowsC:\Program Files\appName
Linux®/usr/appName
macOS/Applications/appName

Example: 'DefaultInstallationDir','C:\Users\MW_Programs\MagicSquare_Generator'

Data Types: char | string

Detailed description of the application, specified as a character vector or a string scalar.

Example: 'Description','The MagicSquare_Generator application generates an n-by-n matrix constructed from the integers 1 through n2 with equal row and column sums.'

Data Types: char | string

Notes about additional requirements for using application, specified as a character vector or a string scalar.

Example: 'InstallationNotes','This is a Linux installer.'

Data Types: char | string

Path to an image file used as the icon for the installed application, specified as a character vector or a string scalar.

The default path is:

'matlabroot\toolbox\compiler\packagingResources\default_icon_48.png'

Example: 'InstallerIcon','D:\Documents\MATLAB\work\images\myIcon.png'

Path to an image file used as the installer's logo, specified as a character vector or a string scalar. The logo will be resized to 112 pixels by 290 pixels.

The default path is:

'matlabroot\toolbox\compiler\packagingResources\default_logo.png'

Example: 'InstallerLogo','D:\Documents\MATLAB\work\images\myLogo.png'

Name of the installer file, specified as a character vector or a string scalar. The extension is determined by the operating system in which the function is executed.

Example: 'InstallerName','MagicSquare_Installer'

Path to an image file used as the installer's splash screen, specified as a character vector or a string scalar. The splash screen icon will be resized to 400 pixels by 400 pixels.

The default path is:

'matlabroot\toolbox\compiler\packagingResources\default_splash.png'

Example: 'InstallerSplash','D:\Documents\MATLAB\work\images\mySplash.png'

Path to folder where the installer is saved, specified as a character vector or a string scalar.

If no path is specified, the default path for each operating system is:

Operating SystemDefault Installation Directory
Windows.\appNameinstaller
Linux./appNameinstaller
macOS./appNameinstaller

The . in the directories listed above represents the present working directory.

Example: 'OutputDir','D:\Documents\MATLAB\work\MagicSquare'

Choice on the file type of the generated installer.

  • 'auto' — Option for installer to automatically select the suitable package type when creating the installer. If the installer size is 2GB or greater, the installer is packaged as a ZIP file. This is the default option.

  • 'zip' — Option to generate a ZIP file as an output when creating a new installer. This option is only supported on Windows.

Example: 'PackageType','zip'

Data Types: char | string

MATLAB Runtime delivery option, specified as one of the following:

  • 'web' — Option for the installer to download MATLAB Runtime from the MathWorks® website during application installation. This option is the default behavior.

  • 'installer' — Option to include MATLAB Runtime within the installer so that it can be installed during application installation without connecting to the MathWorks website. Use this option if you think your end user might not have access to the internet.

  • 'none' — Option to not install MATLAB Runtime during application installation. Use this option if you think your end user will install MATLAB Runtime using another method. (since R2024a)

Note

If you use either the 'web' or 'installer' option, the full MATLAB Runtime will be installed. To create a minimal MATLAB Runtime installer that can run one or more specific MATLAB Compiler applications, see compiler.runtime.customInstaller. (since R2024b)

Example: 'RuntimeDelivery','installer'

Data Types: char | string

Path to a file or folder that the installer will create a shortcut to at install time, specified as a character vector or a string scalar.

Example: 'Shortcut','.\mymagic.exe'

Data Types: char | string

Summary description of the application, specified as a character vector or a string scalar.

Example: 'Summary','Generates a magic square.'

Data Types: char | string

Version number of the installed application, specified as a character vector or a string scalar.

Example: 'Version','2.0'

Data Types: char | string

Flag to control output verbosity, specified as 'on' or 'off', or as numeric or logical 1 (true) or 0 (false). A value of 'on' is equivalent to true, and 'off' is equivalent to false. Thus, you can use the value of this property as a logical value. The value is stored as an on/off logical value of type matlab.lang.OnOffSwitchState.

  • If you set this property to 'on', then the MATLAB command window displays progress information indicating compiler output during the packaging process.

  • If you set this property to 'off', then the command window does not display progress information. This is the default behavior.

Example: 'Verbose','on'

Data Types: logical

Tips

  • The installer created by this function installs your MATLAB Compiler generated artifacts and optionally the full MATLAB Runtime. To create a minimal MATLAB Runtime installer that can run one or more specific MATLAB Compiler applications, see compiler.runtime.customInstaller.

Version History

Introduced in R2020a