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.
Click Next
Click Next
Click the Add button
Choose ‘Manually specify the application information’ again. Click Next.
Enter a name for the deployment type and click Next.
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.
Add in a detection clause for the application. Click Next.
Choose your deployment criteria accordingly and click Next.
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.
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.
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.
Thank you so much for your blog. Very helpful!
No problem Shaun. Glad it helped.
Very useful blog, thanks. Please could you give some advice about suitable detection clauses?
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.
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?
This is correct. It will show as Windows Installer (*.msi).
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
Nigel,
Try the command setup.exe -quiet -responsefile “%~dp0response.properties”
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.
Really? Hmm. You could run this all via a script and copy the response file somewhere local and call from there or even call from a share.
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?
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.
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.
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”}
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
Try itninja.com’s knowledge base
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.
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?
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.
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
Arron, TBH you might be better creating a package for this .exe installation. If the detection is failing then a package will not require a detection method.
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.
Not that i know of.
However Arron if this is the application you are installing http://en.osdn.jp/projects/sfnet_toetsgen/downloads/Toetsgen%200.2/Toetsgen%20setup/tgsetup.exe/ then the following will run a silent install
tgsetup.exe /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /SP
I used https://deployhappiness.com/the-ultimate-exe-silent-switch-finder/ to find that information. Just installed on my machine with no prompts.
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.
Arron. I just ran setup.exe /s and it installed silently
Yes, but it will not install on top of older versions of the same software. Have tried /s/f, still no luck.
Hi
I tried to install slack desktop through sccm 2012 but no luck.
Please help me.
How to deploy slack.exe with sccm 2012?