Never one to make life simple for myself, I decided to do a bit of upgrading on my laptop today.
The Apple Software Update service had helpfully informed me that the latest iTunes + Quicktime updates (7.5.0.20 and 7.3.0.70 respectively) were available to download, so I decided to do the download through this tool instead of just using it as a notification service and doing a full, manual download by hand like I normally do. I'm pretty sure the MSI packages that are downloaded through this tool are pretty much full installs, so it's not really saving any bandwidth to do it this way (which is a shame - it would be worth doing if they were actually patches/deltas).
Of course the update failed. No useful message as to why of course. Just an extremely unhelpful pop-up saying "The system cannot open the device or file specified," and an equally unhelpful Application Event Log message (Event ID of 1013 and that's about it.) It appeared as if the failure was happening during "Starting Apple Mobile Device Support installation..."
Apple Software Update suggested I should try and install the MSI by hand, so that is what I then dutifully tried to do. I tried the iTunes MSI file and this failed as well, with no further useful information. Trying the AppleMobileDeviceSupport MSI file failed with the same error message, but with an error code as well (2755). The Application Event Log entry was more verbose, but equally as unhelpful except for a new Event ID of 10005. Seriously, would it kill programmers to actually log why they're putting an entry into the Event Log in the first place (and not just the what)?!
A quick Google on the various error messages and Event IDs didn't really turn up anything useful at all, except for vague suggestions of cleaning up the MSI Installer database through use of the "Windows Installer CleanUp Utility" and deleting the entry for the application that wasn't installing properly. This seemed worth a try if the application in question doesn't require too much custom configuration (which applied in my case as I just needed to adjust the install path like I do for all my installs anyway.)
So the next issue I ran into is that this tool needs Windows Script Host enabled to use it. Somewhere along the way, I've disabled that completely on my laptop due to the inherent security weaknesses it introduces and the fact that nothing I use needs it. Until now of course. So I temporarily re-enabled it, which basically just means setting the following registry key back to "1":
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Script Host\Settings\Enabled
I removed the entries for both iTunes and Apple Mobile Device Support, and attempted to the re-do the Apple Mobile Device Support install again via the MSI. Same problem. Same problem with iTunes.
I then decided to delete iTunes completely and try a fresh install, except when I went to Add/Remove programs, it wasn't there... which on reflection is probably obvious as the Windows Installer Cleanup Utility most likely removes the entry that is used by Add/Remove Programs to track what software is installed. Mental note for the future.
At this stage, I began to suspect that my installation of Quicktime Alternative might have something to do with things, although I was under the impression that an upgrade of Quicktime should pretty much install straight over the top without too much hassle and I'd only be left with the hassle of disabling Quicktime and getting Quicktime Alternative to work again. I had installed Quicktime Alternative so that MPEG Streamclip would work properly on my laptop when I forced to use it instead of one of my Macs.
So the next step was to uninstall Quicktime Alternative to see if this made a difference. After the reboot (grr...) that this required, I then retried the iTunes MSI install and this failed as before. I now tried the Quicktime only MSI install and this failed in the same way as the Apple Mobile Device Support install (error code 2755 and Event ID 10005.) Which I thought was interesting, as my guess was that they were both looking for some file and/or service that wasn't present or running. Why couldn't the programmer just log that?! Without that info, I was either forced to spend even more frustrating time trying to debug/deduce what was missing through process tracing tools, or just use the de-facto, brute force fix on almost all things Windows related - do a complete reinstall.
This meant going back to the full setup files for iTunes + Quicktime instead of just the updated MSI files. I tried an old Quicktime full install that I had (7.2.0.240) and it worked! I then tried the newer MSI file... and it failed. Wow. By this stage though, the call of the garden was strong, and I decided to admit defeat and download the full installs of both iTunes + Quicktime and reinstall by hand. Bugger using the updates; I'll just have to stomach paying for the redundant downloads.
Which of course worked. Sigh. If there's one thing that I hate worse than the atrocious logging used by the vast majority of lazy programmers that makes life far more difficult for system administrators and support personnel that it should be, it's brain-dead, poorly tested upgrades to software that almost seem to rely upon the trained response in Windows users to just reinstall everything from scratch whenever something goes wrong.
Deep breath. I disabled WSH again, and then started to muse over how well my iPod Nano would stand up to direct sunlight and the occasional bit of dirt thrown at it...
Tuesday, 4 December 2007
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment