Hi Dan -
Thanks for the quick response.
After using your product for nearly 8 years I really appreciate how I can post a question or send a request to support at the end of my day and often get a response by the following morning. Awesome!
I was finally able to schedule some time to look at your example and found it worked great for 32-bit versions, but not for 64-bit. (Looking back at my original post I see I left that requirement off - oops.)
After learning that Extended Searches did not support searching the 64-bit registry, I came across this gem
http://www.advancedinstaller.com/forums ... 177#p52827 which recommended modifying the "Platform" field of the "AI_AppSearchEx" table in the table editor and found it worked great.
Based on the minimum version found, I was hoping to create an additional search to find the JavaHome and came across something that left me a bit confused.
Using the following registry search, it was not returning anything.
Root: HKEY_LOCAL_MACHIONE
Key: SOFTWARE\JavaSoft\Java Development Kit\1.7
Name: JavaHome
Type: The value contains a path to a directory
Search the 64-bit portion of the registry is selected.
However, switching the type to 'Retrieve the raw value' I found it was returning 'C:\Program Files (x86)\Java\jdk1.7.0_75'. This path does not exist, which explains why it was previous returning null. Manually checking the registry HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Development Kit\1.7\JavaHome, the value is in fact C:\Program Files\Java\jdk1.7.0_75.
Making things even more interesting, I used Microsoft's Process Monitor (the sysinternals tool) I could see that msiexec.exe did actually read the correct 64-bit value out of the registry.
The next thing I'll probably try is an inline script where I dynamically build the path for the 64-bit registry, and set a session property but I ran out of time today.
A number of additional questions for you.
1) Is it possible to use a property in the registry search key?
Instead of hard-coding version number 'SOFTWARE\JavaSoft\Java Development Kit\1.7' I was interested in using the value returned by another search 'SOFTWARE\JavaSoft\Java Development Kit\MIN_JDK_1.7X64'
2) When using prerequisites, I see it requires the bootstrapper. Is there a way to determine if the installer has been launched from the bootstrapper?
If a customer runs the bootstrapper, I would like to display our readme but when they get to the installer I do not need to display it a second time. And if they run the installer directly, I would probably also need to check for Java again.
3) Are there any plans to add Java Cryptography Extension (JCE) as a prerequisite?
When installing our application, we need to have the JCE installed that is the correct version for the version of Java that is installed.
4) Is there a tentative release date for 12.5?
If it is really close, I could see with sticking with our current approach of a launch condition.
Whew, I think that's it for now…
Thanks again!
Doug