gpt4 book ai didi

wix - 使用 Wix,分发使用 SQLite 的程序(必须同时在 32 位和 64 位上运行)

转载 作者:行者123 更新时间:2023-12-01 21:57:07 24 4
gpt4 key购买 nike

通过 WiX,我想分发一个使用 SQLite 的 C# 程序。

SQLite recommends the files structure below ,所以我用它:

enter image description here

在 Wix 中,我创建了 x86x64 文件夹,并将正确的 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 提示错误 LGHT0204:ICE99:目录名称:x64 与 MSI 公共(public)属性之一相同,可能会导致不可预见的副作用。

<小时/>

提示:如果我从 WiX 脚本中删除这两个目录,然后手动将它们复制到程序安装的位置,那么它就可以工作。这听起来很愚蠢,但也许解决方案是在 WiX 脚本中创建 x86_ 和 x64_ 目录,并在第一次执行程序时重命名它们?

最佳答案

SQLite 没有问题。您使用 x64 作为目录 ID。这就是这里的问题。 ICE99如果您使用任何 Windows 保留属性作为目录 ID(例如 WindowsVolume),则会引发错误。

您必须更改 x64 目录 ID。它将解决这个问题。

  <Directory Id='DIR_x64' Name='x64'>

关于wix - 使用 Wix,分发使用 SQLite 的程序(必须同时在 32 位和 64 位上运行),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16851193/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com