[wix-users] Installation becomes per-machine with empty HKCU keys or with regkeys set as keypaths

Eugenio Rustico eugenio.rustico at clausmark.com
Wed Mar 29 05:44:35 PDT 2017


Hello, 


I harvest some registry keys from a reg file and include the fragment in in main .wxs source. The installation is per-user. I get the following ICE 57 error: 

    C:\ ... \fragment_registry.wxi(14) : error LGHT0204 : ICE57: Component '...' has both per-user and per-machine data with a per-machine KeyPath. 

in two cases: 

1. If in the harvested registry file there is an empty key. For example, this .reg file generates the error: 

    [HKEY_CURRENT_USER\Software\Company\Sw\v6] 
    [HKEY_CURRENT_USER\Software\Company\Sw\v6\services] 
    "lastServiceId"="aaabbb" 

While if I comment out or remove the empty key I get no error: 

    ;[HKEY_CURRENT_USER\Software\Company\Sw\v6] 
    [HKEY_CURRENT_USER\Software\Company\Sw\v6\services] 
    "lastServiceId"="aaabbb" 

2. The fragment produced by heat contains a component group with many components, each containing a registry key; each key has the keypath attribute set to yes (similarly to other keys in the main .xws file including the fragment). However, I get the above error unless I remove the keypath attribute from each key (by applying a XSLT template with heat). All keys are HKCU. The Directory attribute of the Components is mandatory and I get the error with both TARGETDIR and INSTALLDIR. 


Why do I get this error? 


Best Regards

Dr. Eugenio Rustico 

Clausmark GmbH 
Phone: +49 (721) 98 96 39 0 
E-Mail: eugenio.rustico at clausmark.com 




More information about the wix-users mailing list