As any SCCM administrator will tell you, ConfigMgr does not offer the option to deploy EXE files in a direct manner like MSI files. Fortunately, working around that limitation is easy. I will use the Silverlight setup as an example in this article. This can be applied to any EXE setup file.
We will start by placing the Silverlight setup file in the System Center Library. Following that, go to Software Library, Applications and Create Application:
Note: Always dedicate a central share location to store all System Center files.
Choose the “Manually specify the application information” option in the wizard that appears and proceed to the next step. Fill the text as desired. An example for Silverlight is shown below:
Proceed to Application Catalog and fill out the additional details as needed. Be sure to specify a relevant icon as well. Continue to Deployment Types and click Add. We will create the Deployment Type as MSI deployment but we will use the EXE setup file of Silverlight.
Keep the default option of Windows Installer (.msi) and choose “Manually specify the deployment type information” option. Fill out the relevant information and continue to Content. Click browse next to Content Location and specify the location of the System Center Library share where the Silverlight package is present.
When you click the Browse button next to Installation Program, you will notice that you cannot select EXE as the file type. You can however directly type the EXE file name and SCCM will accept it. Proceed to do that and delete msiexec /i from the Installation Program parameters. Add any relevant switches to automate the installation as per your application documentation. For example, most InstallShield based setups allow you to run setup in record mode by using -r parameter. This will generate a .iss file can be used to automate the installation by specifying -s switch to play back the recorded installation.
You can also specify the uninstallation program should you need SCCM to uninstall this deployment in the future. Search the registry where the application is already installed to determine the proper uninstall commands.
An additional option to mention is Run installation and uninstall program as 32-bit process on 64-bit clients. This allows the installation to automatically determine where the files should go depending on Windows being 32-bits or 64-bits, for example to X:\Program Files or X:\Program Files (x86) if %ProgramFiles% is specified. Proceed to Detection Method.
You will need to determine how SCCM will detect if your application is installed or not. Detection clauses can use File or Folder detection, Registry Key detection or Windows Installer based detection. Any easy way to specify what will constitute the clauses is to search on a workstation where the application is already installed for the appropriate files and registry keys. You can add multiple detection clauses, group them together to specify evaluation order and combine them using logical operators (AND/OR).
A simple way to detect whether Silverlight in our example is installed or not is by detecting its installed files for our specific version:
Proceed to User Experience. Customize the settings as per your need and continue with the wizard. If any Requirements must be met for this application, such as specific Operating System version or free disk space, specify them in the Requirements section and proceed. If any dependencies are needed specify them here. More on Requirements, Dependencies, Supersedence and other settings in a later article. Finish the Deployment Type wizard and finish the Create Application wizard.
Your application is now ready to be distributed to Distribution Points and deployed to the required collections.
Additional general information about application deployment with SCCM can be found in this Technet article.