Skip navigation

Category Archives: SMS

Recently, I was given the project of upgrading an SMS 2003 infrastructure to SCCM 2007 SP1.  The task is daunting as I’m expected to keep the environment as functional as possible during the upgrade.  I think a new installation would be MUCH simpler, but that’s not an option here.

The changes between the two versions is staggering, but in a good way.  I can’t imagine EVER going back to the way SMS handles Software Updates via its ITMU.  But translating all that SMS configuration into SCCM goodness is no simple task.  While I’m the lead on the project, I’m backed up by a project manager (who wields MS Project far better than I ever will) and my boss who is an SMS guru since he’s been working with it since 2.0.  So they’re a great help.

But for some of the issues I’ve come across, I’ve been hard-pressed to find help besides a single forum post and in some cases, nothing.  So I thought it would be helpful, at the very least for me, to log the issues and their resolutions here.  I hope someone finds these helpful!

Main Page: Resolving SCCM 2007 SP1 Upgrade Issues

The first iteration of this patch caused a number of calculation issues as noted in the KB article http://support.microsoft.com/kb/943985/

However, even after v2 was released, a number of our users still reported problems. So after removing the patch from our SMS patch packages, I still had to come up with a way of uninstalling it.

The most difficult part of this process is determining the product and patch GUIDs.

If you’re sure your entire environment has the same version of Office 2003, this is a snap. Simply open up the registry editor on any machine and navigate to: “HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall” and you’ll see a number of GUIDs there. Check each one until you find your installation of Office.
Most Office 2003 Pro installations use:
91110409-6000-11D3-8CFE-0150048383C9
Most 2003 Standard uses:
91120407-6000-11D3-8CFE-0150048383C9
The explanation of this numbering scheme can be found at: http://support.microsoft.com/kb/832672/

In an enterprise environment however, you can have a number of different versions and since I’ll be performing this via SMS 2003, that’s what I’ll be using to ensure I kill every instance of the patch.

To determine what installations of Office 2003 are out there, run this SQL query:
select distinct DisplayName0, ProdID0 from v_Add_Remove_Programs Where DisplayName0 like ‘%office%edition%2003%’
For me, this yielded 41 different GUIDs and 4 different products: Basic, Small Business, Standard and Professional. Yikes.

But all we care about is this part of the GUID: “6000-11D3-8CFE-0150048383C9” since all Office 2003 products will share that.

Now the GUID for this particular patch can be retrieved from “Add/Remove Programs”. Check the “Show Updates” box, find the patch and click “Support Information” which yields: {EA642B1A-F243-48FC-8103-D355065F7676}.

Now that we’ve got all the information necessary, we need a script that can determine what version of Office 2003 is installed and insert that into the uninstall command. The one provided here, works with Office 2003 only. It can be easily modified to included other versions if you need that.
KB943985 Uninstaller Script

While this script is specialized for this particular patch, it can be modified to uninstall any uninstallable patch as it uses the “RemovePatches” method which calls Windows Installer.
To determine if a patch is uninstallable, check here: http://msdn.microsoft.com/en-us/library/aa372102(VS.85).aspx

I was trying to install Windows 2003 SP2 on my SMS servers via SMS, which was working great until I noticed a few were failing because their cache sizes were too small to hold the whole service pack.

Their cache sizes were the default 256MB. We usually install the client using ccmsetup.exe with SMSCACHESIZE=512 to avoid this. On these servers, we must have used the MSI instead.

I figured this would be a good time to write a script that could check and set the cache size. After searching for the proper syntax, I put together this handy script.

BTW: I know I could have just run the SP from the distribution point and this would have worked fine for the SMS servers since they are the DP. But for clients, this would be too slow and what if someone rebooted the server unwittingly? That’s why I did the download from DP. We also have BITS enabled and extracted the SP. So if someone disrupts the download, it can pick up right where it left off.

check_sms_cache.txt

I wrote this script to do some of my work for me by installing the client, upgrading them, fixing faulty ones and reporting on the rest.

Here’s a rundown of some of it’s major functions:

Upgrade the client
Remove and reinstall malfunctioning clients
Checks WMI health
Check and restart WMI and SMS services
Check WBEM path variable
Check Windows Update version
Check ccmexec.log date (has SMS been doing anything at all?)
Check and or set SMS cache size
Logs what if finds locally and centrally if needed.

Contact me for more info if your interested.