WiX:找到重复的符号“ControlEvent:ExitDialog/Finish/EndDialog/Return/1”

Posted

技术标签:

【中文标题】WiX:找到重复的符号“ControlEvent:ExitDialog/Finish/EndDialog/Return/1”【英文标题】:WiX: Duplicate symbol 'ControlEvent:ExitDialog/Finish/EndDialog/Return/1' found 【发布时间】:2014-07-08 06:21:10 【问题描述】:

我有一个在 Visual Studio 2010 Professional 中正确构建的 WiX 3.8 安装程序 Product.wxs。 我只是想尝试修改安装程序的步骤工作流程,所以我在 Wix/Product/Package XML 元素之后添加了来自 this answer 的 UI 块:

<UI>
  <Property Id="WIXUI_INSTALLDIR" Value="INSTALLDIR" />
  <Property Id="WixUI_Mode" Value="Custom" />
  <TextStyle Id="WixUI_Font_Normal" FaceName="Tahoma" Size="8" />
  <TextStyle Id="WixUI_Font_Bigger" FaceName="Tahoma" Size="9" Bold="yes" />
  <TextStyle Id="WixUI_Font_Title"  FaceName="Tahoma" Size="9" Bold="yes" />
  <Property Id="DefaultUIFont" Value="WixUI_Font_Normal" />
  
  <DialogRef Id="ProgressDlg" />
  <DialogRef Id="ErrorDlg" />
  <DialogRef Id="FilesInUse" />
  <DialogRef Id="FatalError" />
  <DialogRef Id="UserExit" />
  <DialogRef Id="InstallDirDlg"/>
  <DialogRef Id="FeaturesDlg" />
  
  <Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" Value="FeaturesDlg" Order="2"></Publish>
  <Publish Dialog="FeaturesDlg" Control="Back" Event="NewDialog" Value="WelcomeDlg">1</Publish>
  <Publish Dialog="InstallDirDlg" Control="Back" Event="NewDialog" Value="FeaturesDlg">1</Publish>
  <Publish Dialog="InstallDirDlg" Control="ChangeFolder" Property="_BrowseProperty" Value="[WIXUI_INSTALLDIR]" Order="1">1</Publish>
  <Publish Dialog="InstallDirDlg" Control="ChangeFolder" Event="SpawnDialog" Value="BrowseDlg" Order="2">1</Publish>
  <Publish Dialog="InstallDirDlg" Control="Next" Event="SetTargetPath" Value="[WIXUI_INSTALLDIR]" Order="1">1</Publish>
  <Publish Dialog="InstallDirDlg" Control="Next" Event="NewDialog" Value="ExitDialog" Order="2">1</Publish>
  <Publish Dialog="ExitDialog" Control="Finish" Event="EndDialog" Value="Return" Order="999">1</Publish>
</UI>

问题:WiX 现在失败并显示此消息:

错误 13 发现重复符号“ControlEvent:ExitDialog/Finish/EndDialog/Return/1”。这通常意味着 Id 是重复的。检查以确保给定类型(文件、组件、功能)的所有标识符都是唯一的。 C:\MyApp\Installer\Product.wxs 42 1 个安装程序

错误 14 与先前错误相关的符号位置。 C:\src\wix38\src\ext\UIExtension\wixlib\WixUI_Minimal.wxs 46 1 安装程序

我做错了什么?

【问题讨论】:

【参考方案1】:

问题是我后来在Product.wxs 中有另一个&lt;UI&gt; 元素,我不记得了。

删除第二个&lt;UI&gt; 块解决了这个问题。

【讨论】:

以上是关于WiX:找到重复的符号“ControlEvent:ExitDialog/Finish/EndDialog/Return/1”的主要内容,如果未能解决你的问题,请参考以下文章

WIX - 如何解决错误 LGHT0094:未解决的符号引用

WiX 错误:lght0094 未解决对符号的引用

Wix (candle.exe) 中的符号错误 LGHT0311,windows-1252

安全地解决 Wix 中的重复组件 GUID

添加对WixUIExtension的引用会导致“未解析的符号引用...”

Wix FindRelatedProducts找到了一个未安装的产品