- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我的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/
我正在尝试在构建服务器上编译 WiX 安装程序(它具有自定义操作,我怀疑这是问题的根源),但出现以下错误: c:\Windows\Microsoft.NET\Framework64\v4.0.30
我正在使用 C#。我创建了一个 Wix 安装程序和一个自定义操作来支持 wix 安装程序。现在我正在尝试创建一个仅对 CustomAction 进行单元测试,而没有 LUX。 我尝试了许多不同的方式,
我有一个 Windows Installer (VS 2008) 项目,我想创建一个非常简单的构建后事件,它只打开目标文件夹,并选择安装程序。 所以我在 PostBuildEvent 字段中输入了以下
我有一个 Windows Installer (VS 2008) 项目,我想创建一个非常简单的构建后事件,它只打开目标文件夹,并选择安装程序。 所以我在 PostBuildEvent 字段中输入了以下
我找到了一个 nice Powershell function在 GitHub 上,它使用 WindowsInstaller.Installer COM 对象来查询已安装的应用程序,并非常漂亮地列出了
我的wxs文件中的两个组件标签如下 = 602]]> 但是我收到如下错误 ICE08: Component: Comp.Comp2 has a duplicate GUID: {29
我想读取 MSI 文件(Windows 安装程序包)。我编写了一个如下所示的函数,它采用两个输入参数:msifileName 和表名称并返回一个数据表,它是 MSI 表之一。 public DataT
我是一名优秀的程序员,十分优秀!