InstallSheild Setup - How to install, uninstall, and log silently

This is the 2nd of my Packager-Specific Tips & Tricks articles.
InstallShield Setup is a script-based installer by Flexera (Yes, they bought out InstallShield)
It creates self-contained EXE packages but MAY contain or launch MSI files as well

InstallShield INSTALL EXAMPLES

Launch InstallShield Setup.exe with MSIs, send ALLUSERS=1 to the MSI, force log files to the logging folder.

#Identification: when launched manually, the dialogs boxes have "InstallShield Wizard" in their title 
#To Use " in the log path, InstallShield needs \" but PowerShell needs to escape the " so we end up with \`"
# NOTE: -SMS switch is for InstallShield Setup.exe to suppress error popups if an issue occurs. Otherwise InstallShield will hang
#		waiting for the user to click a OK button that is not displayed because Setup.exe is running as SYSTEM!
Execute-Process -Path "setup.exe" -Parameters "/s /v`"ALLUSERS=1 /qn /L* \`"$configToolkitLogDir\$installName.log\`"`" -SMS"

Launch InstallShield Setup.exe using defaults (NO MSIs inside). Force log files to the logging folder

# NOTE: -SMS switch is for InstallShield Setup.exe to suppress error popups if an issue occurs. Otherwise InstallShield will hang
#		waiting for the user to click a OK button that is not displayed because Setup.exe is running as SYSTEM!
#NO MSI HERE!
Execute-Process -Path "setup.exe" -Parameters "-s -f2`"$configToolkitLogDir\$installName.log`" -SMS"

Launch InstallShield Setup.exe with a response file (NO MSIs inside). Force log files to the logging folder

# NOTE: -SMS switch is for InstallShield Setup.exe to suppress error popups if an issue occurs. Otherwise InstallShield will hang
#		waiting for the user to click a OK button that is not displayed because Setup.exe is running as SYSTEM!
Execute-Process -Path "setup.exe" -Parameters "-s -f1`"$DirFile\install.iss`" -f2`"configToolkitLogDir\$installName.log`" -SMS"

.
InstallShield UNINSTALL EXAMPLES

Uninstall using response file (NO MSIs inside). Force log files to the Temp logging folder

# NOTE: -SMS switch is for InstallShield Setup.exe to suppress error popups if an issue occurs. Otherwise InstallShield will hang
#		waiting for the user to click a OK button that is not displayed because Setup.exe is running as SYSTEM!
Execute-Process -Path "setup.exe" -Parameters "-s -f1`"$DirFile\uninstall.iss`" -f2`"$configToolkitLogDir\$installName.log`" -SMS"
3 Likes

Thanks for sharing this! Much appreciated.

1 Like

Thank you for putting this together, very helpful

1 Like