12
votes

I'm using wix 3.5 to author a windows installer with the "perUser" install scope. The wxs file is here, the resulting MSI file is here.

I get the following strange warnings from the light.exe linker. I'm not sure if I should just suppress them or if there is some better way to fix this.

ICE57

D:\hg\downmarker\setup\product.wxs(34) : warning LGHT1076 : ICE57: Component 'component.downmarker.exe' has both per-user and per-machine data with an HKCU Registry KeyPath.

This warning doesn't make sense to me, because the installer works fine without administrative access - which AFAIK proves that the installer doesn't write any "per-machine data" as the warning claims.

ICE91

D:\hg\downmarker\setup\product.wxs(37) : warning LGHT1076 : ICE91: The file 'downmarker.exe' will be installed to the per user directory 'DownMarkerFolder' that doesn't vary based on ALLUSERS value. This file won't be copied to each user's profile even if a per machine installation is desired.

This warning doesn't make sense to me either because I explicitly mark the installer as having the "perUser" install scope.

1

1 Answers

9
votes

ICE57 is shown because component "component.downmarker.exe" contains registry entries from HKEY_CURRENT_USER and HKEY_CLASSES_ROOT. HKEY_CLASSES_ROOT is per-machine, so the component has both per-user and per-machine data.

I noticed you are using HKEY_CLASSES_ROOT for a file association. You can use "HKEY_CURRENT_USER\SOFTWARE\Classes" instead to obtain a per-user file association.

ICE91 is harmless and can be ignored for per-user installations: http://msdn.microsoft.com/en-us/library/aa369053(VS.85).aspx