MSI (Microsoft Installer) packages enable school administrators to install, configure, update, or remove software across managed Windows devices. In Mobile Guardian, deploying an MSI app with custom command-line parameters allows school administrators to preconfigure application settings, enforce silent deployments, manage restart behaviour, and generate detailed installation logs without user intervention.
Standard Windows Installer switches (like /qn for silent mode) work universally, but custom parameters (e.g., license keys, server paths, or update settings) are unique to each software vendor. Before deploying, always check the vendor's official documentation to confirm their supported MSI properties.
- Case Sensitivity: Custom MSI properties must be entered in the exact case specified by the vendor (usually
ALL_CAPS). - Syntax: Incorrectly formatted parameters can cause the installer to skip your custom settings or fail entirely without throwing an error.
Default Mobile Guardian Behaviour
When deploying an MSI file via Mobile Guardian, the platform automatically applies standard switches to ensure a silent, unattended setup:
- /i – Executes a standard product installation.
- /quiet – Runs the installer silently in the background with zero user interaction or interface prompts.
Custom Installation Parameters
Vendors often expose specific MSI properties to customise installation directories, license keys, or feature sets.
- Specifying Target Directory:
Override the default file path using the INSTALLFOLDER property:
INSTALLFOLDER="C:\enterprise"
Interface (UI) Options
Modify or override how the installation wizard displays to the end user:
| Parameter | Description |
| /passive | Displays only an unattended progress bar during installation. |
| /qn | Completely silent installation (no user interface). |
| /qn+ | Runs silently but displays a completion modal when finished. |
| /qb | Displays a basic, progress-only user interface. |
| /qb+ | Displays a basic user interface followed by a completion modal. |
| /qb! or /qb-! | Displays a basic UI while disabling or hiding the Cancel button. |
| /qr | Displays a reduced user interface (minimal wizard dialogues). |
| /qf | Displays the full, standard interactive user interface. |
Device Restart Behaviour
Certain software packages require a system reboot when replacing files currently in use. Define how restarts are handled upon completion:
| Parameter | Description |
| /norestart | Suppresses any reboot requests; prevents the device from restarting post-install. |
| /promptrestart | Prompts the user to confirm whether to restart the device now. |
| /forcerestart | Automatically reboots the device immediately after installation finishes. |
Logging Options
Log parameters generate debugging output in an existing local directory, which assists in diagnosing failed installations. Use the format:
/L[flags] "C:\Path\To\Logfile.log"
Example: /L*V "C:\Logs\install.log” (Generates a comprehensive verbose log).
| Flags | Description |
| /li | Logs status and informational messages. |
| /lw | Logs non-fatal warning messages. |
| /le | Logs all fatal and non-fatal error messages. |
| /la | Logs action startup milestones. |
| /lr | Logs action-specific records. |
| /lu | Logs user requests and interactive prompts. |
| /lc | Logs initial UI parameters. |
| /lm | Logs out-of-memory or fatal exit notifications. |
| /lo | Logs out-of-disk-space notifications. |
| /lp | Logs terminal property values. |
| /lv | Enables verbose logging output. |
| /lx | Includes extra debugging information. |
| /l+ | Appends logged entries to an existing file instead of overwriting it. |
| /l! | Flushes each log line immediately to disk. |
| /l* | Logs all standard data (excludes verbose /lv and extra debug /lx). |
Update and Patching Options
Apply or manage software patches (.msp files) using these switches:
| Parameter | Description |
| /p | Applies an MSP patch file to an installed product. |
| /update | Specifies the list of patches to apply. |
| /package | Installs or configures an MSI product package. |
Repair Options
Target and repair specific corrupted components of an existing installation:
| Parameter | Description |
| /fp | Reinstalls only if a file is missing. |
| /fo | Reinstalls if a file is missing or if an older version is present. |
| /fe | Reinstalls if a file is missing, older, or matching the current version. |
| /fd | Reinstalls if a file is missing or any different version is detected. |
| /fc | Reinstalls if a file is missing or fails its checksum validation. |
| /fa | Force-reinstalls all application files regardless of status. |
| /fu | Restores required user-specific registry entries. |
| /fm | Restores required computer-wide (HKLM) registry entries. |
| /fs | Repairs missing or broken application shortcuts. |
| /fv | Re-caches and validates the package from the source. |
Deployment Best Practices
- Parameter Separation: Separate multiple arguments with a single space.
/qb /norestart /L*V "C:\Logs\app_install.log"
- Avoid Conflicting Switches: Do not combine conflicting flags (e.g., combining /qn and /qf, or /norestart and /forcerestart), as this can lead to unpredictable installer failures.
- Testing: Vendor implementations of MSI properties and supported switches vary. Always deploy and validate the command string on a test device before pushing the application in bulk to production groups.