You can run a manifest manually, or as part of an installation.
Manually
In the %SYS namespace, enter the following command in the Terminal:
%SYS>do ##class(MyPackage.MyInstaller).setup()
You can pass an array of variables to the setup() method by reference. Each subscript is used as a variable name, and the node as the value. For example:
%SYS>set vars("SourceDir")="c:\myinstaller"
%SYS>set vars("Updated")="Yes"
%SYS>do ##class(MyPackage.MyInstaller).setup(.vars,3)
The second argument in this example (3) is the log level.
During Installation
Export the manifest class as DefaultInstallerClass.xml to the same directory where the InterSystems IRIS install (either .msi, setup_irisdb.exe, or irisinstall) is run. It is imported into %SYS and compiled, and the setup() method is executed.
Note:
Make sure that the user running the installation has write permission to the manifest log file directory. The installation does not proceed if the log file cannot be written.
In addition, if you are installing with a single-file kit, you will need to extract the files from the .exe file into the installation directory to get the expected behavior.
Note that if you use the export technique, you cannot pass arguments directly to the setup() method. The following sections describe how to pass arguments on Windows or on UNIX®, Linux, and macOS:
On Windows
You can modify the .msi install package to pass variable name/value pairs to the setup() method.
You can also use command-line arguments with the installer to pass the location of the exported manifest class, variables, log file name, and log level, as shown in the following example:
setup.exe INSTALLERMANIFEST="c:\MyStuff\MyInstaller.xml"
INSTALLERMANIFESTPARAMS="SourceDir=c:\mysourcedir,Updated=Yes"
INSTALLERMANIFESTLOGFILE="installer_log" INSTALLERMANIFESTLOGLEVEL="2"
Note:
Variable names passed using the INSTALLERMANIFESTPARAMS argument may contain only alphabetic and numeric characters (A-Za-z0-9) and underscores (_), and may not start with an underscore.
For more information, see the Command Line Reference section in the “Installing InterSystems IRIS on Microsoft Windows” chapter of this book.
On UNIX®, Linux, and macOS
On UNIX®, Linux, and macOS systems, you can set environment variables to define the location of the exported manifest class, variables, log file name, and log level prior to running either irisinstall or irisinstall_silent, as shown in the following example:
ISC_INSTALLER_MANIFEST="/MyStuff/MyInstaller.xml"
ISC_INSTALLER_PARAMETERS="SourceDir=/mysourcedir,Updated=Yes"
ISC_INSTALLER_LOGFILE="installer_log"
ISC_INSTALLER_LOGLEVEL="2"
./irisinstall
For more information, see the Unattended Installation Parameters section in the “Installing InterSystems IRIS on UNIX®, Linux, and macOS” chapter of this book.