Tuesday, 19 March 2013

ConfigMgr 2012 / SCCM 2012 SP1 Step by Step Guide Part 18: Software Distribution - MSI

Back to main menu

Config Mgr 2012 uses one of three detection methods to "detect" if an application is installed on a computer. 
  • File system - presence of a file or folder
  • Registry - presence of a registry key
  • Windows Installer - presence of a Windows installer file
You must consider this before you create an Config Mgr Application. 

It is very straightforward to create an Application using MSI files. You simply tell Config Mgr where the MSI file is saved. The file is then interrogated to find the Windows Installer details.

Part 18 describes this process.

Navigate to Software Library Applications



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


The Create Application Wizard starts. Note that the wizard defaults to MSI type. Simply enter the location of your MSI.


Config Mgr interrogates the MSI to discover the Windows Installer information


Note that the installation switches are automatically discovered


Click Next to create the Config Mgr Application



Now distribute the content to the DP and it is ready to be deployed. 





 Select the Distribution Point





Verify that content has been distributed
Monitoring/Distribution Status/Content Status

Then deploy it to your required collection.











On the computer, when the Application Deployment Evaluation Cycle is reached, Config Mgr detects that the Windows Installer file cannot be found and the application will be installed.








Note that if the user uninstalls the application Config Mgr will detect this and re-install at the next cycle (providing of course the Config Mgr deployment is still in place to that collection)

15 comments:

  1. Good article. How do you create an application that requires and MST?

    ReplyDelete
  2. You just need to edit your install parameter to include the transform. A typical install string is as follows but you should research the string for your app:

    Msiexec.exe /i yourapp.msi TRANSFORMS=yourapp.Mst

    ReplyDelete
  3. Hi,
    We're testing SCCM 2012 SP1 in two lab environments, both running on HTTPS. One of them is working OK but the second one, with the same set up is having issues with communication to MP. Even though it's set to HTTPS for both MP and DP, clients try to talk to the MP via http. It had issues with client push installation, so I set CCMHTTPSSTATE=63 option which forces it to use https and it worked. Now the issue is with application deployment. Checking the client's DataTransferService.log shows that it is trying to use 'http://:80/SMS_MP' and fails. Do you know why this is happening? Any way to force https for this?

    ReplyDelete
  4. Look at the properties of the site > Client Computer Communications.

    Have you chosen HTTPS only?

    ReplyDelete
  5. Yes, it is HTTPS only. It used to be HTTP or HTTPS, same as the server that works but I later changed it to HTTPS only but still no go. I also noticed in client's LocationServices.log -> Name: '' HTTPS: 'N' ForestTrust: 'N'
    Somehow the clients think MP is not capable of HTTPS.
    It also shows:
    Attempting to retrieve lookup MP(s) from AD
    Retrieved lookup MP(s) from AD LocationServices

    But the server that works has this:
    Attempting to retrieve lookup MP(s) from AD
    No lookup MP(s) from AD
    Attempting to retrieve default management points from DNS

    Basically the 'good' server doesn't have anything under the System Management container in AD (it has full perms to it) so falls back to DNS lookup. The 'bad' server does have stuff under the container and is able to do an AD lookup. Note that these are two separate AD environments on two separate networks - one prod and the other lab, the latter set up similar to the prod.
    I'll delete the contents of the System Management later today for the 'bad' server and see if that helps.

    ReplyDelete
  6. OK, so I turned of AD publishing and it has deleted the contents of CN=System Management. Now the clients see HTTPS: 'Y' ForestTrust: 'Y' for the MP. I'm guessing the AD container had info in it that suggested the MP only has HTTP capability. I wonder if I can turn on AD publishing again and still make it work. Wonder what the contents of the System Management folder have wrt MP details.

    ReplyDelete
  7. You're so interesting! I do not believe I've truly read through
    anything like this before. So wonderful to find another person
    with unique thoughts on this topic. Really.. thanks for starting this
    up. This site is something that is required on the internet, someone with a bit of originality!


    Also visit my web blog - Forex Brokers

    ReplyDelete
  8. Heej gerry,

    When i wanna distrebute a application (.msi) it says distrebution point(group) 0/0 whats wrong ? Because nothing is happening

    I have followed the complete tutorial of you, can you help me out here??

    ReplyDelete
  9. distrebution point(group) 0/0

    I don't quite understand this. Where are you seeing it?

    ReplyDelete
  10. Followed your instruction to deploy MS Visio and testing the installation to own PC. I got so far that software center shows status "downloading" but the status stays 0% all the time, like it would not been able to download the .msi file at all. Any idea where I might have a problem?

    ReplyDelete
  11. That often happens when you haven't properly configured boundaries and boundary groups.

    ReplyDelete
  12. Hi Gerry, I hope all is well!
    I’m having a bit of a problem with deployments in our US sites. Required applications are not installing they are downloading but sit with this message in Software Center “past due will be installed”, and never install. You can however manually install them by clicking the install button.

    My Primary site is in the UK and I have a distribution point in the US. The UK site handles all of the Europe deployments and the DP in the US, all the US deployments. I have tested this on a newly built laptop in the UK, it pulls down all the required applications and AV defs and installs them fine. However any new machines in the US, install the client and AV, but nothing else, also the version of the AV it installs is an old version. It only seems to be on new builds as any current workstations have been receiving app deployments.

    Distribution groups and sites all look fine in Monitoring. Clients are getting the correct client settings, boundaries are in there. I’m all out of ideas, what am I missing?

    ReplyDelete
    Replies
    1. That sounds strange Kevin. If it was a boundary problem you'd also have a problem with the ConfigMgr client. I'd have to have a look at it. Will you contact me offline.

      Delete
  13. Hi Gerry,

    Try to deploy our Voice application and that required 9 updates.

    1. Put all the files into my \\software\CIC\ share ( MSI, MSp and CMD)

    2. Create install.cmd

    msiexec /I "%~dp01.ICUserApps_64bit.msi" PATCH="%~dp02.ICUserApps_64bit_SU6.msp";"%~dp03.ICUserApps_64bit_SU6-120779.msp";"%~dp04.ICUserApps_64bit_SU6-125141.msp";"%~dp05.ICUserApps_64bit_SU6-125793.msp";"%~dp06.ICUserApps_64bit_SU6-126000.msp";"%~dp07.ICUserApps_64bit_SU6-126015-125972-125513.msp";"%~dp08.ICUserApps_64bit_SU6-126048.msp";"%~dp09.ICUserApps_64bit_SU6-130628.msp"; ICSERVERNAME=cic4-prod.domain.com /l %windir%\temp\logfile.log /qn

    3. create the software package

    4. Select this install.cmd

    5. Distribute the content and deploy to the collection

    6. Update memebership /reboot client few times

    But nothing happening? How do i check or monitor?

    do i have to put like this "%~dp01.ICUserApps.msi%" also try to run manually but Windows Installer Screen pops.

    As

    ReplyDelete
    Replies
    1. As with all software deployment via ConfigMgr you need to first understand how to install your application silently. You need to test this by installing the app manually via command line. Remember ConfigMgr will install the app under the local system context - not the logged on user.

      Delete