SCCM Tips. Fixes and Guides

Deploying .exe files via SCCM 2012

The choices for application type in SCCM 2012’s Application drop down does not include an option to install .exe. There’s a way around this to get an exe file deployed.

In the following example I will actually be deploying a Microsoft Hotfix (KB2533623) which is really an .msu file. However the command to deploy the hoftfix is wusa.exe Windows6.1-KB2533623-x64.msu /quiet /norestart so I am referencing an .exe for the installation.

34 thoughts on “Deploying .exe files via SCCM 2012”

In both cases, when I select “Manually specify” it grays out the browse box. I managed to get to a selection drop down but the only option was MSI. In order to get around that I had to use type as “Script installer” which allowed me to pick an EXE rather than msi.

Nigel. It all depends what you are installing. Personally I would install the application manually onto a test device. You can then browse to the computer and find the file that runs the program. Then filter on something like version number.

Hi Paul – The problem I’ve got now is that my program command line references a response file:

setup.exe -quiet -responsefile

It fails without the full local path for that file (setup.exe -quiet -responsefile “response.properties”).
But it works with the full path (setup.exe -quiet -responsefile “C:\Windows\ccmcache\66\response.properties”)

However, the content id folder in ccmcache (such as ’66’) varies from computer to computer.
I have tried referencing a copy of the response file on a consistent network location, but it seems that response files do not support unc paths.

I would really appreciate any ideas you have to get around this conundrum.

Sadly, that does not work either.
An alternative suggestion to %~dp0 is .\ but that fails too.
I have checked inside the response file and it does not encode any path for the file.
I have also confirmed the original command line does work ok with a response file path for either the local C partition or the local D partition.

I have done a script as you advised, which works when run manually. I am waiting for the ‘update content’ to complete before testing in SCCM.
I added a second deployment type to the application: it uses a vbscript to increase the ccmcache max size limit because the application content is larger than the default 5120 MB. Now I am uncertain what I need to update – update content for both deployment types one by one, update both at same time, or do I need to redistribute the whole application?

When you create the second deployment type it will automatically update the content to the assigned DP’s for the application. If you make a change to the source of one of the deployments then running an update content on that deployment will push out that change to the DP you do not need to update both deployments.

Hi there Paul,
Just a comment to Nigel. Something that has worked for me while using response files with .exe installers, is creating a single liner .cmd (batch) file with the same command you’d use as “Installation Program” input field.

Hanson, You need to find the uninstall string for the .exe you are deploying then enter this in the Uninstall field. Then when you come to create a deployment you have a drop down option to Install or Uninstall.

I’m having trouble deploying an exe to 64bit machines, I’ve created the deployment as detailed above which works perfectly on 32bit machines.

The executable I’m using will not run as a silent install, so have set the logon requirement to “only when a user is logged on”, the installation visibility to maximum and ticked the option to allow users to interact with the program; so the users run through the GUI themselves. I’ve ensured the option to “run installation an uninstall program as 32bit process on 64bit clients” is selected. I’ve not passed in any command line switches to the exe and can confirm the exe runs fine on a 64bit client when called with a bat file.

The package is picked up in the software center, I begin the install, run through the wizard (on a 64bit client), the package asks if you would like to install within “Program file(x86)” and on clicking next (at this point the installation would start on a 32bit client) the wizard closes and the software center shows the package as failed.

I’ve checked the AppEnforce log and the install exits with exit code 0, but then fails detection. The Windows application event log gives the below entry: