weixin_39866857
weixin_39866857
2020-12-26 01:36

WixUI_InstallDir also shows FeatureTree dialog

WixSharp 1.4.3 Wix 3.11 RC 2

I've set the project.UI property to "WUI.WixUI_InstallDir", but also the "FeatureTree" dialog is shown. This list of dialog's is included in generated .wxs file

 XML
      <publish dialog="WelcomeDlg" control="Next" event="NewDialog" value="LicenseAgreementDlg">1</publish>
      <publish dialog="LicenseAgreementDlg" control="Back" event="NewDialog" value="WelcomeDlg">1</publish>
      <publish dialog="LicenseAgreementDlg" control="Next" event="NewDialog" value="InstallDirDlg">1</publish>
      <publish dialog="InstallDirDlg" control="Back" event="NewDialog" value="LicenseAgreementDlg">1</publish>
      <publish dialog="InstallDirDlg" control="Next" event="SetTargetPath" value="[WIXUI_INSTALLDIR]" order="1">1</publish>
      <publish dialog="InstallDirDlg" control="Next" event="NewDialog" value="CustomizeDlg" order="2">1</publish>
      <publish dialog="InstallDirDlg" control="ChangeFolder" value="[WIXUI_INSTALLDIR]" property="_BrowseProperty" order="1">1</publish>
      <publish dialog="InstallDirDlg" control="ChangeFolder" event="SpawnDialog" value="BrowseDlg" order="2">1</publish>
      <publish dialog="CustomizeDlg" control="Back" event="NewDialog" value="InstallDirDlg">1</publish>
      <publish dialog="MaintenanceWelcomeDlg" control="Next" event="NewDialog" value="MaintenanceTypeDlg">1</publish>
      <publish dialog="MaintenanceTypeDlg" control="Back" event="NewDialog" value="MaintenanceWelcomeDlg">1</publish>
      <publish dialog="MaintenanceTypeDlg" control="RepairButton" event="NewDialog" value="VerifyReadyDlg">1</publish>
      <publish dialog="MaintenanceTypeDlg" control="RemoveButton" event="NewDialog" value="VerifyReadyDlg">1</publish>
      <publish dialog="ExitDialog" control="Finish" event="EndDialog" value="Return" order="9999">1</publish>
      <publish dialog="CustomizeDlg" control="Next" event="DoAction" value="Action3_ShowCustomDialog" order="1">1</publish>
      <publish dialog="CustomizeDlg" control="Next" event="NewDialog" value="VerifyReadyDlg" order="2"> Custom_UI_Command = "next" </publish>
      <publish dialog="CustomizeDlg" control="Next" event="EndDialog" value="Exit" order="2"> Custom_UI_Command = "abort" </publish>
      <publish dialog="VerifyReadyDlg" control="Back" event="DoAction" value="Action3_ShowCustomDialog" order="1">1</publish>
      <publish dialog="VerifyReadyDlg" control="Back" event="NewDialog" value="CustomizeDlg" order="2"> Custom_UI_Command = "back" </publish>

I still have to pay attention to anything else?

Thank you very much.

该提问来源于开源项目:oleg-shilo/wixsharp

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

4条回答

  • weixin_39524834 weixin_39524834 3月前

    Cannot comment much on this one. Though a few obvious things that are not clear... You mentioned project.UI and I am not sure why your .wxs contains any dialogs at all. Are you building your own dialog sequence instead of relying on WixUI_InstallDir?

    To be honest I found native MSI dialogs extremely limiting and abandoned any effort to improve developer experience for them. You just cannot make a racing horse out of a donkey. Thus it is only available as a "lab" effort.

    It was the reason why I implemented ManagedUI where you have both full control and full power. And also you don't need to abandon your programming experience and learn something rather obsolete (MSI/WiX UI markup).

    Have a look at ManagedUI may be it is what you need?

    点赞 评论 复制链接分享
  • weixin_39866857 weixin_39866857 3月前

    Thank you for your comment.

    I have injected one custom dialog, via InjectClrDialog, in the sequence, could this be the problem?

    Thank you for your hint. I will try ManagedUI.

    点赞 评论 复制链接分享
  • weixin_39524834 weixin_39524834 3月前

    I have injected one custom dialog, via InjectClrDialog,...

    It could. You'll need to look into generated wxs to see what's going on. But... I would really recommend to go with ManagedUI. Any time I would go with it. There is only one scenario (caused by WiX defect) where InjectClrDialog has advantage - Bootstrapper with multiple MSIs displaying their own UI. Though according WiX team v4 will have it fixed.

    点赞 评论 复制链接分享
  • weixin_39866857 weixin_39866857 3月前

    -shilo Thank you very much for you answer.

    点赞 评论 复制链接分享