Deployment–The PDT Downloader

Deployment–The PDT Downloader

  • Comments 15
  • Likes

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.

Your comment has been posted.   Close
Thank you, your comment requires moderation so it may take a while to appear.   Close
Leave a Comment
  • Hi Rob this is a great script that can do some very kewl things.

    One of the components that is required is windows 2008 R2 (for sharepoint)  any chance in getting an updated workflow that could download the eval version of 2k8 for this as well :)


  • downloader worked up to the point of extraction.  how does one get any help/support?

  • David - what error are you seeing?

  • I am seeing issues with downloader hanging on processing/running Windows Auto Deployment Kit, step 8 of 16. Seems to get to about 50%, and in watching Windows Resource Manager, my network utilization seems to be staying consistent at 6Mbps, connected to IP address

  • NBowman - it's not hanging, it's actually ADK downloading the rest of itself.  The ADKSetup.exe download is about 1MB, but then it runs and download about another 1.5GB - so that step in the "running" phased of Downloader does take a while.

  • I'm getting the following error when i run downloader (after it downloads, and when it starts extracting, etc.):

    Dismount-DiskImage : the file or directory is corrupted and unreadable.

    At C:\PDT2.4.1003\Downloader.ps1:423 char:25

    +  Dismount-DiskImage -ImagePath "$Download\Download\$Downl ...

    + CategoryInfo    : NotSpecified:  (MSFT_DiskImage:ROOT/Microsoft/.../MSFT_DiskImage)

    [Dismount-DiskImage], CimException

    + FullyQualifiedErrorId : HRESULT 0x80070570,Dismount-DiskImage

    I have redownloaded and run the downloader on several different VM's on several different disks and i get the same error every time. Everything appears to continue, but im not sure if its ok or not.

    Any ideas?

  • Hi Geoff

    It seems that the download links are no longer valid for either of the windows versions.  So you will need to manually download and extract for windows 2012.

    I hope that Rob will be able to provide a link but it seems like it has happened for all of the demo versions on technet.


  • Geoff - I was able to get around your issue. Sure enough, the download link changed. This is not a supported fix, but just a work-around until Rob can make the right change.

    Workflow.XML Line 385: <URL>>



    Note: It looks like the only change in the structure was removing the "/dl/" level. Otherwise, it's the same.

  • I'm getting the same error as Geoff. The download link is correct with /dl/ however it needs to have lcid parameter as below:

    However, even with the correct URL, when you hit the url you are asked to pick a .iso or .vhd for download and then you are taken to your Microsoft Profile page where you need to confirm your identity. So, I'm not sure how to resolve this issue. The downloader is running fine all the way to Processing and when it starts processing, I get the below error:

    Mount-DiskImage : The file or directory is corrupted and unreadable.

    At C:\PDT2.4.1003\Scripts\Downloader.ps1:413 char:41

    +                         $ExtractSize = (Mount-DiskImage -ImagePath "$Download\Do ...

    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

       + CategoryInfo          : NotSpecified: (MSFT_DiskImage:ROOT/Microsoft/.../MSFT_DiskImage) [Mount-DiskImage], CimE


       + FullyQualifiedErrorId : HRESULT 0x80070570,Mount-DiskImage

    Dismount-DiskImage : The file or directory is corrupted and unreadable.

    At C:\PDT2.4.1003\Scripts\Downloader.ps1:423 char:25

    +                         Dismount-DiskImage -ImagePath "$Download\Download\$Downl ...

    +                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

       + CategoryInfo          : NotSpecified: (MSFT_DiskImage:ROOT/Microsoft/.../MSFT_DiskImage) [Dismount-DiskImage], C


       + FullyQualifiedErrorId : HRESULT 0x80070570,Dismount-DiskImage

    Any help is appreciate.

  • Hi Aijaz Qureshi

    You can manually just go to the download link and download / extract the ISO yourself if you want.

    JUst make sure that you put the contents into the correct folder that was created in the downloads and you should be good to go.

    (Download the ISO to C:\Temp\Download\WindowsHyperVServer2012\ )Then double click on it and mount it.  Then copy the contents to C:\Temp\WindowsServer2012

    You should be good to go at that point :)  If you have valid media rather than trial you can do that as well.  The most important part is getting it in to the 2nd location.


  • Hi Rob,

    Excellent toolkit & thanks for making it available.

    I've gotten as far as building the VM's but the DC won't boot. It just sits with an error saying that "the boot configuration data for your PC is missing or contains errors."

    File: Boot\BCD

    Status: 0xc000000f

    Any pointers or info which may help me get past this are appreciated.



  • Hello All, Just FYI I'm not sure if it's something that I am doing wrong, but when I run the Downaloder script, everything completes. But, apparently, it does not download the BITS for the following: - Windows Server 2012 - Windows Server 2012 R2 - System Center 2012 R2 App Controller - System Center 2012 R2 Configuration Manager - System Center 2012 R2 Configuration Manager Prerequisites - System Center 2012 R2 Data Protection Manager - System Center 2012 R2 Operations Manager - System Center 2012 R2 Orchestrator - System Center 2012 R2 Service Manager - System Center 2012 R2 Virtual Machine Manager I only know this because when I runt the Installer script, it validates the media and fails on these pieces. Additionally, it appears that the Installer script check for the media in the C:\Temp directory, however, when I run the Downloader script, it does not create this directory (if it doesn't exist) or place any files within (if the directory already exists). Finally, is there an easy way to be able to choose which version of System Center you want the script to build in the lab? For example, it would be awesome to be prompted to select, say, 2012, or, 2012 SP1, or 2012 R2. From what I can tell (still testing/attempting to get the scripts to work), it will only install 2012 SP1. Thanks.

  • Adin, please see the post here -->, which explains that Downloader.ps1 cannot currently download those components. To choose what gets installed, you need to customize Variable.xml.

  • Hi Rob. Great tool, thanks for releasing it. I understand time is always against one but if you were looking for a blog topic my vote goes for a brief description of the intended use behind the input parameters of the PDT scripts. Best wishes, Chris

  • Hey Rob, Thanks for the quick reply. I'm testing the script right now, and everything is passing the validation with the exception of System Center 2012 R2 Configuration Manager Prerequisites. I'm getting the following error message: C:\Temp\SystemCenter2012R2\ConfigurationManager.DL\ incorrect size I re-downloaded the SCCM pre-reqs, but it remains the same, at 9KB. Check my pre-reqs from a previous SCCM 2012 SP1 install in my lab, the SP1 version is 8KB. Any thoughts?