ConfigMgr 2007 SP1 downloading prerequisite components

Shaun Cassell does a very nice job explaining what can go wrong HERE.  One thing he doesn’t spell out is that you cannot have ANY spaces. For those of you who don’t know, when you install/upgrade ConfigMgr 2007.  The setup wizard actually has to contact MS servers to download required components.  You can do this ahead of time by running.

<path>setup.exe /download <path>

If you run the above command and nothing happens.. goto %SYSTEMDRIVE%ConfigMgrSetup.txt, if that log file contains.

<07-13-2008 10:02:24> Download folder F:SCCMUPDATES” does not exist
<07-13-2008 10:02:24> Failed to download prerequisite components (0x80070003)

Stop… you have spaces somewhere, the most sure fire way around this is to map a drive. Map a drive to the source and target destination folders.  Furthermore if you start downloading updates, and it “fails” check your destination. If any updates at all have successfully downloaded.  Start it back up, that is a network timeout.


p class=”headermaintitle”>Will work:
\servershareSCConfigMgr07SMSSETUPBINI386setup.exe /download c:SCCMUpdates
D:SCConfigMgr07SMSSETUPBINI386setup.exe /download c:SCCMUpdates
S:setup.exe /download T:


p class=”headermaintitle”>Will NOT work:
\serversome shareSCConfigMgr07SMSSETUPBINI386setup.exe /download c:SCCMUpdates
D:SCConfigMgr07SMSSETUPBINI386setup.exe /download c:SCCM Updates

OR… A little POSH goodness.  Before I figured out what was going on. I wrote this quick Powershell script to download them for me. 😉

~ Glenn

VMware Tools on Server Core

If you’ve used Server Core, Then you have undoubtedly run into an application. Which has a dependency on the managed code that was removed.  One such application is VMware tools, contrary to popular belief. These tools do more than just make the mouse smoother.  The critical components are the drivers they deliver.  Have no fear though… There is no GUI, or Html help file, but the tools work great!

Hopefully the next version will install a little cleaner.


I am aware that this has been blogged about before, but who wants to read three pages of step by step instructions?… when you could just watch a 90 sec clip 🙂

VMworld 2008 BABY!!


I love my Job!!! I’m currently involved in our virtualization initiative… Were still in the crawling stage eight ESX hosts in two DRS clusters.  In the traditional admin mantra we’ve rebuilt our whole infrastructure four or five times.  After reading white papers till 2am, and tearing my hair out over configuration mistakes (Google ESX partition offset). My boss decided to just send us to VMworld!

Snoopy Dance!!!



Okay, so I know what .Net is, but how was I supposed to know it was this powerful.  For anyone who has every worked with xml in VBScript… I feel your pain.  With that knowledge of the headache, that was the “Msxml2.DOMDocument” com object.  I have avoided XML like the plague.   Problem is I was completely oblivious to what “.Net support” really meant!  I have several projects at work where I use PowerShell to “interact” with REST based web services.  Not wanting to take that XML dive, I requested “PowerShell hooks”, and was obliged.

When our programmers asked me, what I wanted returned?  I told them to give me a CSV in the format of a custom PS Object.  At the time, this seemed a no brainier.  Not only do I not have to worry about WSDL/ADO/XML, but also the data would stay objectized.

It worked GREAT that was until I started to manipulate large data sets.  Then my simple system fell apart. Downloading and saving that CSV file, before I could import that data.  Was simply too much, and was drastically degrading performance.  Therefore, I asked the question on the PowerShell community forums about optimizing such a task. The response I got lead me to crack open Bruce’s PowerShell in Action.  Low and behold, where has .Net been all my life!

Posted By bsonposh on 07/06/2008 10:51 AM
Actually… the *-clixml are meant for serializing and deserializing objects. Import-cliXML expects a VERY specific format.

If you want to “import” XML you can just type it
[XML]$myxml = < some data >

That is it… Just by type casting your object with [xml] the .net framework does the rest.  Not only is it easier then my custom CSV’s but its twice as fast!

~Glenn Sizemore