2

I use the burn bootstrapper and I was able to make some minor changes in the installer UI.

My problem is that during uninstall the <Page Name="Install"> is shown and even though it's an uninstall but the user see the installing message, which somewhat weird.

How can I create a custom <Page/> for uninstall and wire it in to my modified custom user interface?

Here is my custom burn user interface:

<?xml version="1.0" encoding="utf-8"?>
<Theme xmlns="http://wixtoolset.org/schemas/thmutil/2010">
    <Window Width="485" Height="300" HexStyle="100a0000" FontId="0" >#(loc.Caption)</Window>
    <Font Id="0" Height="-12" Weight="500" Foreground="000000" Background="FFFFFF">Segoe UI</Font>
    <Font Id="1" Height="-24" Weight="500" Foreground="000000">Segoe UI</Font>
    <Font Id="2" Height="-22" Weight="500" Foreground="000000">Segoe UI</Font>
    <Font Id="3" Height="-12" Weight="500" Foreground="000000" Background="FFFFFF">Segoe UI</Font>
    <Font Id="4" Height="-12" Weight="500" Foreground="ff0000" Background="FFFFFF" Underline="yes">Segoe UI</Font>

    <Image X="0" Y="0" Width="173" Height="95" ImageFile="logo.png" Visible="yes" />

    <Page Name="Install">
        <Hypertext Name="LicenseAggreementText" X="20" Y="121" Width="440" Height="42" TabStop="yes" FontId="3">#(loc.EulaHyperText)</Hypertext>
        <Button Name="InstallButton" X="-11" Y="-11" Width="100" Height="23" TabStop="yes" FontId="0">#(loc.InstallInstallButton)</Button>
        <Button Name="OptionsButton" X="-116" Y="-11" Width="100" Height="23" TabStop="yes" FontId="0">#(loc.InstallOptionsButton)</Button>
    </Page>
    <Page Name="Options">
        <Text X="20" Y="121" Width="-11" Height="17" FontId="3">#(loc.OptionsLocationLabel)</Text>
        <Editbox Name="FolderEditbox" X="20" Y="143" Width="-91" Height="21" TabStop="yes" FontId="3" FileSystemAutoComplete="yes" />
        <Button Name="BrowseButton" X="-11" Y="142" Width="100" Height="23" TabStop="yes" FontId="3">#(loc.OptionsBrowseButton)</Button>
        <Button Name="OptionsOkButton" X="-116" Y="-11" Width="100" Height="23" TabStop="yes" FontId="0">#(loc.OptionsOkButton)</Button>
        <Button Name="OptionsCancelButton" X="-11" Y="-11" Width="100" Height="23" TabStop="yes" FontId="0">#(loc.OptionsCancelButton)</Button>
    </Page>
    <Page Name="Progress">
        <Text X="20" Y="121" Width="70" Height="17" FontId="3" DisablePrefix="yes">#(loc.ProgressLabel)</Text>
        <Text Name="OverallProgressPackageText" X="94" Y="121" Width="-11" Height="17" FontId="3" DisablePrefix="yes">#(loc.OverallProgressPackageText)</Text>
        <Progressbar Name="OverallCalculatedProgressbar" X="20" Y="143" Width="-11" Height="15" />
        <Button Name="ProgressCancelButton" X="-11" Y="-11" Width="100" Height="23" TabStop="yes" FontId="0">#(loc.ProgressCancelButton)</Button>
    </Page>
    <Page Name="Modify">
        <Text X="20" Y="100" Width="-11" Height="90" FontId="3">#(loc.ModifyHeader)</Text>
        <Button Name="RepairButton" X="-221" Y="-11" Width="100" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.ModifyRepairButton)</Button>
        <Button Name="UninstallButton" X="-116" Y="-11" Width="100" Height="23" TabStop="yes" FontId="0">#(loc.ModifyUninstallButton)</Button>
        <Button Name="ModifyCancelButton" X="-11" Y="-11" Width="100" Height="23" TabStop="yes" FontId="0">#(loc.ModifyCloseButton)</Button>
    </Page>
    <Page Name="Success">
        <Text X="20" Y="121" Width="-11" Height="30" FontId="3">#(loc.SuccessHeader)</Text>
        <Button Name="LaunchButton" X="-116" Y="-11" Width="100" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.SuccessLaunchButton)</Button>
        <Text Name="SuccessRestartText" X="-11" Y="-51" Width="400" Height="34" FontId="3" HideWhenDisabled="yes">#(loc.SuccessRestartText)</Text>
        <Button Name="SuccessRestartButton" X="-116" Y="-11" Width="100" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.SuccessRestartButton)</Button>
        <Button Name="SuccessCancelButton" X="-11" Y="-11" Width="100" Height="23" TabStop="yes" FontId="0">#(loc.SuccessCloseButton)</Button>
    </Page>
    <Page Name="Failure">
        <Text X="20" Y="100" Width="-11" Height="30" FontId="2">#(loc.FailureHeader)</Text>
        <Hypertext Name="FailureLogFileLink" X="20" Y="141" Width="-11" Height="42" FontId="3" TabStop="yes" HideWhenDisabled="yes">#(loc.FailureHyperlinkLogText)</Hypertext>
        <Hypertext Name="FailureMessageText" X="22" Y="183" Width="-11" Height="51" FontId="3" TabStop="yes" HideWhenDisabled="yes" />
        <Text Name="FailureRestartText" X="-11" Y="-51" Width="400" Height="34" FontId="3" HideWhenDisabled="yes">#(loc.FailureRestartText)</Text>
        <Button Name="FailureRestartButton" X="-116" Y="-11" Width="100" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.FailureRestartButton)</Button>
        <Button Name="FailureCloseButton" X="-11" Y="-11" Width="100" Height="23" TabStop="yes" FontId="0">#(loc.FailureCloseButton)</Button>
    </Page>
</Theme>
Balázs Szántó
  • 1,440
  • 3
  • 15
  • 29

1 Answers1

3

If the Install page is showing, then it's not installed. The Modify page is shown when the bundle is already installed. In WiX 3.x, there's no way to add an additional page.

Sean Hall
  • 7,629
  • 2
  • 29
  • 44