Friday, March 27, 2009

Here's the "Prerequisite condition editor" dialog from InstallShield 2009:

image

The first snag I ran into was determining what the difference was between a registry entry having a "specified value" and one having a "specified version value".

It's certainly not clear from this dialog, since both options show the same set of properties at the bottom of the screen.

It's also not in the help file or documentation online anywhere that I could find.

Come to find out, the former performs a "stringwise" comparison, whereas the latter performs a numeric comparison. Pretty important distinction.

Then there's that "Run this prerequisite if the specified registry value data has the following relationship to the existing data" frame. huhwha?

I had to read that one more than a few times to grok what it's actually trying to say, and that's never a good sign.

Top it off with the fact that a call to InstallShield support verified that the sentence logic itself is backwards. Even the developers couldn't read it right!

End result. Let's say you want to install your prerequisite if registry value x is non-existent or 1.

In that case, you'd need to set the condition as a "Registry entry has a specified version value" type condition, you'd set the registry key and value names appropriately, and finally you'd set a "value data" to 1 and set the relationship to "is less than", even though that is the opposite of what the dialog reads.

Name
E-mail
(will show your gravatar icon)
Home page

Comment (Some html is allowed: a@href@title, b, i, strike, strong) where the @ means "attribute." For example, you can use <a href="" title=""> or <blockquote cite="Scott">.  

Live Comment Preview