Saturday, November 7, 2009

How buggy software could bring great hardware to it's knees

Being a developer feels sometimes like a curse. Even though it can resolve complex software issues, 3rd party installs, etc... It is also painful to see 2-7 hours of you personal life time burn away because of another outrageous development mistake. Superior hardware components brought down on it's knees because of one line of code, or lack of it.

My latest painful experience was with the "HP Wireless Office Jet 8500 All in one Printer, Fax and Scanner" installer. Tsk tsk HP!
 At some point during installation, the software tries to install Flash9f.ocx V9. My computer; however, had Flash V10 installed. This caused an error. The TITLE of that error window had the following error code:

"hpzsetup.exe" "-f" ".\autorun_network.inf" "-networkonly" "-wStub" "263454"

Might as well say GUESS!

This simple Flash version check (which is less than 2 hours worth of development time) could have saved me "a single customer" 14+ hours of my time. I am sure that many other novice customers, would have returned this after a couple of hours of frustration and fiddling with the uninstall/install options. If not, they would have settled for 1/8 of the installed features during that buggy and faulty installation.
I wonder how much did this mistake cost HP; returns, phone support, reputation which equals future recurring purchases. That was my experience with Cannon scanners, and that's why I decided to try HP this time "Drivers". It seems that HP has fallen behind in this particular instance. The reviews on Amazon at the time of writing this blog were 26 (one stare) / 39 (5 star)
I guess they will keep falling, unless someone at HP wakes up and fix the installer before flash 12 :)

Below is another error code generated and logged after a recovery attempt.

---------------------------
Error Situation Code: 24749208
---------------------------
The following lines were retrieved from the installation error logs.



= Application did not return ERROR_SUCCESS. Returned 0x2

Exit code=1602

= Application did not return ERROR_SUCCESS. Returned 0x2

LaunchApp(X:\hpqtra08.exe -shutDown,1,00000000,00000000) failed with 2

Error opening key HKLM\SOFTWARE\Hewlett-Packard\Install\{624E7452-BA43-4f55-B9D5-FC75EEA0808B}. error=2

Error message received: Module X:\Flash9f.ocx failed to register. HRESULT -2147220473. Contact your support personnel.

Timed out waiting for product finish event

RUN: Driver UI Plug-In exits returning 50

= Application did not return ERROR_SUCCESS. Returned 0x2

RUN: Driver UI Plug-In exits returning 50

= Application did not return ERROR_SUCCESS. Returned 0x2

LaunchApp(X:\hpqtra08.exe -shutDown,1,00000000,00000000) failed with 2

Error opening key HKLM\SOFTWARE\Hewlett-Packard\Install\{624E7452-BA43-4f55-B9D5-FC75EEA0808B}. error=2

Error message received: Module X:\Flash9f.ocx failed to register. HRESULT -2147220473. Contact your support personnel.

X:\GPBaseService2.msi failed with return code 1602

MSIInstall() failed with 1602 for MSI GPBaseService2

Exit code=1602

Exit code=21

= Application did not return ERROR_SUCCESS. Returned 0x2

LaunchApp(X:\hpqtra08.exe -shutDown,1,00000000,00000000) failed with 2

Error opening key HKLM\SOFTWARE\Hewlett-Packard\Install\{624E7452-BA43-4f55-B9D5-FC75EEA0808B}. error=2

Timed out waiting for product finish event

GetDatFileName() returned FALSE. We need a dat file to run.

= Application did not return ERROR_SUCCESS. Returned 0x2

LaunchApp(X:\hpqtra08.exe -shutDown,1,00000000,00000000) failed with 2

Error opening key HKLM\SOFTWARE\Hewlett-Packard\Install\{624E7452-BA43-4f55-B9D5-FC75EEA0808B}. error=2

Error message received: Module X:\Flash9f.ocx failed to register. HRESULT -2147220473. Contact your support personnel.

Timed out waiting for product finish event


---------------------------
OK
---------------------------