While installing some line-of-business software on Windows 7, we've gotten this error:
This is due to a bogus entry in the registry, and it's almost certainly crud left behind by HP's operating system imaging software. The fix is to go into the registry looking for these keys:
In each case, look for a value named InstallLocation containing the string "\Hewlett-Packard\\": just delete this value and try running the installer again. The second key above (with Wow6432) might only be found on 64-bit versions of Windows.
When in the Registry Editor, it looks like this: the InstallLocation is on the right (be sure to check both locations):
What's happening is that the MSI installer is having its property INSTALLDIR set from this location (not sure why), and this breaks things.
I don't know why some installers have this problem while others do not: my hunch is that it has something to do with using Microsoft's WIX XML-based tools to create the installer - it may be that this is part of some default template. It's not clear that the installer is doing anything wrong, and it may well be that HP needs to just fix its images. I don't know.
This is almost certainly not a Windows 7 issue, as I can reproduce this on XP by planting the above bogus registry values: instead I think it's an HP problem. I've never seen it on anything but an HP-brand computer.
Those who have to deal with this in bulk may wish to create a small .REG file with codes that delete the locations having problems:
REGEDIT4 [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall] "InstallLocation"=- [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall] "InstallLocation"=-
Running this file (or double-clicking) will apply these values and clean up the registry directly, but it should only be run on systems that are known to have the problem: otherwise it may delete good InstallLocation values found in the registry.