Wednesday, 20 March 2013

ConfigMgr 2012 / SCCM 2012 SP1 Step by Step Guide Part 19: Software Distribution - EXE

Back to main menu

Part 18 of the guide described the process to create and deploy an Config Mgr Application using an MSI file. It was pretty straightforward as Config Mgr was able to interrogate the MSI and discover the following information:
  • installation switches for silent install
  • Windows Installer file details - to be used in the detection method.
Unfortunately, if the application is to be installed using an executable file (.EXE) you must carry out some manual steps to configure the above information. We will manually configure a deployment type with the installation switches (we need to know these in advance) and we will manually create the detection method based on the presence of a file.

Microsoft Lync 2010 is an example of an application that is installed using an EXE file

As before right click on Application (or create a custom folder and right click that). Select Create Application.


Select "Manually specify the application information"


Enter Application details



Now we must manually configure the deployment type. This will allow us to enter installation parameters and switches. Click Add to add a deployment type.

This open the Create Deployment Type Wizard (note that the Create Application Wizard is still visible in the background)



Choose to manually specify the deployment type

Edit: ConfigMgr 2012 SP1 has introduced "Script Installer (Native)" as a deployment type. Select this from the drop-down menu. Note that "Manually specify the deployment type" remains selected.



Enter the Application name



Enter the location of the program files and configure the installation parameters. We know that "lyncsetup.exe /silent" is correct from previous testing.



This is where we will manually configure a detection method. In the case of Lync 2010, the presence of the file "communicator.exe" is evidence that the application is installed on a device. We will use this as our detection method. Note that it is a good idea to manually install the application on a test device so that we can browse to it in the next step.

Select Add Clause.



Choose File System as the Type (check out the available choices).

Browse to the test computer and select the path to "communicator.exe"



Detection method is now configured.



Ensure that we are installing for system






The Deployment Type Wizard has now been completed. We have configured the deployment type and detection method.

Click Close to return to the Create Application Wizard (which has been waiting in the background).



Note that our deployment type has been added.

Click Next to finish




The Application has now been created and can be distributed and deployed.

67 comments:

  1. THANK YOU!! followed the guide and voila :)


    T.

    ReplyDelete
  2. Is this same concept the same for Lync 2013?

    ReplyDelete
  3. It's the same concept for any .exe installation. You just need to know the silent parameter and determine a detection method. But in answer to your specific question, Lync 2013 no longer has it's own separate installer. It's part of Office 2013 (as far as I know).

    ReplyDelete
    Replies
    1. Gerry, should we have any permissions or account needs to be added on application folder where all application and program exists? Thanks

      Delete
    2. Give the Primary Site Server computer account Full Control over the source files and you will be OK (share & NTFS).

      Delete
  4. Dear Gerry
    could you please give us guide about how to remove application from SCCM
    Thanks

    ReplyDelete
  5. This is pretty straightforward. In this case you create an application with a Deployment Type that contains an uninstall string. Then deploy it to a collection of computers where you want the app to be removed.

    ReplyDelete
  6. this if the application installed on the client computers .. some times we need to remove the application before deploy it on the computers

    ReplyDelete
  7. Are you saying that you have deployed an application in error and want to stop it before it installs on computers? In that case, you just delete the deployment (no need to delete the application). If computers have not retrieved their policy at that stage they will not get the application. If they have, you're too late.

    Another thing you can do is remove the application from the DP. If computers can't download it they can't install it.

    ReplyDelete
  8. @Gerry Hampson, Followed your steps and on the client computer it said downloading...installing but then said failed. I logged off and logged back on and lync opened right up and all the program files were present and it was functioning. Have you ever saw this behavior before? We tried this deployment of an .exe with VLC through SCCM 2012 and we got the same thing. It said it failed, but it was actually installed.

    ReplyDelete
    Replies
    1. That can happen for a number of reasons:
      1. The detection method is wrong
      2. The installer is poorly written and exits too early so that the detection method runs before it's value can actually equal true (i.e. Detecting on a reg key, the installer exits before the reg keys get written, then the detection method can't equal true)
      3. The installer exited with an exit code other than 0 that is not specifically designated in your exit codes tab.

      The best way to troubleshoot the install failures is to check the "Deployments" workspace on the console. Once the clients report back their status on the deployment it will tell you what the exit code was along with some helpful information on what type of error message came out.

      Delete
  9. I've never seen that before. Try opening a thread on the Config Mgr 2012 Technet Forum. Perhaps someone will have seen the behaviour.

    http://social.technet.microsoft.com/Forums/en-US/category/systemcenter2012configurationmanager

    ReplyDelete
  10. What if i have to run "Lync.msp" after "LyncSetup"? How command would look then?

    ReplyDelete
  11. What exactly are you trying to do? Does this help you?

    ReplyDelete
  12. My relatives аlways say that I аm wastі&X6E;g
    my time hеre at wеb, hο&X77;ever I kniw I am getting experience daily
    b&X79; rеadіng such pleaѕant articles.


    My page: nikon d300 pictures flickr

    ReplyDelete
  13. Dear Gerry ... kindly.. your post address is (Software Distribution) and when you apply your steps .. you used application could you please tell use the different between package and application under application managed and the recommendations used....thanks

    ReplyDelete
  14. Have a look at this post from Technet forum

    http://social.technet.microsoft.com/Forums/en-US/af559d41-546d-4b59-9906-305ce6f68859/difference-between-an-application-and-a-package?forum=configmanagerapps

    ReplyDelete
  15. Hi Gerry:

    I am deploying an application through multiple domains. The source installation programs are already copied at the remote locations. In SCCM 2007 I deployed this app using packages, the package just contain a .cmd file with many instructions to install the application. Once tha package was distribuited to the remote distribution points I used to go to the package directory and modify the parameters of the .cmd file, adjusting them to the correct domain.

    In SCCM 2012 when I go to the package directory and I edit the .cmd file, the content of the file is encripted. I can not edit the content of the file to adapt it to a particular domain where the application will be installed.

    Is this the new behavior in packages in SCCM 2012? How can I modify the content of the .cmd deployed?

    ReplyDelete
    Replies
    1. This is the new behavior of SCCM 2012 - the Content Library. This was designed to facilitate single-instance storage of content. It is not actually encrypted. However you cannot browse and edit content in the way you could in SCCM 2007.

      Delete
  16. Hi,

    I tried to deploy .exe application (firefox) as a test but it got struck in downloading part and even after 10 hrs its downloading 0%. what m i missing.

    ReplyDelete
    Replies
    1. That normally happens if you have not configured a boundary group. You need to create a boundary group and add your required subnets to it. Then you need to associate a Distribution Point with those boundaries.

      See here:
      http://www.gerryhampsoncm.blogspot.ie/2013/02/sccm-2012-sp1-step-by-step-guide-part-6.html

      Delete
  17. Hello, the Windows 7 OS and Config manager deploys just fine, I cannot get any additional software to install such as Firefox Adobe Reader, etc. There are no erros ion the STMS logs, the programs are not being downloaded to the target computer, any suggestions? Thanks?

    ReplyDelete
  18. Can you deploy the additional software to a computer that is already built?
    Are you sure that the software is available on a DP?
    Have you migrated from ConfigMgr 2007 - is this a boundary issue?
    Are your deployment types OK - especially the detection methods?

    ReplyDelete
  19. Hi Gerry. Even though I select the available option, rather than required in the deployment, my exe installs happen automatically. Looking in System Center Software Center on the client the install is already listed in the Installed software tab. Any ideas why please? Thanks

    ReplyDelete
    Replies
    1. Are you sure you haven't got more than one deployment?

      Delete
  20. Hi Gerry,

    Have followed the directions (Thanks!) but with every exe I install through SCCM, it downloads and then is stuck on "Installing" until the timeout window. This does not occur with an msi. Any suggestions?

    ReplyDelete
    Replies
    1. There is something wrong with the installation parameters for your .exes. The first step in this is to figure out how to install your applications (.exes) silently. In your case the application is probably waiting for some user input, which you can't see as it's running in local system context. MSIs are easy. ConfigMgr can interrogate the MSI and figure out the silent parameters. Exes not so easy. You have to figure out and manually configure it.

      Tip: I always test by installing the application silently via command line before I attempt to deploy it with ConfigMgr.

      Delete
  21. Hi Gerry,
    Thank you for sharing your knowledge, I followed the steps and was able to deploy my application. However, I forgot that my applications requires a license key and was wondering if you have information on how to include the license key in the deployment. I appreciate your time and knowledge.

    Thank you once again,
    -DNA

    ReplyDelete
    Replies
    1. Sorry for the late response. I've been on vacation. The first step in application deployment via SCCM is to figure out how to install the application silently (ie what installation switches are required?). If the installation requires a license key you need to figure out how to incorporate this into the installation command line. All apps are different. You need to contact the app vendor for this information.

      Delete
    2. Thank you Gerry, I will contact the vendor. I was able to accomplish a lot since my question. Now it's just a matter of getting the license key reference and I should be ready to roll! Thanks for your assistance. Hope you had a great vacation!

      Delete
  22. hi Gerry,

    i followed your steps and im seeing the app (lync) in the software center but its giving me an error that says "The software change returened error code 0x87D01106 (-2016407290)."

    in the status of the software center im getting Past due - will be retried.

    any suggestions?

    Thanks

    ReplyDelete
    Replies
    1. 0x87D01106 = Failed to verify the executable file is valid or to construct the associated command line.

      There must be something wrong with the syntax of your command line.

      Delete
    2. I'm seeing this error message as well on a 3rd computer after successfully installing the application on 2 previous computers. Syntax of the command is fine.

      Delete
  23. Same error here on 10 workstations, after success on 30.

    ReplyDelete
    Replies
    1. The example above is for Lync 2010 and it assumes that you do not have Office 2013 installed (Lync is now part of the Office installation). This has introduced another level of complexity.

      Delete
  24. Hi Gerry,

    Thanks again for a great article. I am successfully deploying applications now. One query I have is for an application that is regularly updated and the update requires an uninstall prior to the update. I have set the version requirement as part of the validation logic so I can install the application but how would I go about setting a process to remove the old version and replace it with the new? Is this under supercendence rules?

    Thanks
    Chris

    ReplyDelete
    Replies
    1. Configure a dependency Chris.
      Deployment Type > Dependencies tab

      Delete
    2. Thanks Gerry, I will give that a try and feed back.

      Delete
    3. Hi Gerry, great that worked thanks! One last thing (hopefully) - I want to be able to give the user access to reinstall the software, where is this option? Some history, 4 users out of 50 have had the app installed and then the files in the folder disappeared, the other 46 were fine. There is no way I can see to push the app to them again as it shows as installed in add/remove programs. I thought that if they had the option to reinstall or repair the install it would make my life easier...

      Delete
  25. Hi,

    I am also getting the same problem as sion, error code 0x87D01106(-2016407290), I am trying to deploy an exe called RUR-PLE and i am using /VERYSILENT command with a detection clause pointing to the .exe but no luck :(

    Heres the log from appenforce.log




















    ReplyDelete
    Replies
    1. Ignore ConfigMgr for a moment. That is just the delivery mechanism. The first step here is to ensure that you can install the application silently using a command line. Have you tested this? Use psexec to help you "install as system".

      Delete
  26. Hey Gerry, not to worry I managed to solve it, its because the application was created before I put SCCM 2012 through a buttload of CU (1, 2, 3, 4 & 5) updates (it was made before I took over the job), I recreated the app from scratch and it went through perfectly.

    Thank you anyways!

    ReplyDelete
  27. Hi Gerry
    How to get syntax of command line for different applications and other parameters

    ReplyDelete
    Replies
    1. ITNINJA.COM is a good place to start

      http://www.itninja.com/blog/view/the-complete-guide-to-msi-switches-for-silent-software-installation

      Delete
  28. Hi All,

    Thanks Gerry for the tutorial. I am trying to deploy CyberQuery following your steps, however the client is getting stuck at "installing". Looked at the AppEnforce.log it says "Waiting for process 4520 to finish". If you install the application manually you need to right click on it and run it as admin otherwise it wont run. Is there a workaround for this?
    Thanks!

    ReplyDelete
    Replies
    1. All software deployed by ConfigMgr is installed on the client under the context of the local system account. Therefore permissions are not the problem here. It looks like you are not running the application silently and the installation is waiting for some user intervention (a dialog box that you cannot see). You need to figure out the command line to install the application silently. This is the first step - get some support from the vendor. Test the install from the command line. If you cannot install the application silently then you will not be able to deploy it through ConfigMgr.

      Delete
  29. Hi,

    same steps to install UltraVNC.exe ?

    As

    ReplyDelete
    Replies
    1. Same steps. You need to understand how to install the app silently.

      Delete
  30. I found this guide helpful. Thank you Gerry. Signed, SCCM Superstar

    ReplyDelete
    Replies
    1. You're quite welcome. Glad to help.

      Delete
    2. Hi Gerry,

      Appreciate your help in SCCM administration. I am in learning phase and have VMware setup for SCCM. I have created the package for 7zip.msi installer and is able to distribute as well successfully. However when I try to deploy it, it does not show in Software Center in client Machine i.e. win 7, please help on this.

      Delete
    3. You haven't given enough information. Did you deploy to the user or device? Did you deploy as Required or Available?

      Delete
    4. Hi Gerry,

      I am deploying Sage 50 Accounts 2010 via SCCM 2012 on a windows 7 64BIT OS. It fails at the start of the installation giving an Error 1925 "You do not have sufficient privileges to complete this installation. Log on as an administrator and try the installation". SCCM runs under system context so I am not sure why I am getting this error.

      I then uses PStools (PSExec)to install the application on the same machine & it installs without issues. Any ideas?

      Delete
    5. The application is being deployed Device & not user. Available & not required

      Delete
  31. This comment has been removed by the author.

    ReplyDelete
  32. Hi Gerry,

    I'm having real issues with MIDAS CIVIL 2016, which is also a SETUP.EXE.

    I have an INSTALL.BAT as follows:
    setup.exe /s /f1%~dp0MidasCivil2016.iss

    this uses an .ISS file, but I've had many errors, the most recent is:

    The software change returned error code 0x87D01106(-2016407290).

    ReplyDelete
    Replies
    1. I'm not familiar with this app. My advice would be to contact the vendor. This link will help you with the proper use of an iss response file.

      https://support.microsoft.com/en-us/kb/922143

      Delete
  33. Hi Gerry,

    This is a great guide.

    I was looking into a failed deployment at my site: An app was deployed to All laptops with 60 successfully installed and 20 in error state and the error shows was 0x87d01106: Failed to verify the executable file is valid or to construct the associated command line.

    I understand first to check is syntax of Command line, but this has succesfulyl been deployed to 60 other machines.

    Any advice?

    Thanks in advance,
    Alex

    ReplyDelete
    Replies
    1. Thanks Alex. It's not possible to say. You'd have to troubleshoot. Can you enabled debugging or advanced logging for the app? Are there log files for the app installation?

      Delete
  34. i can try to deploy office 2013 silent deployment i need help if is possible

    ReplyDelete
    Replies
    1. Here you go:
      http://gerryhampsoncm.blogspot.ie/2013/03/sccm-2012-sp1-step-by-step-guide-part_9368.html

      Delete
  35. Thank-you so much for your sccm 2012 advise, I'm a newby to this and it got my .exe deploying and uninstalling like a dream.

    ReplyDelete
  36. Thanks very much for a very helpful post indeed. :)

    ReplyDelete
  37. Gerry,
    Great post but I need help other way round.

    We had Adobe Acrobat Installed through Group Policy (Before SCCM) and now I would like to remove it using AdobeAcroCleaner.exe. Unfortunately this is not an installer so there is no Detection Method. How do I deploy and run this? I have manually tested the switches and that works just fine but I am unable to proceed through SCCM.

    Thanks

    ReplyDelete
  38. Hi Gerry,
    Does this method work for placing CMTrace into Software Center since it technically doesn't "install" ?
    Thanks

    ReplyDelete