Deployment–The PDT Downloader

In my last post, I introduced the PowerShell Deployment Toolkit, or PDT.  As I mentioned in that post, before you are able to run Installer.ps1 from PDT, you will need all the software to be used in the deployment.  This is more than just the System Center 2012 SP1 bits – you will also need SQL Server, and all the other prerequisite software that is used by System Center.  This prerequisite software varies depending on which System Center components you are installing.  We have heard feedback from our customers that determining prerequisites and downloading all the required bits in itself can take a significant amount of time – and all this is before you even start installing.  So – as with everything PDT – we wanted to make that experience easier.

That brings us to the PDT downloader.  Included with PDT – which is posted to the TechNet Gallery here – is a utility Downloader.ps1.  This will download everything you need to do a complete installation of System Center 2012 SP1.  Not only does it download, if a download requires extraction or execution for further downloads, Downloader.ps1 will do that for you too.  It will even slipstream SQL service packs into the SQL source bits for installation.

Downloader.ps1 must be run from a Windows Server 2012 or Windows 8 system, since it uses the ability of those operating systems to mount and extract files from an ISO.

By default, Downloader.ps1 downloads to a Temp folder on the system drive of the system you run Downloader.ps1 from.  The download size is approximately 15GB, and the total size required on disk is approximately 35GB.  Depending on the speed of your internet connection, this might take a while – for example, in the Microsoft datacenter where SCDemo is hosted it takes about 45 minutes while from my home office, it takes 3 hours.  The good news is that you can break out of the downloader and restart it as often as you need to – it will not re-download anything that is already complete.

You will need WinRAR installed for extraction of some of the downloaded files.  If you don’t have it installed when you run Downloader.ps1, it will tell you – you can install it afterwards and run Downloader.ps1 again and it will just complete the extraction at that point, again it will not download anything that it has already completed.

Where relevant, the components that Downloader.ps1 downloads are all evaluation versions.  The good news is that, with just one exception, all of these evaluation versions can be installed or converted to fully licensed installations by providing a product key at installation time – and PDT knows how to use a key if you provide it with one.  The exception is Data Protection Manager – if you are doing a fully licensed installation, you will need to get the licensed Data Protection Manager installation media from the appropriate channel.

So how does Downloader.ps1 know how to do all of this?  As with everything PDT, the “knowledge” is all in the Workflow.xml file.  What to download, where to download it from, what to do with it once it’s been downloaded – everything is stored in Workflow.xml.  I certainly encourage anyone that is curious to look at how Downloader.ps1 works, and where the knowledge it uses is stored in Workflow.xml.  Hint:  it’s all in the “Installables” section.

Here is everything that Downloader.ps1 downloads, based on the current version of Workflow.xml in PDT:

  • The evaluation version of Windows Server 2012, and extracts the ISO.
  • The evaluation version of SQL Server 2012, and extracts it.
  • SQL Server 2012 SP1, and places is in an appropriate location for it to be installed with SQL Server 2012.
  • The evaluation version of SQL Server 2008 R2, and extracts it.
  • SQL Server 2008 R2 SP2, extracts it, then slipstreams it to the SQL Server 2008 R2 extracted files.
  • Windows Automated Deployment Kit, then runs the executable to stage all required files for an offline deployment.
  • All other prerequisite software for System Center 2012 SP1 on either Windows Server 2012 or Windows Server 2008 R2, such as .NET Framework 4.0, SQL Native Client, VC++ redistributable etc.
  • The evaluation versions of all 7 System Center 2012 SP1 components, then extracts them using WinRAR.
  • The other prerequisite software required by Configuration Manager that is usually downloaded during Configuration Manager setup.

Once complete, you have everything you need to complete a System Center 2012 SP1 deployment with no further internet connection required.

Hopefully, that is a significantly easier process than most of our customers have been used to so far.