PDA

View Full Version : StringResolver question



Elmer1
03-25-2003, 05:02 PM
I have a custom bean that I wrote for 4.5.3. It writes support information into the Windows registry that can be accessed via the Add/Remove Programs.

When I converted to InstallShield 5.0, this stopped working. Evidence is pointing towards a string resolver call that used to return my product's UID/product key. It is used to figure out where the uninstall key is under HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall. When I try to resolve this now:

resolveString("$P($P(beanId).key.UID)")

I get the "Error: product bean <insert product name> does not exist".

So... what do I need to call now in order to get this information?

Thanks,

E

RobertDickau
03-26-2003, 08:59 AM
That expression should still work: I just placed $P($P(beanId).key.UID) in a wizard panel's Description property, and it displayed the correct UID value at run time...

Elmer1
03-26-2003, 10:55 AM
I found the error. My beanId in the product tree was something along the lines of "My Product 1.1". When I tried to resolve the string $P($P(beanId).key.UID), I would get the error "Error: product bean My Product 1 does not exist".

Note it did not say "1.1". The period seemed to be causing the resolver a problem. When I changed that beanId to be "myProduct", everything worked as intended.

E

RobertDickau
03-26-2003, 11:19 AM
As an aside, I gather that Bean IDs shouldn't contain spaces, either...

Elmer1
03-26-2003, 11:39 AM
I'm not sure about the spaces, but better safe than sorry. It was definitely the period causing the problems in this case, but spaces could very well create a different error.

I just became a little overzealous slapping the product's name and version in at the beginning of the install.

E