Deploy Latest Silverlight via SCCM using MSI

When creating packages in SCCM, I strongly prefer to use MSIs over EXEs. They’re just way simpler. A few clicks and you’ve got all the command lines there for you automatically, instead of having to test and re-test or guess at the command line switches for an EXE. One thing that boggles my mind is Microsoft’s inability to release MSIs for their own products. Silverlight and AdCenter both saw updates recently, and both were released as EXEs.

Here are some quick steps to take the Silverlight EXE and get a usable MSI from it:

  1. Download the EXE from Microsoft’s site here.
  2. Open the EXE using 7-Zip and extract the contents to a folder. You should have an MSI and an MSP as well as some other files.
  3. Open a command prompt in the folder you extracted the Silverlight files to.
  4. Use this command line to apply the patch to the installer: msiexec /a silverlight.msi /p silverlight.msp
  5. You’ll notice a new folder appears in the folder you extracted the files to called “PFiles.” Make sure you include this in your SCCM Source Files folder for the Silverlight installer, or the install will fail.

Once installed, future patches can be managed via Software Updates in SCCM.

9 thoughts on “Deploy Latest Silverlight via SCCM using MSI

  1. Kyle Reyes

    Hi Mark!

    So do see this was posted sometime in 2012 so I guessing this is for version 5.1.10411 of Silverlight.

    I am currently trying to deploy version 5.1.20513 following the same steps, but I am concerned regarding the auto-update option during the install. Is there a way to disable that function, or does this method take care of that?

    I have attempted to edit the MSI via ORCA but cannot find any lines to simply disable it that way as I have done with other products.

    Any advice would be greatly appreciated, thank you in advance!!

  2. Andy

    Kyle,
    Were you able to deploy Silverlight without auto updates? I’m running into the same problem here.

  3. Joshua Carpenter

    This is very helpful, thank you for this post. I would like to add that the .exe’s you download will provide 32 or 64 bit MSI’s depending on the OS you’re downloading from. Keep this in mind if you’re deploying for different architectures. I had to create two packages, one for x86 and one for x64.

  4. Kyle Reyes

    Andy,
    My apologies for the delayed response, but I was not able to find anything with regards to the updates.. I’ve actually had a lot of problems trying to deploy the 5.1.20513 version of Silverlght using this method and can only assume it is due to what Josh mentioned with x86 vs. x64.

    Any suggestions? Anyone?

  5. Bill Hunt

    I ran into this same problem, trying to suppress Silverlight updates to only receive them from SCCM. What I found was to do this a Registry Key can be used.
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Silverlight\UpdateMode=dword 2

    This applies to both x86 & x64 just for x64 you have to specify SYSWOW64 since Silverlight is a 32-bit application. Hope this helps.

    This is the link I found this solution on
    http://blogs.msdn.com/b/tims/archive/2008/04/07/controlling-the-distribution-of-silverlight-updates-in-the-enterprise.aspx

  6. John

    hi, I extracted the files as noted but how do you deploy the software? I tried msiexec.exe /I Silverlight.msi but nothing happened.
    Thanks

  7. dominique

    Hello,
    I have downloaded the msi for Silverlight 5.1.50907.0 and extracted the exe. I do not see any msp!!!
    Thanks,
    Dom

  8. Dominique

    I found the msp … but apparently with the Deployment application module in SCCM CB 1702 I do not see a version on the msi itself, only on the exe !!! so for the “detection rule I don’t get the test on the msi???

    Also on the Properties tab > references …. it is empty
    Properties > Supersedence I don’t have anything ever…

    thanks,
    Dom

Leave a Reply

Your email address will not be published. Required fields are marked *

Please do some math to prove you\'re a human: * Time limit is exhausted. Please reload the CAPTCHA.