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.

Create a new application in SCCM 2012

Choose ‘Manually specify the application information’. Click Next.

image001

Click Next

image003

Click Next

image005

Click the Add button

image007

Choose ‘Manually specify the application information’ again. Click Next.

image009

Enter a name for the deployment type and click Next.

image011

Enter the share location for the application source files and enter the command to execute the installation, in this instance wusa.exe Windows6.1-KB2533623-x64.msu /quiet /norestart. Click Next.

image013

Add in a detection clause for the application. Click Next.

image016

Choose your deployment criteria accordingly and click Next.

image019

Click Next all the way to the end of the wizard. You can now distribute the content to the DP ready for deployment to a collection or via a Task Sequence.

34 comments

  1. 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.

  2. Jim,

    Check the blog entry again. You do not use the browse button to set up the exe application. Being greyed out is standard behaviour once the ‘Manually Specify’ options are picked.

    1. 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.

  3. Thanks Paul, I will try file name and version.

    When I get back to the original ‘Create Application Wizard’ having created the Deployment Type, it shows the my new Deployment Type as Type: MSI. Is this correct or have I gone wrong somewhere?

  4. 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.

    thanks
    Nigel

  5. 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.

      1. 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?

  6. Nigel.

    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.

  7. Hi Paul,

    Could Please explain, how to “Add in a detection clause for the application” for KB2919355

    1.Path?
    2.File & folder name?

    I will be grateful if you can send me this information.

    1. In the Detection Method tab click the ‘Use a custom script to detect..’ check box. Then Edit and choose type PowerShell. In the Script Contents window type in get-hotfix | Where-Object {$_.HotFixID -match “KB2919355”}

  8. Hi Paul,

    How do we determine what the extension would be? /S or /Q or the whole word. I am trying to deploy .exe application on the client machine. Is there a way to find out?

    It’s a VLC player app.

    Thanks

  9. 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.

    That has done the trick for a couple of cases I’ve seen.

    In your example, the “install.cmd” script, will have:
    setup.exe -quiet -responsefile “response.properties”

    So it’s just a wrapper for what the command line needs to be.

  10. Hi Paul,
    When I create an Application in SCCM 2012, I normally have both Install.cmd and uninstall.cmd batch file. With the EXE file, how do I do the Uninstall?

    1. 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.

  11. Hello,

    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:

    Faulting application name: TGSETUP.EXE, version: 4.3.0.347, time stamp: 0x00000000
    Faulting module name: TGSETUP.EXE, version: 4.3.0.347, time stamp: 0x00000000
    Exception code: 0xc0000005
    Fault offset: 0x0001ad20
    Faulting process id: 0x884
    Faulting application start time: 0x01d21320c9d0c973
    Faulting application path: C:\WINDOWS\TEMP\TGSETUP0.TMP\TGSETUP.EXE
    Faulting module path: C:\WINDOWS\TEMP\TGSETUP0.TMP\TGSETUP.EXE
    Report Id: 09f66fb0-7f14-11e6-982f-00505680169d

    Any help troubleshooting this would be greatly appreciated.

    Thanks
    Arron

      1. The detection is only failing because the install does not take place, the wizard starts and shuts down before any files are copied, hence why the detection method fails.

        Is there any reason as to why the install wizard would shut down half way through the install on a 64bit client and not on a 32bit client.

      2. Thanks for that link, seems very useful. But that is not the application I am installing, unsure why tgsetup is referenced in the event log.

        I’m installing http://www.phidot.org/software/mark/, I’ve used that tool against the exe which confirms there are no silent install switches.

  12. Hi

    I tried to install slack desktop through sccm 2012 but no luck.

    Please help me.

    How to deploy slack.exe with sccm 2012?

Leave a Reply