Я также использовал WixUI_InstallDir, но скопировал и настроил его в соответствии с моими потребностями, добавив текст «Что делать дальше» в конце установщика. Я использовал это подробное пошаговое руководство , чтобы взять стандартный графический интерфейс Wix и изменить пару экранов для своих собственных целей. Для этого требуется захват исходного кода Wix, но только для того, чтобы получить некомпилированные версии фактического файла Product.wxs, который разработчики Wix включают для запуска установщика WixUI_InstallDir.
Так что в принципе у меня есть что-то вроде этого в решении (используя надстройку Votive для VS):
- Проект MyWeb
- Wix Project
- MyWeb.wxs - мой продукт, очевидно,
- Product.wxs - файл Wix, полученный из источника Wix, который определяет структуру, поток и содержимое WixUI_InstallDir
- My_InstallDir.wxs - здесь происходит самое интересное. По сути скопировал файл Wix исходного кода, изменил его, чтобы удовлетворить мои потребности, а затем убедился, что в Product.wxs есть ссылка на мой экран, а не на исходный.
Product.wxs
<UI>
<UIRef Id="My_InstallDir"/>
</UI>
<!-- Add the customized EULA -->
<WixVariable Id="WixUILicenseRtf" Value="$(var.SolutionDir)\doc\license.rtf" />
<Property Id="WIXUI_INSTALLDIR" Value="INSTALLLOCATION" />
<UIRef Id="My_InstallDir" />
<!-- Add the customized banner logo -->
<WixVariable Id="WixUIBannerBmp" Value="$(var.SolutionDir)\doc\InstallerBanner.bmp" />
<WixVariable Id="WixUIDialogBmp" Value="$(var.SolutionDir)\doc\InstallerSidebar.bmp" />
My_InstallDir.wxs полностью не изменился, за исключением строки, относящейся к моему диалогу выхода, где мои примечания «Что делать дальше»:
<Publish Dialog="MyExitDialog" Control="Finish" Event="EndDialog" Value="Return" Order="999">1</Publish>
Итак, настоящее изменение в My_ExitDialog, где я отображаю текст:
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Fragment>
<UI>
<Dialog Id="MyExitDialog" Width="370" Height="270" Title="!(loc.ExitDialog_Title) test">
<Control Id="Finish" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Cancel="yes" Text="!(loc.WixUIFinish)" />
<Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Disabled="yes" Text="!(loc.WixUICancel)" />
<Control Id="Bitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="234" TabSkip="no" Text="!(loc.ExitDialogBitmap)" />
<Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Disabled="yes" Text="!(loc.WixUIBack)" />
<Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />
<!--<Control Id="Description" Type="Text" X="135" Y="70" Width="220" Height="40" Transparent="yes" NoPrefix="yes" Text="!(loc.ExitDialogDescription)" />-->
<Control Id="Title" Type="Text" X="135" Y="20" Width="220" Height="60" Transparent="yes" NoPrefix="yes" Text="!(loc.ExitDialogTitle)" />
<Control Id="NextSteps" Type="ScrollableText" X="135" Y="70" Width="220" Height="140" Sunken="yes" TabSkip="no">
<Text SourceFile="$(var.SolutionDir)\doc\GemWebAfterInstall.rtf" />
</Control>
</Dialog>
<InstallUISequence>
<Show Dialog="MyExitDialog" OnExit="success" />
</InstallUISequence>
<AdminUISequence>
<Show Dialog="MyExitDialog" OnExit="success" />
</AdminUISequence>
</UI>
</Fragment>
Я знаю, что вы ищете решение, не обязательно указатели. Однако, используя статью, на которую я ссылаюсь, в качестве ключевой отправной точки, я думаю, что вы можете найти все нужные вам части либо в готовых битах WixUI, либо заменив небольшие кусочки готовых деталей. как у меня. Удачи.