tags:

views:

27

answers:

2

I am getting this error in my Wix project, and I am not able to get a clear solution in the web for this error:

error LGHT0204: ICE03: Validation table: Data in KeyTAble column is incorrect; Table: MsiAssembly, Column: Feature, Key(s): Component_USBComm_x86

and also this error:

error LGHT0204: ICE57: Component 'Component_HTMLHelp' has both per-user and per-machine data with a per-machine KeyPath.

Any idea or pointers to understanding what I might be doing wrong?

thanks

+1  A: 

The first error tells me that you have a problem in your _Validation table. The second one tells me you have a component that mixes per machine and per user resources in a single component. I am wondering from the component names if you authored this in WiX or if you are picking up a third party merge module that is introducing the problem into the built MSI.

ICE03 link text _Validation table: Data in KeyTable column is incorrect The KeyTable column in the _Validation table references a table that does not exist in the database.

ICE57 link text ICE57 validates that individual components do not mix per-machine and per-user data. This ICE custom action checks registry entries, files, directory key paths, and non-advertised shortcuts.

Mixing per-user and per-machine data in the same component could result in only partial installation of the component for some users in a multi-user environment.

Christopher Painter
Thanks for your response..I am new to the WiX setup. All the component names are authored in the wix project itself. How can I look up the keytable column? Where is the _Validation table stored?
murlex
You can edit the built MSI with ORCA ( MSI database editor ) perform validation and see the effected tables and rows. I'd have to look at your wxs file to see what is wrong.
Christopher Painter
Thanks for the pointer to ORCA. That gave me some idea as to what is going wrong. Basically my entire <feature> table is missing in the msi. I had grouped all the features as a fragment in a separate fragment.wxs. Do I need to do any backlink in that fragment to indicate that the features belong to the product?
murlex
Take a look at the FeatureGroup, FeatureGroupRef and FeatureRef elements
Christopher Painter
A: 

That was the problem. I basically had to add featureref to all those features defined in a separate wxs in my primary wxs. After that, those features were added to the table and the problem appears solved..Now off to clean up my component to get rid of the second error I am getting.

Thanks a lot. I just registered for this website, and so am not able to upvote or accept this answer :(