I've been trying to get a InstallDirDlg to show after the FeaturesDlg, but for some reason I get the Install progress Dialog. So, I created this simple test project that has 4 features (each installs a file)...
Here's the code, thanks for the help...
<Fragment>
<UI Id="UserInterface">
<Property Id="WIXUI_INSTALLDIR" Value="INSTALLDIR" />
<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" />
<DialogRef Id="BrowseDlg" />
<DialogRef Id="DiskCostDlg" />
<DialogRef Id="ErrorDlg" />
<DialogRef Id="FatalError" />
<DialogRef Id="FilesInUse" />
<DialogRef Id="MsiRMFilesInUse" />
<DialogRef Id="PrepareDlg" />
<DialogRef Id="ProgressDlg" />
<DialogRef Id="ResumeDlg" />
<DialogRef Id="UserExit" />
<DialogRef Id="SetupTypeDlg" />
<DialogRef Id="FeaturesDlg"/>
<Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" Value="SetupTypeDlg">1</Publish>
<Publish Dialog="SetupTypeDlg" Control="Back" Event="NewDialog" Value="WelcomeDlg">1</Publish>
<!-- Typical install: add all features except web service. -->
<Publish Dialog="SetupTypeDlg" Control="TypicalButton" Event="AddLocal" Value="ALL" Order="10"></Publish>
<Publish Dialog="SetupTypeDlg" Control="TypicalButton" Event="Remove" Value="FEATUREB" Order="20"></Publish>
<Publish Dialog="SetupTypeDlg" Control="TypicalButton" Event="Remove" Value="FEATUREC" Order="30"></Publish>
<Publish Dialog="SetupTypeDlg" Control="TypicalButton" Event="Remove" Value="FEATURED" Order="40"></Publish>
<Publish Dialog="SetupTypeDlg" Control="TypicalButton" Event="NewDialog" Value="InstallDirDlg" Order="50">1</Publish>
<!-- Custom install: display feature tree. -->
<Publish Dialog="SetupTypeDlg" Control="CustomButton" Event="NewDialog" Value="FeaturesDlg" Order="10">1</Publish>
<!-- Complete install: all features. Errors out if IIS is absent. -->
<Publish Dialog="SetupTypeDlg" Control="CompleteButton" Event="AddLocal" Value="ALL" Order="10"></Publish>
<Publish Dialog="SetupTypeDlg" Control="CompleteButton" Event="NewDialog" Value="InstallDirDlg" Order="30">1</Publish>
<Publish Dialog="FeaturesDlg" Control="Back" Event="NewDialog" Value="SetupTypeDlg">1</Publish>
<Publish Dialog="FeaturesDlg" Control="Install" Event="DoAction" Value="MissingFeature" Order="10">
<![CDATA[(NOT(&FEATUREA=3) AND NOT(&FEATUREB=3) AND NOT(&FEATUREC=3) AND NOT(&FEATURED=3))]]>
</Publish>
<Publish Dialog="FeaturesDlg" Control="Install" Event="NewDialog" Value="InstallDirDlg" Order="20">1</Publish>
<Publish Dialog="InstallDirDlg" Control="Back" Event="NewDialog" Value="SetupTypeDlg"></Publish>
<Publish Dialog="InstallDirDlg" Control="Next" Event="SetTargetPath" Value="[WIXUI_INSTALLDIR]" Order="10">1</Publish>
<Publish Dialog="InstallDirDlg" Control="Next" Event="NewDialog" Value="VerifyReadyDlg" Order="20">1</Publish>
<Publish Dialog="InstallDirDlg" Control="ChangeFolder" Property="_BrowseProperty" Value="[WIXUI_INSTALLDIR]" Order="10">1</Publish>
<Publish Dialog="InstallDirDlg" Control="ChangeFolder" Event="SpawnDialog" Value="BrowseDlg" Order="20">1</Publish>
<Publish Dialog="ExitDialog" Control="Finish" Event="EndDialog" Value="Return" Order="999">1</Publish>
<!-- Back button declaration so no error on build -->
<Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="InstallDirDlg"></Publish>
</UI>
<UIRef Id="WixUI_Common" />
<UIRef Id="WixUI_ErrorProgressText" />
</Fragment>