Using Powershell to create an offline Web Platform Installer Feed
Thanks to Nitasha we learned that it is possible to create a custom WebPlatformInstaller feed she describes it in her post:
This is not really a supported scenario but when you are about to go to a convention and have to demo WebPI and you only have convention WIFI you better be prepped for the worsed.
So now we know how to be prepped for the worsed and I started to look at the WebPI feed but it is a HUGE file and I had to download all the packages manual and then set the installerURL etc etc.
To speed up this process I've created the following Powershell file to do this for you.
#Get the WebPL feed (this could be improved by downloading it[xml]$xd = Get-Content "D:\OfflineWebPI\WebProductList.xml"
foreach($entry in $xd.feed.entry)
foreach($installer in $entry.installers.installer)
if($installer.languageId -eq "en")
[string]$url = $installer.installerFile.installerURL
$lastslash = $url.LastIndexOf("/")+1
$filenamelen = $url.Length-$lastslash
$filename = $url.Substring($lastslash,$filenamelen)
$filename = "D:\OfflineWebPI\$filename"
Write-Host "Downloading $filename"
$clnt = New-Object System.Net.WebClient
$installer.installerFile.installerURL = $filename
I'm blogging this now mainly for my own reference. Will comment the code later.
If you are a hoster you "could" use this to create an in network cache of the web platform packages.