9

I want to create an installer (msi) for my application. I want to add a folder that contains lot of files. So I use heat to create the wxs file for the folder. The wxs file created looks like this :

<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
    <Fragment>
        <DirectoryRef Id="INSTALLDIR">
            <Directory Id="dirD443000E4EC0AE53948090C1CD372519" Name="www">
                <Component Id="cmp258C40B6C01189153117075B9889DA7C" Guid="{23189859-29AE-46E6-A940-0B2307344910}">
                    <File Id="fil0DE52257C6EF99D33B0974915A17454E" KeyPath="yes" Source="$(var.WwwPath)\3rdpartylicenses.txt" />
                </Component>
                <Component Id="cmp85367E8DB342884A004620F1E4153AE4" Guid="{00EBB07A-6178-4072-B47C-2D9130CB96A7}">
                    <File Id="filB62696889B5411543CB3DFD6E2A1270D" KeyPath="yes" Source="$(var.WwwPath)\color.c7a33805ffda0d32bd2a.png" />
                </Component>
                ...
                ...

When I run my command light, I get a lot of error like this one (one per file):

error LGHT0204 : ICE80: This 32BitComponent cmp258C40B6C01189153117075B9889DA7C uses 64BitDirectory dirD443000E4EC0AE53948090C1CD372519

But the msi created seems to work as expected. But I would like to understand and remove that error if I could.

Any idea ? Thanks

  • 1
    Where is your directory definition where you define INSTALLDIR? You might have folders above INSTALLDIR pointing to ProgramFiles64Folder or something. You can also supply `-suid` to heat to get actual names instead of `dirD44...` ids. – Brian Sutherland Mar 14 '18 at 17:49
  • It is defined like this. You're right, I can see that I set a directory with ID= ProgramFiles64Folder. But all my files that I want to put there are text files or kind of, not exec file. Is it a problem ? – François Dubois Mar 14 '18 at 19:27
  • 5
    If you know for sure you want to put them there you can mark the component `Win64='yes'`. It is kind of weird to put some files in the program files (x86) and some in the Program Files folders. Usually you would put everything in one then maybe put those text files in user's app data or `CommonAppDataFolder` (C:\programdata on newer windows OS) – Brian Sutherland Mar 14 '18 at 19:44

1 Answers1

4

I've tried adding componnents atrributes Win64='yes' like in @Brian's comment, but it removed during build. This answer helped me solve this issue.

Mardok
  • 624
  • 8
  • 18