gpt4 book ai didi

windows - Windowsinstaller 中的 Autogen guid (*) 导致 ICE08 错误

转载 作者:可可西里 更新时间:2023-11-01 10:54:44 25 4
gpt4 key购买 nike

我的wxs文件中的两个组件标签如下

<Component Id="Comp.Comp1" Guid="*" >
<Condition><![CDATA[VersionNT < 602]]></Condition>
<File Id="File1" Source="$(Dir1)\TestFile.dll" />
</Component>

<Component Id="Comp.Comp2" Guid="*" >
<Condition><![CDATA[VersionNT >= 602]]></Condition>
<File Id="File2" Source="$(Dir2)\TestFile.dll" />
</Component>

但是我收到如下错误

ICE08: Component: Comp.Comp2 has a duplicate GUID: {2963D8E7-CBEC-50C8-AF4B-65E895FE3283}   

尽管我给了一个 autogen guid 值“*”,我怎么会收到这个错误

谢谢,

最佳答案

Component 元素的 star-GUID 根据文件的目标位置计算稳定的 GUID。 GUID 的稳定性对于 future 的更新(尤其是打补丁)至关重要。它在许多情况下都很好用,但将文件放入完全相同位置的互斥组件不是一个。在这种情况下,您需要明确设置至少一个 Component/@Guid

在上述情况下,您可以执行以下操作:

<Component Id="Comp.Comp1" Guid="*" >
<Condition><![CDATA[VersionNT < 602]]></Condition>

<File Id="File1" Source="$(Dir1)\TestFile.dll" />
</Component>

<Component Id="Comp.Comp2" Guid="PUT-GUID-HERE">
<Condition><![CDATA[VersionNT >= 602]]></Condition>

<File Id="File2" Source="$(Dir2)\TestFile.dll" />
</Component>

从技术上讲,在这种情况下您可以抑制 ICE08 错误,因为组件是相互排斥的,但我个人会在抑制 ICE 之前执行上述操作。恕我直言,无论如何,不​​同的文件最终最好具有不同的 GUID。

关于windows - Windowsinstaller 中的 Autogen guid (*) 导致 ICE08 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16171106/

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