cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
razmik
Level 3

String ID Validation for Strings Table

Hi,

In order to have a Global Installation, all the strings are added to String Tables:
Example: @IDS_MYString

Identifier -------------------- Value
IDS_MYString ------------------ My string Value

Usage:
MessageBox(@IDS_MYString, WARNING);

But I was surprised to find out; if there is a misspelling for the String Identifier such as the following: MessageBox(@ID_MStrng, WARNING);

the InstallShield 2008 compiler does not complain and builds the setup successfully?

Is there a way to get InstallShield to warn on this Error? Or Validate the script against the String Tables?

Thanks
Labels (1)
0 Kudos
(4) Replies
RobertDickau
Flexera Alumni

Alas, there's currently no validation by the compiler. One option, though it's a bit more typing, is to use LoadStringFromStringTable (instead of the @ operator) to load string table entries; at run time, anyway, you can catch missing entries.
0 Kudos
razmik
Level 3

Hi Robert,

The problem with @ and the LoadStringFromStringTable() as you mentioned is that they both only catch the error at runtime. ( When customer is reading them:( )

There should be a better way to address the issue.

This is a major shortcoming for over 10 years of development at InstallShield and now Macrovision as of 2004, given that everyone is moving to localization.
0 Kudos
DebbieL
Level 17

Yes, this is currently a limitation. Please note that we are considering adding build-time validation of string table identifiers in .rul files for a future release. It's logged as issue IOC-000058433.

Debbie Landers
Macrovision Corporation
0 Kudos
razmik
Level 3

Hi Debbie,

I am glad to hear you are planning to address this.
But from the sounds of the , am I guessing the timeframe to be for IS 2009 and not 2008 SP1?

Thanks
0 Kudos