通过 WiX,我想分发一个使用 SQLite 的 C# 程序。
SQLite 推荐以下文件结构 http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki,所以我用它:
在 Wix 中,我创建了x86 and 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>
PROBLEM:维克斯 说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_ 目录,并在第一次执行程序时重命名它们?
SQLite 没有问题。您正在使用 x64 作为目录 ID。这就是这里的问题。ICE99 http://msdn.microsoft.com/en-us/library/aa369070.aspx如果您使用任何 Windows 保留属性作为目录 ID,则会引发错误Windows卷.
您必须更改 x64 目录 ID。它将解决这个问题。
<Directory Id='DIR_x64' Name='x64'>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)