Missing _Validation Table Entries |
The following is an example of an error message you may see:
Windows Installer has reported that 2 column(s) in a "Property" table record failed "FIELD" validation: * #1 "Property": (MISSINGDATA) This column is not mentioned in the _Validation table. * #2 "Value": (MISSINGDATA) This column is not mentioned in the _Validation table. Contents of the Problem Record (table "Property") ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Property (s72) = ABCDEFG Value (l0) = C:\
This happens during the execution of the generated VBSCRIPT. The validation that has detected an issue was specified using the "@validate" parameter (or allowed to default) on a "row" command.
I don't believe you will see "MISSINGDATA" messages if there is no "_Validation" table at all, but if it exists it would ideally contain all required entries, one solution is to add the entries to the table, this is the best solution as it maximises the validation of your input.
Another way to correct this problem on your row commands use the "@validate" parameter, if its MAKEMSI generated row commands then set the default for this parameter instead. Don't completely turn off validation, just turn off the "MISSINGDATA" detection.
If you wished to ensure you never overwrote existing records and also wanted to ignore "MISSINGDATA" issues:
... <$MacroCfg "DEFAULT_ROW_VALIDATE_NO_WHERE" VALUE="NEW -MISSINGDATA"> <$Row ...> <$Row ...> <$Property "ABCDEFG" VALUE="C:\"> ... <$/MacroCfg>