Our application is called by another application made by a different
company. Users started to complain that our application was not found by
the other company's application. I later found out that they were using
the registry HKEY_CLASSES_ROOT\Applications hive to locate our software.
However, I did not author anything for that registry for the Windows
Installer. I did associate a file extension with our applications, but
that causes the Windows Installer to create the use
HKEY_CLASSES_ROOT\.ext => HKEY_CLASSES_ROOT\AppDocument stuff to be created.
So the question is. Does the Windows installer also create the
HKEY_CLASSES_ROOT\Applications\app.exe entries? If so, should it not be
considered a bug that the entry is not cleaned up after de-installation
and does not get updated?
Thanks for any help in advance,
Theo
Even so, I wouldn't use that to locate your app without some sanity check
first. At the very least they should use your UpgradeCode or ProductCode to
determine if your product is installed, and perhaps use a component Guid to
get the path to your exe. The presence of some arbitrary registry data is
not really the "right" way to determine if a product is installed. I know
everybody does it, but this type of thing is why it's unreliable.
--
Phil Wilson
[Microsoft MVP-Windows Installer]
Definitive Guide to Windows Installer
http://apress.com/book/bookDisplay.html?bID=280
"Theo Landman" <tlandman_NO_SPAM@justcroft_NO_SPAM.com> wrote in message
news:%237vduSM...@TK2MSFTNGP05.phx.gbl...
Phil Wilson schreef:
> That looks like a bug that HKCR\Applications\<some exe> doesn't get removed
> when the app gets uninstalled.
The registry entry seems to be used by the Windows Shell to open any
file with an application. Is this required then by one of those MS
guidelines?
> Even so, I wouldn't use that to locate your app without some sanity check
> first. At the very least they should use your UpgradeCode or ProductCode to
> determine if your product is installed, and perhaps use a component Guid to
> get the path to your exe. The presence of some arbitrary registry data is
> not really the "right" way to determine if a product is installed. I know
> everybody does it, but this type of thing is why it's unreliable.
That is what I told them in the first place, but either their programmer
thought it was too much effort on his part using the Windows Installer
or it is one of those "it is way cool to fiddle with the registry" kind
of guy. He was courteous enough to dump it back on my plate.
Theo