The build error 7354 occurs while referencing a string that does not have the correct value in MSI projects. The issue may occur with a new project or a migrated project. The error will reference the string as well as the table using the string.
For example, the error can be displayed as: ISDEV : error -7354: The <LANGUAGE NAME> value for string <STRING_ID> does not contain a legitimate value for table <TABLE NAME>column <COLUMN NAME>.
ISDEV : error -7354: The English (United States) value for string 'ID_STRING4' does not contain a legitimate value for table Shortcut column Name
This error is known to occur when a destination filename column needs to be in the shortfilename format as documented at the following link.
We introduced additional string validation with InstallShield 2016, therefore a project successfully built in previous versions may exhibit this error when built using InstallShield 2016.
Check the requirements of the table mentioned in the error.
Use Direct Editor to navigate to the table and press key F1 will bring out the HelpDoc for the table. Clicking on the link for the Type column will bring up an article about field requirements.
For example, the FileName column of the RemoveFile table requires a FileName data type. This data type will need a short file name. Adding a short file name will fix the issue.
For Express projects there is no direct access to the tables. The string entries can be exported in the Project > Export String Entries option. The modified strings can then be imported back to the project after being fixed.
To include a long file name with a short file name, separate it from the short file name with a vertical bar (|). For example, the following two strings are valid:
Eshwar.txt Projec~1.txt|Project Scripting.txt
Short and long file names must not contain the following characters: \ ? | > < : / * "
In addition, short file names must not contain the following characters: + , ; = [ ]
Short file names may not include a space, although a long file name may. No space is allowed preceding the vertical bar (|) separator for the short file name/long file name syntax. If a space exists after the separator, then the long file name must have a space at the beginning of the file name. No full-path syntax is allowed.