PDA

View Full Version : detecting Access version via Registry



jasonisaacs
01-13-2003, 12:13 PM
I'm trying to install a certain version of a database based on the version of MS Access that is installed. I've found that the key that keeps this information is:
HKEY_CLASSES_ROOT\.mdb\Access.Application.8 for Access 97
HKEY_CLASSES_ROOT\.mdb\Access.Application.9 for Access 2000
HKEY_CLASSES_ROOT\.mdb\Access.Application.10 for Access XP.

I've tried to use the Condition Builder to create the condition for this with every permutation of key name and value that I can think of, but the files are still not installed correctly (in fact, they are not installed at all).

Has anyone had any experience with a similar installation?

brian.webb
01-13-2003, 03:17 PM
I think I'm seeing the same problem. I'm also a bit confused and suspect there might be conflicting symantic problems with the System Search Wizard. When looking at the terms from the perspective of Regedit, a 'key' is a folder (list of keys is on the left in the registry). A 'value name' are the items contained within a key (list on the right in regedit) and 'value data' is the data contained within the 'value name'.

I want my installation to only proceed if it has found the following registry 'value name', which is a string value:

HKLM\Software\MyKey\MyValueName

I started the wizard as well and tried every registry item search. I also iterated between:

1. Setting the "Registry Key:" to Software\MyKey and the "Value:" to MyValueName

and

2. Setting the "Registry Key:" to Software\MyKey\MyValueName

None of them seems to work? My install won't proceed in all cases, even though this registry 'value name' is there. Does the System Search Wizard consider the "Value:" to be the 'value name' or the 'value data' (the data contained within a value name)?

Much thanks,
Brian
brian.webb@bidmaker.com

Chandima
01-13-2003, 04:57 PM
Let me try and clear things up a little. The current functionality is that the setup will either continue or fail if it finds that particular reg entry.

That is suppose you have a key named HKLM\Software\Test. This key has a string data named "MyTest" with a value of "Express". The system search wizard will pass if it finds HKLM\Software\Test\MyTest. You can NOT get it to tell the difference between "MyTest" having a value of "Express" or "Developer". We are trying to address this limitation with a service pack. The current workaround for this would be to create an ini file.

brian.webb:
=========
The following setting is correct:
Setting the "Registry Key:" to Software\MyKey and the "Value:" to MyValueName

Your problem however is probably the search TYPE you chose. Delete this search and create a new one. When selecting the type of search on "What do you want to find?" panel, make sure you select "Registry entry, that contains other data".

This should work.

jasonisaacs
=========
The files are not getting installed at all because the condition is always returning false. I have the same advice for you.

Delete this search and create a new one. When selecting the type of search on "What do you want to find?" panel, make sure you select "Registry entry, that contains other data".

Let me know your progress.

brian.webb
01-13-2003, 05:14 PM
I've found that if the registry 'value name' doesn't have any data it won't be found.

Once I popped a number or a random string in the 'value data' it works great, the 'value name' is found.

Thanks,
Brian