InstallAware for Windows Installer
 

Building from the Command Line

InstallAware includes a command line build utility which you may use in batch files, automated build processes, or just plain from the command line. The utility is invoked as follows:

miabuild.exe <projectfile> [/o=<outputfolder>] [/b=<buildtype>] [/r] 
             [+qf | -qf] [+qr | -qr] [+qi | -qi] [+qib | -qib] 
             [/p=<password>] [/l=<language>] [/pr=<patch reference>]
             [/d=<logfile>] [/7=<grade>] [/nosign] [/a=<affinity>]
             [COMPILERVAR1=VALUE1 ... COMPILERVARN=VALUEN]

<projectfile>
        Full/partial path to the .MPR project file
/o
        Optional parameter, full/partial path to custom build output folder
/b
        Optional parameter, override default build type
        0: Uncompressed directory layout
        1: Compressed Single Self Installing EXE
        2: Compressed Web-Based EXE
        3: Patch
/r
        Optional parameter, indicates that a new revision code should be used for this build
qf
        Optional parameter, enables or disables MSI file component optimization (runtime performance)
qr      
        Optional parameter, enables or disables MSI registry component optimization (runtime performance)
qi      
        Optional parameter, enables or disables unstable MSIcode statement ID generation (build performance)
qib      
        Optional parameter, enables or disables partially stable MSIcode statement ID generation (blend)
/p
        Optional parameter, specifies the 256 bit AES encryption password to be used for this build
/l
        Optional parameter, specifies the default installer language to be used for this build
/pr
        Optional parameter, adds a patch reference to this build (may be specified more than once)
/d      
        Optional parameter, specify path to save full build output
/7      
        Optional parameter, override default compression grade
        0:  Store data uncompressed
        1:  Fastest compression using all CPU cores
        2:  Fast compression using all CPU cores
        3:  Good compression using up to 3 CPU cores
        4:  Best 32-bit compression using up to 2 CPU cores
        5:  Better 64-bit compression using up to 2 CPU cores
        6:  Best 64-bit compression using up to 2 CPU cores
        7   64-bit-only (1.5 GB dictionary) compression with binary optimization
        8   64-bit-only (1.5 GB dictionary) compression with heuristic optimization
        9   64-bit-only (2 GB dictionary) compression with binary optimization
        10  64-bit-only (2 GB dictionary) compression with heuristic optimization
        11  64-bit-only (3 GB dictionary) compression with binary optimization
        12  64-bit-only (3 GB dictionary) compression with heuristic optimization
        13  64-bit-only (4 GB dictionary) compression with binary optimization
        14  64-bit-only (4 GB dictionary) compression with heuristic optimization		
/nosign
        Optional parameter, skips code signing
/a
        Optional parameter, specifies CPU affinity mask as a bit vector representing logical CPUs
[COMPILERVARN=VALUEN]
        Optional parameter, compiler variable-value pairs for conditional compilation

The command line build utility returns the following codes to indicate success/failure:

  • 0: Build completed successfully
  • 1: Error during build, or user cancelled build
  • 2: Invalid command line parameters
  • 3: Unhandled fatal exception during build

 Notes

  • The command line build tool is not available with the InstallAware Express edition.
  • The command line build tool is not included in a minimum installation of InstallAware.
  • If you are installing the command line build tool without the main InstallAware IDE, keep in mind that you still have to install all required application runtimes and plug-ins that are required by your build, otherwise your builds will fail.
  • As of this writing, you may use the online calculator at https://bitsum.com/tools/cpu-affinity-calculator/ to calculate your CPU affinity mask. Enter the calculated value without any leading zeros or the 0x preamble.
  • The #BUILDTASKS# pre-defined compiler variable helps you override the number of CPU cores utilized by a Web Build, which works all your available cores by default as part of a single Web Build. For example, to specify two simultaneous build tasks, pass BUILDTASKS=2 on the command line. The actual number of CPU cores utilized by each simultaneous build task depends upon the compression algorithm being utilized.