Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I suppress ICE errors from merge modules

Tags:

wix

wix3.5

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?

like image 506
harper Avatar asked Aug 14 '11 06:08

harper


People also ask

How do you fix ICE errors?

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.

What is ice validation?

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.


2 Answers

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 enter image description here

like image 184
Sunil Agarwal Avatar answered Sep 23 '22 02:09

Sunil Agarwal


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.

like image 38
Bob Arnson Avatar answered Sep 23 '22 02:09

Bob Arnson