Tuesday, February 14, 2017

Silent install of Installshield applications in SCCM

I have had Installshield applications come up time and again, and not much documentation (or few and far between) based on how to silently install them.  Therefore here is my tutorial on how to silently install them properly with ConfigMgr.

1. Identify if the application is InstallShield-based or not.  You can do this usually by running the setup or installation exe file manually.  If the setup wizard says InstallShield, you're golden.


2. Copy the Installshield application source file(s) to your SCCM file share.  Most of the time, they will have a setup.exe and no MSI file, although there are sometimes MSI files alongside the setup executable - it's usually better to follow this tutorial than add the MSI file due to extra requirements needed by the application's setup.
3. Install the application in "Record" mode.  This is done to generate a setup.iss file.  Open a command prompt in the folder of the application's source files.  To do this, open an Explorer window, navigate to your SCCM server's file/application share, then to the folder of the application source files.  Hold Shift, then right-click a blank area of the folder, then click Open command window here.   Type the following at the cmd prompt:
setup.exe -r
4. Install the application as you would normally for every user in Record mode.  When the application setup finishes, the setup.iss file is generated and placed in the C:\Windows folder of the computer it installed on.  Copy this file to your application's source files folder on the SCCM share.
5. Create an installation bat file with the following (general) contents:
setup.exe -s -f1".\setup.iss" -f2"%TEMP%\Appinstall.log"
Save the file as install.cmd (or install.bat) into your SCCM's application share folder.  This install.bat can be run normally to perform a silent (unattended) install of the application.
6. Add the application using the SCCM Console.  Be sure to specify it as a Script installer when adding the application.  For the command line, enter install.cmd (or install.bat).
7. Determine the Detection Method.  This can be based on MSI (if there was an optional MSI with the application), or on Registry key.  I have had to do a few Registry detection methods loosely based on the following:
8. Finish the Add Application wizard, then deploy to a Collection.  I usually deploy to a test collection to install from Software Center before deploying to any others.

If there are any install errors in Software Center, check the log file on the endpoint by opening the %TEMP%\Appinstall.log file generated from the installation (specified in Step 5).