Had an interesting problem occur during an ConfigMgr SP1 to
SP2 upgrade recently.
During the upgrade process everything looked fine, all the
way in to the reinstallation of the components by Site Component Manager.
However the Reporting Point reinstallation seemed to be taking longer than it
normally does. Left alone it’ll eventually time out, and Site Component Manager
does a retry. This will continue to loop in this fashion leaving you with an
incomplete SP2 upgrade.
Since Windows XP SP2, when a file is downloaded from the
Internet on to an NTFS volume, an Alternative Data Stream is associated with
the file called Zone.Identifier, the only exception seems to be if the site you
are downloading from is in the Trusted Zone. This is used to control a security
warning prompt that will appear asking if you still want to run the executable
before it launches. For a workstation that has zone editing locked down by
Group Policy you have no control over which zones are trusted and which are
not, and in my case all are treated as un-trusted.
What happened is that the SITECOMP.EXE process attempted to
load REPORTINGINSTALL.EXE in to memory, and this prompt was generated but it didn’t
appear in the console session so I had no idea it was being displayed and the execution
of the process was being blocked.
Eventually SITECOMP times out the installation of the Reporting
Services installation and tries again. This will eventually lead to many copies
of REPORTINGINSTALL.EXE appearing in the systems process list.
This is a hard one to troubleshoot, as there is really no
handle posting in logs or the Event Log regarding why the process failed to
launch as it hasn’t failed to launch, its waiting for a prompt that you’ll
never see to be acknowledged.
To resolve this you need to download the SysInternals STREAMS.EXE
tool and strip out the Alternative Data Streams.
<a href=http://technet.microsoft.com/en-us/sysinternals/bb897440.aspx">Streams
by Mark Russinovich</a>
Open a CMD prompt, navigate to the folder containing the SP2
installation and run the following:
Streams.exe –s –d *.* >
c:\deletedstreams.txt
I log the output of streams for future reference. Take a
look at c:\deletedstreams.txt to see if any where deleted.
Here is an example of the output from a run through the SP2
installation kit using streams.exe:
Streams v1.56 - Enumerate alternate NTFS data streams
Copyright (C) 1999-2007 Mark Russinovich
Sysinternals - www.sysinternals.com
F:\SOURCEFOLDER\ConfigMgr
SP2\ConfigMgr07SP2Upgrade_RTM_ENU\autorun.inf:
Deleted :Zone.Identifier:$DATA
F:\SOURCEFOLDER\ConfigMgr
SP2\ConfigMgr07SP2Upgrade_RTM_ENU\ConfigMgr07SP2Readme.htm:
Deleted :Zone.Identifier:$DATA
F:\SOURCEFOLDER\ConfigMgr SP2\ConfigMgr07SP2Upgrade_RTM_ENU\splash.hta:
Deleted :Zone.Identifier:$DATA
F:\SOURCEFOLDER\ConfigMgr SP2\ConfigMgr07SP2Upgrade_RTM_ENU\SMSSETUP\BIN\I386\setup.exe:
Deleted :Zone.Identifier:$DATA
F:\SOURCEFOLDER\ConfigMgr
SP2\ConfigMgr07SP2Upgrade_RTM_ENU\SMSSETUP\BIN\I386\reportinginstall.exe:
Deleted :Zone.Identifier:$DATA
I owe a shout out to two people that helped on this,
Initially Andrew Maidens from MS CSS based in Reading for originally noticing
this a while back on another unrelated case, and Chris Rothwell for pointing out the similarities
and pointing the investigating in the right direction.