Friday, April 11, 2014

Microsoft Office 2007 icons turn white on desktop, start menu, taskbar

We use a third party inventory and patch management system to roll out Microsoft updates silently. Unfortunately every once in a while a patch or patches will cause the icons for the updated applications to turn white on certain machines which wasn't noted during the test cycle. We've just seen that happen in our Windows 7 environment while rolling out the April Patch Tuesday patches, where Word and Outlook icons were borked on certain machines. I haven't confirmed this yet, but there were only a few packages pushed so it looks like KB 2863811 (Outlook) and KB 2878237 (Word) were involved. We did not see this on machines patched by WSUS or Microsoft Update.

There are a lot of articles out there about fixing icons by deleting iconcache.db but that's of little help if the base icon is borked. The trick of repairing Microsoft Office Picture Manager within the application didn't help either.

I isolated the issue to two shortcut sets:
C:\Users\Public\Desktop and
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Microsoft Office

I got "known good" Microsoft Office Outlook 2007.lnk and Microsoft Office Word 2007.lnk files from another machine and made a copy on a network share under a folder called deskicon. I then wrote the following quick script. It had to be run as an administrative user on the machine since both of the folders above are not writable by users.

cd \users\public\desktop
xcopy \\fileshare.domain.local\fixes\deskicon\*.* . /Y
cd C:\ProgramData\Microsoft\Windows\Start Menu
xcopy \\fileshare.domain.local\fixes\deskicon\*.* . /Y

The Start Menu pinned icons, Start Menu All Programs, and All Users Desktop icons were fixed by this. On restarting the applications, the taskbar icon displayed correctly. This fix will be rolled out to the userbase via GPO with some refinements. Hope that helps somebody out there!

Thursday, September 26, 2013

Windows XP hangs on startup

One of several things I'm working on at the moment is migrating people from Windows XP to Windows 7. There's various ways to go about this but we are in the main provisioning new PCs and manually bringing the data over - I'd rather not use Microsoft's tool to bring settings as we often take this sort of equipment change as an opportunity for a bit of a fresh start, with bookmarks and documents being re-imported later.

One particular PC (Dell Latitude E6420, BIOS A08) decided on the very morning it was to be replaced to stop booting, even in Safe Mode/Command Prompt. Diagnostics and a chkdsk /R found nothing. There were longer than usual delays to bring up an F12 (choose boot device) menu.

We had a backup of the data on it but it wasn't fresh because the user had been away from the office for a time. It seemed to me to be worth having a go at to get a better copy.

Booting to XP Recovery Console to try and knock out some services or drivers was abandoned because the CD hung at "Setup Is Starting Windows". My luck being what it was, none of my bootable media for DOS with HIMEM.SYS enabled were working so I could upgrade the BIOS. Here's what I did based on a survey of similar issues on the internet:

  1. Removed the hard drive
  2. Switched the disk mode from ATA to AHCI and installed Windows 7 on another drive (no problem there) and at the first opportunity upgraded the BIOS to A19 (step 1/2 not needed presumably if my usual boot media had allowed me to do the upgrade)
  3. Reinstalled the XP hard drive, restored ATA disk mode (the XP image wasn't built with the Intel AHCI driver)
  4. In BIOS - disabled USB, NIC eSATA, free fall accelerometer and so on
  5. At this point I was able to get the full F8 menu in Windows XP which I had not previously (just the "Windows did not start normally" basic options of Safe Mode, Last Known Config etc.) Again on the premises that a device driver might be at issue, I booted in VGA mode to bypass the display driver.

The laptop booted to Windows XP and permitted a logon. This left me with a bit of a quandary - I had disabled the NIC along with the other stuff. I opted to remove the data with a USB stick instead of chancing a reboot.

It would be nice to know what broke here but given that the machine is being deprecated anyway I don't have the time to invest. Hopefully someone will get some ideas for a similar future issue from the above.

Friday, June 07, 2013

"STOP: c000021a {Fatal System Error} ... status of 0xc0000135"

Have been struggling this morning with a Windows XP PC which was in a reboot cycle displaying the following error:
STOP: c000021a {Fatal System Error}
The Windows Logon Process system process terminated unexpectedly with a status of 0xc0000135 (0x00000000 0x00000000).
The system has been shut down.
God there's a load of crap on the internet - including in the Knowledge Base. "Do a chkdsk. Check the memory" which is all fine and well but it doesn't analyse the problem the computer is actually reporting (although Microsoft take 90% of the blame here for not properly publishing error codes.  More posts, including Microsoft, said "do a repair install" but that would have broken stuff I didn't want to break, and doing a re-image would have been inconvenient. Better to see if it could be fixed.

Most STOP 21A errors point to issues in winlogon.exe and csrss.exe but the "status of 0xC0000135" was an important differentiator between those and this, and it wasn't until I unearthed this blog, this forum post and a post by "Richard" on this forum page which led me to this crusty old NT4 Knowledge Base article that the solution emerged. A DLL file was missing from c:\windows\system32. But which one? And how to bring it in while causing minimum impact?

First I went to a working computer and copied all DLLs in \system32 to a folder on a USB key. Then I booted a Windows 7 install CD and went into the repair console. Why? Because the WinXP console is very limited, being unable to run offline system file checking or XCOPY. Then I did an XCOPY from the USB stick to c:\windows\system32, answering no to overwrite existing files. A bunch of stuff came in, mostly linked a scanner which wouldn't have been common to both, but some graphics dlls came in too.

We're migrating to Windows 7 so hopefully this isn't one I'll have to deal with again but am publishing it here in case some other poor soul comes across it.

Sunday, August 15, 2010

"Resolving" iTunes Error 1604 (and perhaps 1602, 1601?)

One of the most infuriating things about owning an Apple portable device is iTunes.  If I was to think of the single thing that would dissuade me most about owning a higher end device like an iPhone or an iPad, the thought of dealing with the catastrophic consequences of the most simple OS updates is it.   It's fashionable to dismiss RIM but while there are occasional hiccups their software update process works 99 per cent of the time, and does not REQUIRE the use of Desktop Manager to get it done - it can be done wirelessly via BES or wired via Internet Explorer.  Android phones can update by loading the patch onto a memory card.  Like removable batteries, Steve doesn't do such things as memory card slots so obviously that's out.

As I have whined before, Apple's patch sizes are outrageously large.  At a time when Rogers is reducing bandwidth to its customers, should those customers have to upgrade to receive nearly 400Mb of firmware update to resolve a security vulnerability, and 65Mb for a point.point release to iTunes (9.2.1)?  Having waited for this to download, shouldn't Apple test the iPod's capability to accept the download before whacking it and then popping up an esoteric message, the proferred solution for which is boilerplate like "reinstall iTunes"?  Why would an organisation so dedicated to "the experience" as Apple rely on a pop-up box Lotus would have been proud of?

Anyway, should get on with the 1604 "resolution" bit.  I tried a bunch of things, including updating (with the same cable - another boilerplate Apple suggestion is to change out the cable) on a different machine but the subsequent restore from backup failed (by the way - why should a "restore from backup" essentially mean blowing away the OS, Apple?  Why not just restore the settings and data from before and leave the OS as is?)

Finding myself with a partially restored device, with media but few settings, I happened across this 2008 post on O'Reilly which advocated a trip to the Genius Bar (but as this ZDNet blog shows, this can be just as annoying - not to mention that being on Mac doesn't give you an advantage either).  Deep in the comments I found this (more accurately I noticed the later comments of an "OMG you're the best" type:
I found a seemingly vague small post from 1 million google searches saying "Hey, if it hangs, before it goes to the 1604 error, just simply bring up your Task Manager and close the Itunes process...then, relaunch Itunes, it should see your Iphone, go through the restore again and wallah, it should work".

I thought: yeah right. And I was wrong...

IT WORKED. And it worked for my wife's Iphone too!! IT WORKS EVERY DAMN TIME!!!!!!
This worked for me - the "hang" was simply a long wait during "preparing iPod for restore".  I will say that having multiple recent backups is a good thing - because I hadn't synced recently I ended up going back to 6 weeks ago. The thing is - this post is in respect of restoring an iPod/iPhone from a bricked state. Apple shouldn't let it get to that - they should interrogate the device and if it throws the sort of error which causes 160x, it should not wipe the device. But since they aren't helping anyone avoid this state, I hope that this post will help others recover from a 1604 of their own.

Sunday, August 08, 2010

Fun with Rogers 8300HD and Component cables

My Samsung 32" decided it didn't want to talk to my HDMI cable any more, and since I didn't have the option of kicking it back to Rogers I thought I'd try Component/YPbPr.  Problem is - when I plugged them in I got SD and pink to boot.  I googled around and found this comment:
I tried resetting the box and a number of things, could not get the component to look right, it was all pink. Then, I figured it out. When trying to set up the STB, through component output, for HD (pushing Guide and Info on the box), the screen only gave me one option, "press A for SD mode". I was muttering to myself "I don't want SD Mode" and getting very frustrated, after a while, I just hit B anyway, and sure enough it started outputting HD no problem.
I tried this myself and presto, I have properly coloured SD and 1080i HD. Now to get Rogers to turn on the basic HD channels like CBC (rather than the specialties like CNNHD and DiscoveryWorldHD which weirdly work just fine).

Afterword - I may not have CBC HD but I have NASA TV HD.  That's a little bit awesome...