Workplace Chat MSI

What is an MSI?

The msi is an installer package file format used by Windows used for installation, storage, and deletion of programs. The files are stored within a package, which is then used with the program’s client-side installer service to open and install the program.

How to use an MSI?

The system administrator of a company will typically deploy the msi via the Windows Server group policies (see screenshot) or through a third party software deployment tool.

The main idea is that an application will be automatically installed the next time a user logs in to their computer. This means that the application will automatically be installed without the need for an end-user, who might not have permissions to install applications, to run the executable manually.

How to deploy the Workplace Chat MSI for your organization by using group policies?

  • Download the Workplace Chat MSI
  • Copy the msi to a shared folder so that the installer can be deployed over the network
  • Open the Group Policy Management tool
  • Expand the Forest - Domains - <your domain>
  • Right click on <your domain> and select “Create GPO in this domain, and Link it here...”
  • Choose an appropriate name for the Group Policy and click on OK
  • Right click on the group policy that you've just created and click on “Edit”
  • Go to Computer Configuration - Policies - Software Settings - Software installation
  • Right click on software installation and select New - Package
  • Browse to the shared folder, select the Workplace Chat msi and click on “Open”
  • Close the Group Policy Management Editor
  • Right click on the group policy again and select “Enforced”
  • Open up a command line prompt and enter gpupdate /force to update the group policies
  • Restart the server when asked by the command line

Workplace Chat MSI deployment features

The installer:

  1. Installs an installer in program files.
  2. Sets a registry setting to run the installer on login.
  3. Optionally runs the installer. If you don't want this step (e.g. the MSI is running by some provisioning system across many PCs), then run with "START=N" e.g: msiexec /i WorkplaceChat.msi START=N
  4. By default the app will run on first start which we recommend, but you can disable it with msiexec /i WorkplaceChat.msi INSTALLEROPTS="/S" which runs the installer in silent mode.

Troubleshoot MSI issues

When you want to deploy an msi, you can use the msiexec to run a couple of commands in a terminal prior to deploying the msi in the group policies or third party deployment tool. The msiexec has the possibility to run install, display, restart and most importantly logging options.

Installation Options

  • /i - this will trigger a normal installation
  • /a - this will trigger an administrative install
  • /j - advertise the product
    • u - advertise to the current user
    • m - advertise to all users
    • /g - the language identifier used by the advertised package
    • /t - apply transform to advertise package
  • /x - uninstall the package
msiexec.exe [/i][/a][/j{u|m|/g|/t}][/x] <path_to_msi>

Display Options

  • /quiet - quiet mode (there is no user interaction)
  • /passive - unattended mode (the installation shows only a progress bar)
  • /q - set the UI level:
    • n - no UI
    • n+ - no UI except for a modal dialog box displayed at the end.
    • b - basic UI
    • b+ - basic UI with a modal dialog box displayed at the end. The modal box is not displayed if the user cancels the installation. Use qb+! or qb!+ to hide the [ Cancel ] button.
    • b- - basic UI with no modal dialog boxes. Please note that /qb+- is not a supported UI level. Use qb-! or qb!- to hide the [ Cancel ] button.
    • r - reduced UI
    • f - full UI
msiexec.exe /i [/quiet][/passive][/q{n|b|r|f}] <path_to_msi>

Restart Options

  • /norestart - the machine will not be restarted after the installation is complete
  • /promptrestart - the user will be prompted if a reboot is required
  • /forcerestart - the machine will be restarted after the installation is complete
msiexec.exe /i [/norestart][/promptrestart][/forcerestart] <path_to_msi>

Logging Options

  • /L - enable logging
    • i - include status messages
    • w - include non-fatal warnings
    • e - include all error messages
    • a - mention when an action is started
    • r - include action-specific records
    • u - include user requests
    • c - include the initial UI parameters
    • m - include out-of-memory or fatal exit information
    • o - include out-of-disk-space messages
    • p - include terminal properties
    • v - verbose output
    • x - include extra debugging information
    • + - append to an existing log file
    • ! - flush each line to the log
    • * - log all information, except for v and x options
msiexec.exe [/i][/x] <path_to_msi> [/L{i|w|e|a|r|u|c|m|o|p|v|x+|!|*}][/log] <path_to_log>