This website uses cookies. By clicking Accept, you consent to the use of cookies. Click Here to learn more about how we use cookies.
Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
- Revenera Community
- :
- InstallShield
- :
- InstallShield Forum
- :
- Re: Bug in system search: logic of 64-bit portion toggle is backwards
Subscribe
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jul 10, 2009
12:25 PM
Bug in system search: logic of 64-bit portion toggle is backwards
There appears to be a bug with the "look in 64-bit portion of the registry" toggle in the System Search dialog. If you toggle it on, the installer does not look in the 64-bit portion of the registry. If you toggle it off, it does. I've confirmed this with multiple projects. It works, but the logic seems to be backwards, or the text is misleading.
Maybe this has been addressed in an update or maybe this is fixed in IS2010, does anyone know?
Maybe this has been addressed in an update or maybe this is fixed in IS2010, does anyone know?
(7) Replies
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jul 10, 2009
01:00 PM
I've tried reproducing this in a sample project and was unable to do so. When creating a system search for a registry entry and selecting the "Search the 64-bit portion of the Registry" option, the value in the Type column of the RegLocator table was always greater than or equal to 16 (see http://msdn.microsoft.com/en-us/library/aa371171(VS.85).aspx for the Type values). If the option is not selected (for a 32-bit search) the Type value is always less than 16.
Does this occur with a new system search in your project or a new system search in a test project? Also, what is the value in the Type column in the RegLocator table after creating the search?
Does this occur with a new system search in your project or a new system search in a test project? Also, what is the value in the Type column in the RegLocator table after creating the search?
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jul 10, 2009
01:31 PM
It happens in my own project. I haven't tested it in the sample projects. Our project checks to see if two previous betas were installed so I have 4 system searches, a 32-bit and a 64-bit search for both betas. The RegLocator table shows the four searches, but I can't tell which is which without taking out one of the searches and rebuilding the project, which is a hassle. Is there an easier way to tell? I see two 2's and two 18's but that probably doesn't help much does it? The last one I added was the one with the toggle turned off. So if the order of system searches in the InstallShield interface is the same order as the searches in Orca, this would be type value 18.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jul 10, 2009
02:00 PM
Each record in the RegLocator table contains the key and a value name that the registry search will look for. Also, the AppSearch table contains the property that is associated with each system search. With the information listed in the System Search view, you can determine which property is associated with which signature in the RegLocator table. These are the only tables populated for registry searches in the System Search view. Since each search should have a different property associated with it (otherwise, each search will overwrite the previous search's results at runtime), it should be possible to determine which entries are 64-bit searches (though these should be identifiable from Type values greater than or equal to 16).
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jul 10, 2009
02:13 PM
Okay, the search with the toggle turned off has a type value of 2. It sounds like this is what's supposed to happen, but this isn't the behavior I see at runtime. I created a search with the toggle turned on and it worked on a 32-bit machine, but not on a 64-bit machine. So I created an identical search with the toggle turned off and then it worked on a 64-bit machine.
Could this be a windows bug?
Could this be a windows bug?
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jul 17, 2009
03:17 PM
Right now I'm having a similar problem.
My installer doesn't find the keys in the 64-bit section of the registry, and the checkbox is enabled.
I'll try doing it as you suggest and see what happens.
Regards,
-Juan Carlos
My installer doesn't find the keys in the 64-bit section of the registry, and the checkbox is enabled.
I'll try doing it as you suggest and see what happens.
Regards,
-Juan Carlos
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jul 23, 2009
03:45 PM
I finally got a solution to my problem.
The type I was using in the RegLocator table is 16, and seems like the installer is able to find the registry key, but because 16 corresponds to a directory and my installer is running as a 32-bit process, it cannot find the directory, which makes the search to fail.
I changed the 16 to 18, which corresponds to a registry entry (no files or directories) and now it works fine.
cbarlow, I tried using what you suggested (not setting the 64-bit flag) but it doesn't work in my systems.
Regards,
-Juan Carlos
The type I was using in the RegLocator table is 16, and seems like the installer is able to find the registry key, but because 16 corresponds to a directory and my installer is running as a 32-bit process, it cannot find the directory, which makes the search to fail.
I changed the 16 to 18, which corresponds to a registry entry (no files or directories) and now it works fine.
cbarlow, I tried using what you suggested (not setting the 64-bit flag) but it doesn't work in my systems.
Regards,
-Juan Carlos
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jan 18, 2011
04:04 PM
Okay I am having sort of the same issue here.
We have are main app installer which is a 32 bit installer and it has 3 prerequisistes attached to it. One is a 32 bit installer and the other tow are 64 bit installers.
When the main app install runs I use System Search to located the installation folders of the prerequisites. The search seem to not find either of the 64 bit apps and I have one set with the 64 bit check box checked and the other with it not. So it does not look like that makes a difference.
The one that has it checked as a type value or 18 and the one that does not have it checked as a type value of 2. So has someone figured out how to search for the 64 bit registry when the install is running 32 bit?
We have are main app installer which is a 32 bit installer and it has 3 prerequisistes attached to it. One is a 32 bit installer and the other tow are 64 bit installers.
When the main app install runs I use System Search to located the installation folders of the prerequisites. The search seem to not find either of the 64 bit apps and I have one set with the 64 bit check box checked and the other with it not. So it does not look like that makes a difference.
The one that has it checked as a type value or 18 and the one that does not have it checked as a type value of 2. So has someone figured out how to search for the 64 bit registry when the install is running 32 bit?