Installing Porter [for Administrators]

Command line installation

Silent local installation

SWING Porter can be deployed using a silent installation which requires the SWING Porter MSI package that can be downloaded from SWING Software's website.

Here is an example of a silent installation command line (MUST be administrator): msiexec /i /quiet /qn /log LICENSE_KEY="<license_key>" CONVERSION_PROFILE_DIR="<path_to_dir>" GENERAL_SETTINGS_PATH="<path_to_dir>" <path_to_porter_msi_package>

Options description:

/quiet tells installer that no user interaction is required. /qn tells installer not to show installation interface. /log tells installer to generate installation log in provided directory. Log can have any file name. LICENSE_KEY tells installer to apply product license key for automatic activation. License key MUST be quoted.

CONVERSION_PROFILE_DIR tells installer to use centralized conversion profile storage. Find out more here: How to extract conversion profiles / general settings? Conversion profile storage directory MUST be accessible to all users as profiles are not copied to user machines. Also, path MUST be quoted. Path MUST NOT end with path separator '\'.

GENERAL_SETTINGS_PATH tells installer to use centralized / managed application general settings. Find out more here: How to extract conversion profiles / general settings? General settings storage directory MUST be accessible to all users as general settings are not copied to user machines. Path MUST be quoted. Path MUST NOT end with path separator '\'. This option disables SWING Porter general settings page for users.

Stated command line can be added to .bat file, shared across computers and executed.

For more information on msiexec options, check the following link: https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/msiexec

Distributed installation

Let's assume that SWING Porter msi file is stored on company storage server's shared drive and SWING Porter should be silently installed on user's machine. For demonstration purposes:

  • ACMEDOMAIN - Company domain name.

  • ACMEDOMAIN\Administrator- Company domain administrator account.

  • MtEverest123 - Company domain administrator password.

  • \\JOHNPC- Domain user's machine, John.

  • \\StorageServer\Software\SWING Porter\swing-porter-for-outlook.msi - Network path to SWING Porter msi.

  • 0000111100002222000033330000444- SWING Porter license key.

  • \\StorageServer\Software\SWING Porter\Conversion profiles - Conversion profiles storage directory.

  • \\StorageServer\Software\SWING Porter\General settings - General settings storage directory.

Recommended approach is using the PsExec tool which act's as a terminal allowing remote application execution.

PsExec does not ship with Windows and it can be downloaded here.

Here's the command line that installs SWING Porter from network share to John's machine:

psexec64 -i \\JOHNPC -u "ACMEDOMAIN\Administrator" -p "MtEverest123" cmd /c "msiexec.exe /i "\\StorageServer\Software\SWING Porter\swing-porter-for-outlook.msi" /quiet /qn CONVERSION_PROFILE_DIR="\\StorageServer\Software\SWING Porter\Conversion profiles" GENERAL_SETTINGS_PATH="\\StorageServer\Software\SWING Porter\General settings" LICENSE_KEY="0000111100002222000033330000444""

Centralized network installation

SWING Porter MSI package can be deployed using Group Policy in Windows Server 2012 and Windows Server 2016. SWING Porter is using AdvancedInstaller for packaging and deployment and article on how to deploy MSI package using GPO can be found here.

Sometimes, it is also needed to deploy license key and/or conversion profiles and settings together with core installation package. This can be done by creating a batch script that will execute MSI package installation with additional parameters. Such a batch script can then be used in Group Policy Logon scripts or scheduled tasks.

Following batch script variables should be set to correct values:

  • PORTER_MSI_PATH - path to SWING Porter installation MSI package (usually on a network shared folder, that required users can access)

  • LICENSE_KEY - product license key

  • SETTINGS_DIR - path to folder where general-settings.xml file is located

  • PROFILES_DIR - path to folder where conversion-profiles.xml file is located

@ECHO off

SET PORTER_MSI_PATH="\\SHARE01\Porter for Outlook\swing-porter-for-outlook-1.80.002.msi"
SET LICENSE_KEY="11111111111111111111"

SET SETTINGS_DIR="\\SHARE01\Porter for Outlook"
SET PROFILES_DIR="\\SHARE01\Porter for Outlook"

ECHO SWING Porter for Outlook

SET KEY_NAME_USER="HKEY_CURRENT_USER\SOFTWARE\SWING Software\SWING Porter for Outlook"
SET KEY_NAME_MACHINE="HKEY_LOCAL_MACHINE\SOFTWARE\SWING Software\SWING Porter for Outlook"

SET PORTER_VERSION=%PORTER_MSI_PATH:~-13%
SET PORTER_VERSION=%PORTER_VERSION:~0,8%

SET APP_VERSION=~

:app_version_user
FOR /F "usebackq tokens=2,* skip=2" %%A IN (
    `reg query %KEY_NAME_USER% /v AppVersion 2^>nul`
) DO SET APP_VERSION=%%B

IF [%APP_VERSION%]==[] GOTO app_version_machine ELSE GOTO verify_installation

:app_version_machine
ECHO Getting version from machine key
FOR /F "usebackq tokens=2,* skip=2" %%A IN (
    `reg query %KEY_NAME_MACHINE% /v AppVersion 2^>nul`
) DO SET APP_VERSION=%%B

:verify_installation
ECHO Verifying installation...
IF %APP_VERSION%==%PORTER_VERSION% (ECHO Application already installed) ELSE (GOTO install)
GOTO exit

:install
ECHO Installing application: %APP_VERSION% ^> %PORTER_VERSION%
msiexec.exe /i %PORTER_MSI_PATH% /quiet /qn LICENSE_KEY=%LICENSE_KEY% CONVERSION_PROFILE_DIR=%PROFILES_DIR% GENERAL_SETTINGS_PATH=%SETTINGS_DIR%
::msiexec.exe /i %PORTER_MSI_PATH% /quiet /qn LICENSE_KEY=%LICENSE_KEY% /l* "D:\Temp\porter-deployment.log"
IF errorlevel 1 GOTO error
GOTO exit

:error
ECHO Error ocurred!
GOTO exit

:exit
ECHO Successfully finished!

Last updated