使用 WiX,我想分发一个使用 SQLite 的 C# 程序。
SQLite 推荐下面的文件结构,所以我使用它:
在 Wix 中,我创建了x86和x64文件夹并将正确的 DLL 放入每个文件夹中:
<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>
问题: WiX 说error LGHT0204 : ICE99: The directory name: x64 is the same as one of the MSI Public Properties and can cause unforeseen side effects.
提示:如果我从 WiX 脚本中删除这两个目录,然后手动将它们复制到安装程序的位置,那么它可以工作。这听起来很愚蠢,但也许解决方案是在 WiX 脚本中创建 x86_ 和 x64_ 目录,并在第一次执行程序时重命名它们?