this is a quick and dirty how to for installing silverlight 4 (specifically 4.0.50917.0) in an enterprise environment.
we have run into a few situations where users are asking for silverlight (rather, they are trying to go to sites written with silverlight). we finally reached the tipping point and agreed that it was a business need to install it on our terminal server farm.
i said that i would take care of it, but much to my surprise microsoft doesn’t provide a MSI for GPO deployment (at least not in the way i was expecting it). it took me a few hours, but i found a good way to get this accomplished pretty quickly and thought i would share.
get silverlight @ http://www.microsoft.com/getsilverlight/Get-Started/Install/Default.aspx and save the exe into c:silverlight
open a command prompt and go to c:silverlight (or wherever you saved the exe) and run “silverlight.exe /extract” and hit ok.
you should now have 5 files in c:silverlight. the next step is to extract the silverlight.msp out of the silverlight.7z file. use 7zip or universal extractor to extract silverlight.msp (this is a patch file for microsoft installers)
once you have extracted silverlight.msp, you can delete everything other than it and the silverlight.msi files. notice the size of the silverlight.msi (in my case it is 41kb).
if you were installing this by hand on every machine you would be done. you could run “msiexec /i silverlight.msi /p silverlight.msp /passive” and it would be done. but deploying via AD GPO’s doesn’t give you an easy option to use MSP files (its possible, but a pain). so, instead we can run the following command to link the msi to the msp and generate some needed uncompressed files: msiexec /p silverlight.msp /a silverlight.msi
two other points. you will notice that the MSI is now larger and you have a pfiles directory. you will need both files and the folder to do a GPO install of silverlight. the last point was that i am presuming the administrative install (thats the /a flag) trick will work for other MSI/MSP installs, but i haven’t tested it on anything, so ymmv.
</li> * one last step before i am ready to push this: housekeeping. i hate extra clutter in the start menu, so i suggest using <a href="http://cid-27e6a35d1a492af7.skydrive.live.com/self.aspx/Blog%5E_Tools/orca.zip" target="_blank">orca</a> to remove the shortcut the silverlight install puts in the start menu by deleting the only entry in the shortcut table of the msi (open up the msi in orca -> drop the row -> save the msi) [<img class="alignnone size-full wp-image-288" title="silverlight_06" src="http://toastresearch.com/wp-content/uploads/2010/10/silverlight_06.png" alt="" width="824" height="503" />](http://toastresearch.com/wp-content/uploads/2010/10/silverlight_06.png) * thats it! put the 2 files and folder into a share to push out via AD GPO’s/SMS/etc. i ran the following command to test on a few machines to replicate the push which worked nicely, then pushed it via a GPO with no problems. msiexec /i silverlight.msi /passive [<img class="alignnone size-full wp-image-287" title="silverlight_07" src="http://toastresearch.com/wp-content/uploads/2010/10/silverlight_07.png" alt="" width="798" height="547" />](http://toastresearch.com/wp-content/uploads/2010/10/silverlight_07.png)</ol> if you want to test out your silverlight install, go to <a href="http://www.hacktrix.com/find-silverlight-version/" target="_blank">http://www.hacktrix.com/find-silverlight-version/</a>. also, i did try and roll up the pfiles folder into the msi in an older version of advanced installer with no luck. the guy in the reference said he used wise package studio 7 to successfully get rid of the pfiles folder <rant> i like microsoft’s stuff, i really do. and maybe there is a great explanation for why there is not a MSI for silverlight, but i never found it. if i am going through the pain of using MSI’s for practically everything (per microsoft best practice as i understand it), please have a package ready for us to download and deploy to an enterprise environment using vanilla GPO’s that doesn’t require me to jump through hoops. </rant> reference: <a href="http://www.appdeploy.com/packages/detail.asp?id=1591" target="_blank">http://www.appdeploy.com/packages/detail.asp?id=1591</a>