WiX: обнаружен повторяющийся символ ControlEvent: ExitDialog / Finish / EndDialog / Return / 1

У меня есть установщик WiX 3.8 Product.wxs, который правильно компилируется в Visual Studio 2010 Professional.
Я просто хотел поэкспериментировать с изменением рабочего процесса шагов установщика, поэтому добавил блок пользовательского интерфейса из этот ответ сразу после XML-элемента Wix / Product / Package:

<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. Обычно это означает, что идентификатор дублируется. Убедитесь, что все ваши идентификаторы данного типа (файл, компонент, функция) уникальны. C: \ MyApp \ Installer \ Product.wxs 42 1 Установщик

Ошибка 14 Расположение символа, относящегося к предыдущей ошибке. C: \ src \ wix38 \ src \ ext \ UIExtension \ wixlib \ WixUI_Minimal.wxs 46 1 Установщик

Что я делаю неправильно?


person Nicolas Raoul    schedule 08.07.2014    source источник


Ответы (1)


Проблема в том, что позже в Product.wxs у меня был еще один элемент <UI>, о котором я не помнил.

Удаление этого второго <UI> блока решило проблему.

person Nicolas Raoul    schedule 08.07.2014