I build an installer using WiX 3.5. The installer utilizes VB6 merge modules. I always get a lot of error messages from light similar to this:
error LGHT0204: ICE03: Table: Class Column: CLSID Missing specifications in _Validation Table (or Old Database)
So, VB6 is obviously old and I should assume it's an Old Database. That's why I want to ignore the error messsage since I must be careful with the errors from my WiX source.
When I pass -sw03
to candle and light the error messages are NOT suppressed. I also don't want suppress errors caused by other modules. How do I get rid off the problems with the old merge modules?
This ICE error usually occurs when components are added manually to the Component table without being assigned to any feature within the MSI package. To fix this, add an entry to the FeatureComponents table.
An ICE is used to validate installation packages. The table in this topic identifies each ICE. For information about ICEMs used to validate merge modules, see Merge Module ICE Reference. ICE.
I too had same problem but then found pretty simple solution. Just suppress the ICE validations from the WIX project as shown below Go to tools settings property and check "Suppress ICE Validations" box
The ICEs run against the final .msi package; once merge modules are linked in, the ICE code has no way of knowing which rows in which tables came from which merge modules. You can file a feature request for WiX to support running validation before merge modules are linked in, but that wouldn't let you validate other merge modules. No good solution, I'm afraid.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With