With WiX, I want to distribute a C# program that uses SQLite.
SQLite recommends the files structure below, so I use it:
In Wix, I create the x86 and x64 folders and put the right DLL in each:
<Directory Id='x86' Name='x86'>
<Component Id='x86' Guid='...'>
<CreateFolder />
<File Id='f86' Name='SQLite.Interop.dll' Source='x86\SQLite.Interop.dll' />
</Component>
</Directory>
<Directory Id='x64' Name='x64'>
<Component Id='x64' Guid='...'>
<CreateFolder />
<File Id='f64' Name='SQLite.Interop.dll' Source='x64\SQLite.Interop.dll' />
</Component>
</Directory>
PROBLEM: WiX says error LGHT0204 : ICE99: The directory name: x64 is the same as one of the MSI Public Properties and can cause unforeseen side effects.
Tip: If I remove the two directories from the WiX script, and then copy them manually to the place where the program is installed, then it works. It sounds dumb, but maybe the solution is to create x86_ and x64_ directories in the WiX script, and rename them at first execution of the program?