VirtualBox

Changeset 86811 in vbox


Ignore:
Timestamp:
Nov 5, 2020 10:10:19 AM (4 years ago)
Author:
vboxsync
Message:

Windows host installer: Consolidated the dialog routing logic to make it easier to spot what's when going where, as we have a lot compile-time defines *and* dynamic choices (by the user) to handle. bugref:9855

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Installer/win/UserInterface.wxi

    r86798 r86811  
    5353            </Control>
    5454
    55             <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="!(loc.ButtonText_Next)">
    56                 <!-- Set the install mode -->
    57                 <Publish Property="InstallMode" Value="!(loc.InstallModeCustom)">1</Publish>
    58         <?if $(env.VBOX_WITH_LICENSE_DISPLAY) = "yes" ?>
    59                 <!-- Next dialog is the license agreement -->
    60                 <Publish Event="NewDialog" Value="VBoxLicenseAgreementDlg">1</Publish>
    61         <?else ?>
    62                 <!-- Decide which dialog to show next: The serial number dialog (if this is a branded build)
    63                      or directly proceed to the customization dialog (VBox not installed yet) -->
    64                 <?if $(env.VBOX_WITH_SERIALNUMBER_INSTALL) = "yes" ?>
    65                     <Publish Event="NewDialog" Value="VBoxCheckSerialDlg">1</Publish>
    66                 <?else ?>
    67                     <Publish Event="NewDialog" Value="VBoxCustomizeDlg"><![CDATA[(PREVIOUSVERSIONSINSTALLED OR NEWERVERSIONDETECTED)]]></Publish>
    68                     <Publish Event="NewDialog" Value="VBoxCustomizeDlg"><![CDATA[(NOT PREVIOUSVERSIONSINSTALLED) AND (NOT NEWERVERSIONDETECTED)]]></Publish>
    69                 <?endif ?>
    70         <?endif ?>
    71             </Control>
     55            <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="!(loc.ButtonText_Next)" />
    7256
    7357            <!-- Canceling will bring up a confirmation dialog ('SpawnDialog' attribute) -->
     
    7559                <Publish Event="SpawnDialog" Value="VBoxCancelDlg">1</Publish>
    7660            </Control>
    77 
    78             <!-- Uncomment if we need a 'back' button
    79             <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Disabled="yes" Text="!(loc.ButtonText_Back)" />
    80             -->
    8161        </Dialog>
    8262
     
    11898            </Control>
    11999
    120             <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="!(loc.ButtonText_Back)">
    121                 <Publish Event="NewDialog" Value="VBoxWelcomeDlg">1</Publish>
    122             </Control>
    123 
     100            <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="!(loc.ButtonText_Back)" />
    124101            <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="!(loc.ButtonText_Next)">
    125102                <!-- 'Next' button is only enabled when 'I agree' radio button is selected -->
    126103                <Condition Action="disable"><![CDATA[IAgree <> "Yes"]]></Condition>
    127104                <Condition Action="enable"><![CDATA[IAgree = "Yes"]]></Condition>
    128                 <!-- Decide which dialog to show next: The serial number dialog (if this is a branded build)
    129                      or directly proceed to the customization dialog (VBox not installed yet) -->
    130             <?if $(env.VBOX_WITH_SERIALNUMBER_INSTALL) = "yes" ?>
    131                 <Publish Event="NewDialog" Value="VBoxCheckSerialDlg">1</Publish>
    132             <?else ?>
    133                 <Publish Event="NewDialog" Value="VBoxCustomizeDlg"><![CDATA[(PREVIOUSVERSIONSINSTALLED OR NEWERVERSIONDETECTED)]]></Publish>
    134                 <Publish Event="NewDialog" Value="VBoxCustomizeDlg"><![CDATA[(NOT PREVIOUSVERSIONSINSTALLED) AND (NOT NEWERVERSIONDETECTED)]]></Publish>
    135             <?endif ?>
    136105            </Control>
    137106
     
    175144            </Control>
    176145
     146            <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="!(loc.ButtonText_Back)" />
     147            <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="!(loc.ButtonText_Check)" />
     148            <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="!(loc.ButtonText_Cancel)">
     149                <Publish Event="SpawnDialog" Value="VBoxCancelDlg">1</Publish>
     150            </Control>
     151
    177152            <!-- And a line for looking nice... -->
    178153            <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" Height="0" />
     
    181156            <Control Id="Build" Type="Text" X="20" Y="247" Width="220" Height="10" Transparent="yes" NoPrefix="yes">
    182157                <Text>[Version_text] $(var.Property_Version)</Text>
    183             </Control>
    184 
    185             <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="!(loc.ButtonText_Back)">
    186         <?if $(env.VBOX_WITH_LICENSE_DISPLAY) = "yes" ?>
    187                 <Publish Event="NewDialog" Value="VBoxLicenseAgreementDlg">1</Publish>
    188         <?else ?>
    189                 <Publish Event="NewDialog" Value="VBoxWelcomeDlg">1</Publish>
    190         <?endif ?>
    191             </Control>
    192             <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="!(loc.ButtonText_Check)">
    193                 <Publish Event="DoAction" Value="ca_CheckSerial">1</Publish>
    194                 <Publish Event="NewDialog" Value="VBoxCustomizeDlg"><![CDATA[(PREVIOUSVERSIONSINSTALLED OR NEWERVERSIONDETECTED) AND (SERIALVALID = "1")]]></Publish>
    195                 <Publish Event="NewDialog" Value="VBoxCustomizeDlg"><![CDATA[(NOT PREVIOUSVERSIONSINSTALLED) AND (NOT NEWERVERSIONDETECTED) AND (SERIALVALID = "1")]]></Publish>
    196                 <Publish Event="NewDialog" Value="VBoxWrongSerialDlg"><![CDATA[SERIALVALID = "0"]]></Publish>
    197             </Control>
    198             <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="!(loc.ButtonText_Cancel)">
    199                 <Publish Event="SpawnDialog" Value="VBoxCancelDlg">1</Publish>
    200158            </Control>
    201159
     
    229187            </Control>
    230188
    231             <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="!(loc.ButtonText_Back)">
    232                  <Publish Event="NewDialog" Value="VBoxCheckSerialDlg">1</Publish>
    233             </Control>
     189            <Control Id="Back" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="!(loc.ButtonText_Back)" />
    234190
    235191            <!-- Canceling will bring up a confirmation dialog ('SpawnDialog' attribute) -->
     
    285241            </Control>
    286242
    287             <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="!(loc.ButtonText_Back)">
    288         <?if $(env.VBOX_WITH_LICENSE_DISPLAY) = "yes" ?>
    289                 <Publish Event="NewDialog" Value="VBoxLicenseAgreementDlg"><![CDATA[(NOT CHECKSERIAL) AND (InstallMode = "!(loc.InstallModeCustom)")]]></Publish>
    290                 <Publish Event="NewDialog" Value="VBoxCheckSerialDlg"><![CDATA[CHECKSERIAL]]></Publish>
    291         <?else ?>
    292                 <Publish Event="NewDialog" Value="VBoxWelcomeDlg">1</Publish>
    293         <?endif ?>
    294             </Control>
     243            <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="!(loc.ButtonText_Back)" />
    295244            <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="!(loc.ButtonText_Next)">
    296         <?if $(env.VBOX_WITH_QTGUI) = "yes" ?>
    297                 <!--
    298                 uncomment next two lines if there is a need in wizard page VBoxSelectionNetworkTypeDlg
    299                 don't forget to comment one line after
    300                 -->
    301                 <!--
    302                 <Publish Event="NewDialog" Value="VBoxSelectionNetworkTypeDlg"><![CDATA[VersionNT >= 600]]></Publish>
    303                 <Publish Event="NewDialog" Value="VBoxCustomize2Dlg"><![CDATA[VersionNT < 600]]></Publish>
    304                 -->
    305                 <Publish Event="NewDialog" Value="VBoxCustomize2Dlg"/>
    306         <?else ?>
    307                 <?if $(env.VBOX_WITH_PYTHON) = "yes" ?>
    308                     <!-- Check for the Python core package and other dependencies first.
    309                          The install helper code will set the public properties VBOX_PYTHON_INSTALLED / VBOX_PYTHON_DEPS_INSTALLED. -->
    310                     <Publish Event="DoAction" Value="ca_IsPythonInstalled" Order="0" />
    311                     <Publish Event="DoAction" Value="ca_ArePythonAPIDepsInstalled" Order="1" />
    312                     <Publish Event="NewDialog" Value="VBoxWarnPythonDlg"><![CDATA[(&VBoxPython=3) AND (VBOX_PYTHON_DEPS_INSTALLED="0")]]></Publish>
    313                     <Publish Event="NewDialog" Value="VBoxVerifyReadyDlg"><![CDATA[(&VBoxPython<3) OR (VBOX_PYTHON_DEPS_INSTALLED="1")]]></Publish>
    314                 <?else ?>
    315                     <Publish Event="NewDialog" Value="VBoxVerifyReadyDlg">1</Publish>
    316                 <?endif?>
    317 
    318         <?endif ?>
    319245                <Subscribe Event="SelectionNoItems" Attribute="Enabled" />
    320246            </Control>
     
    335261          <RadioButton Text="!(loc.SelectionNetworkTypeDlg_RadioButtonNDIS6)" Value="NDIS6" X="5" Y="20" Width="120" Height="20" />
    336262        </RadioButtonGroup>
     263
    337264        <Dialog Id="VBoxSelectionNetworkTypeDlg" Width="370" Height="270" Title="[ProductName] !(loc.Setup)" NoMinimize="yes">
    338265            <Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" Height="44" TabSkip="no" Text="[BannerBitmap]" />
     
    364291            </Control>
    365292
    366             <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17"
    367                 Default="yes" Cancel="yes" Text="!(loc.ButtonText_Next)">
    368                 <Publish Event="NewDialog" Value="VBoxCustomize2Dlg">1</Publish>
    369             </Control>
    370             <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17"
    371                 Text="!(loc.ButtonText_Back)">
    372                 <Publish Event="NewDialog" Value="VBoxCustomizeDlg">1</Publish>
    373             </Control>
     293            <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Cancel="yes" Text="!(loc.ButtonText_Next)"/>
     294            <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="!(loc.ButtonText_Back)"/>
    374295            <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17"
    375296                Text="!(loc.ButtonText_Cancel)">
     
    421342            </Control>
    422343<?endif?> <!-- VBOX_WITH_QTGUI -->
    423             <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17"
    424                 Default="yes" Cancel="yes" Text="!(loc.ButtonText_Next)">
    425                 <!-- Note: The order of publishing the event(s) here is important. -->
    426 <?if $(env.VBOX_WITH_PYTHON) = "yes" ?>
    427                 <Publish Event="NewDialog" Value="VBoxWarnPythonDlg"><![CDATA[((&VBoxPython=3) AND (VBOX_PYTHON_DEPS_INSTALLED="0"))]]></Publish>
    428 <?endif?>
    429 <?if $(env.VBOX_WITH_NETFLT) = "yes" ?>
    430                 <Publish Event="NewDialog" Value="VBoxWarnDisconNetIfacesDlg"><![CDATA[(&VBoxNetworkFlt=3)]]></Publish>
    431                 <Publish Event="NewDialog" Value="VBoxVerifyReadyDlg"><![CDATA[(&VBoxNetworkFlt<3)]]></Publish>
    432 <?else ?>
    433                 <Publish Event="NewDialog" Value="VBoxVerifyReadyDlg">1</Publish>
    434 <?endif?>
    435             </Control>
    436             <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17"
    437                 Text="!(loc.ButtonText_Back)">
    438                 <!--
    439                 uncomment next two lines if there is a need in wizard page VBoxSelectionNetworkTypeDlg
    440                 don't forget to comment one line after
    441                 -->
    442                 <!--
    443                 <Publish Event="NewDialog" Value="VBoxSelectionNetworkTypeDlg"><![CDATA[VersionNT >= 600]]></Publish>
    444                 <Publish Event="NewDialog" Value="VBoxCustomizeDlg"><![CDATA[VersionNT < 600]]></Publish>
    445                 -->
    446                 <Publish Event="NewDialog" Value="VBoxCustomizeDlg"/>
    447             </Control>
    448             <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17"
    449                 Text="!(loc.ButtonText_Cancel)">
    450                 <Publish Event="SpawnDialog" Value="VBoxCancelDlg">1</Publish>
    451             </Control>
     344            <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="!(loc.ButtonText_Next)" />
     345            <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="!(loc.ButtonText_Back)" />
    452346
    453347            <!-- Build number text drawn left bottom -->
     
    489383            </Control>
    490384
    491             <!-- Next dialog is the warning dialog for TAP devices -->
    492             <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="!(loc.ButtonText_Yes)">
    493                  <Publish Event="NewDialog" Value="VBoxVerifyReadyDlg">1</Publish>
    494             </Control>
    495 
    496             <!-- Canceling will bring up a confirmation dialog ('SpawnDialog' attribute) -->
     385            <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="!(loc.ButtonText_Yes)" />
    497386            <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="!(loc.ButtonText_No)">
    498387                <Publish Event="SpawnDialog" Value="VBoxCancelDlg">1</Publish>
     
    536425            </Control>
    537426
    538             <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="!(loc.ButtonText_Yes)">
    539 <?if $(env.VBOX_WITH_NETFLT) = "yes" ?>
    540                 <Publish Event="NewDialog" Value="VBoxWarnDisconNetIfacesDlg"><![CDATA[(&VBoxNetworkFlt=3)]]></Publish>
    541                 <Publish Event="NewDialog" Value="VBoxVerifyReadyDlg"><![CDATA[(&VBoxNetworkFlt<3)]]></Publish>
    542 <?else ?>
    543                 <Publish Event="NewDialog" Value="VBoxVerifyReadyDlg">1</Publish>
    544 <?endif?>
    545             </Control>
    546 
    547             <!-- Canceling will bring up a confirmation dialog ('SpawnDialog' attribute) -->
     427            <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" Height="17" Default="yes" Text="!(loc.ButtonText_Yes)" />
    548428            <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="!(loc.ButtonText_No)">
    549429                <Publish Event="SpawnDialog" Value="VBoxCancelDlg">1</Publish>
     
    637517                <Publish Event="SpawnDialog" Value="VBoxOutOfDiskDlg"><![CDATA[(OutOfDiskSpace = 1 AND OutOfNoRbDiskSpace = 1) OR (OutOfDiskSpace = 1 AND PROMPTROLLBACKCOST="F")]]></Publish>
    638518            </Control>
    639             <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="!(loc.ButtonText_Back)">
    640         <?if $(env.VBOX_WITH_QTGUI) = "yes" ?>
    641                 <Publish Event="NewDialog" Value="VBoxCustomize2Dlg"><![CDATA[InstallMode = "!(loc.InstallModeCustom)"]]></Publish>
    642         <?else ?>
    643                 <Publish Event="NewDialog" Value="VBoxCustomizeDlg">1</Publish>
    644         <?endif ?>
    645             </Control>
     519            <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" Height="17" Text="!(loc.ButtonText_Back)" />
    646520            <Control Id="Cancel" Type="PushButton" X="304" Y="243" Width="56" Height="17" Cancel="yes" Text="!(loc.ButtonText_Cancel)">
    647521                <Publish Event="SpawnDialog" Value="VBoxCancelDlg">1</Publish>
     
    12371111        <Property Id="FolderNew">foldernewico</Property>
    12381112
    1239         <!-- This defines the order in which the GUI panels will be shown to the user -->
     1113        <!-- Property which defines if we need to show the customization dialog or not.
     1114             We only show the dialog on new installs to let the users choose the components to install. -->
     1115        <Property Id="VBOX_SHOW_CUSTOMIZE_DLG">
     1116            <![CDATA[((PREVIOUSVERSIONSINSTALLED OR NEWERVERSIONDETECTED) OR ((NOT PREVIOUSVERSIONSINSTALLED) AND (NOT NEWERVERSIONDETECTED)))]]>
     1117        </Property>
     1118<?if $(env.VBOX_WITH_LICENSE_DISPLAY) = "yes" ?>
     1119        <!-- Property which defines whether the license dialog will be shown or not. -->
     1120        <Property Id="VBOX_SHOW_LICENSE_DLG">1</Property>
     1121<?endif?>
     1122<?if $(env.VBOX_WITH_SERIALNUMBER_INSTALL) = "yes2" ?>
     1123        <!-- Property which defines whether the installer checks the serial number or not. -->
     1124        <Property Id="VBOX_SHOW_SERIAL_CHECK_DLG">1</Property>
     1125<?endif?>
     1126<?if $(env.VBOX_WITH_QTGUI) = "no" ?>
     1127        <!-- Property which defines whether to show the second customization dialog. This second customization
     1128             dialog only is needed for GUI-based options, so skip if we either don't ship FE/Qt or don't show
     1129             the (first) customization dialog. -->
     1130        <Property Id="VBOX_SHOW_CUSTOMIZE2_DLG"><![CDATA[VBOX_SHOW_CUSTOMIZE_DLG]]></Property>
     1131<?endif?>
     1132
     1133
     1134        <!-- In graphical (attended) mode we always choose a custom installation to let the user chose. -->
     1135        <Property Id="InstallMode" Value="!(loc.InstallModeCustom)" />
     1136
     1137        <!-- Dialog routing table (sort-of truth table).
     1138             Here (and only here!) the routing for the customized dialogs are defined, e.g.
     1139             what happens next when pressing the "Next" or "Back" buttons on a dialog.
     1140
     1141             This can vary based on the defines we (don't) set above or custom actions in our
     1142             install helper DLL. -->
     1143
     1144        <!-- Note: All values except 0 and "" (empty string) are interpreted as TRUE. -->
     1145
     1146        <Publish Dialog="VBoxWelcomeDlg" Control="Next" Event="NewDialog" Value="VBoxLicenseAgreementDlg"><![CDATA[VBOX_SHOW_LICENSE_DLG]]></Publish>
     1147        <Publish Dialog="VBoxWelcomeDlg" Control="Next" Event="NewDialog" Value="VBoxCheckSerialDlg"><![CDATA[(NOT VBOX_SHOW_LICENSE_DLG) AND VBOX_SHOW_SERIAL_CHECK_DLG]]></Publish>
     1148        <Publish Dialog="VBoxWelcomeDlg" Control="Next" Event="NewDialog" Value="VBoxCustomizeDlg"><![CDATA[VBOX_SHOW_CUSTOMIZE_DLG AND (NOT VBOX_SHOW_LICENSE_DLG) AND (NOT VBOX_SHOW_SERIAL_CHECK_DLG)]]></Publish>
     1149        <Publish Dialog="VBoxWelcomeDlg" Control="Next" Event="NewDialog" Value="VBoxVerifyReadyDlg"><![CDATA[NOT VBOX_SHOW_CUSTOMIZE_DLG AND (NOT VBOX_SHOW_LICENSE_DLG) AND (NOT VBOX_SHOW_SERIAL_CHECK_DLG)]]></Publish>
     1150
     1151        <Publish Dialog="VBoxLicenseAgreementDlg" Control="Next" Event="NewDialog" Value="VBoxCheckSerialDlg"><![CDATA[VBOX_SHOW_SERIAL_CHECK_DLG]]></Publish>
     1152        <Publish Dialog="VBoxLicenseAgreementDlg" Control="Next" Event="NewDialog" Value="VBoxCustomizeDlg"><![CDATA[(NOT VBOX_SHOW_SERIAL_CHECK_DLG) AND (VBOX_SHOW_CUSTOMIZE_DLG)]]></Publish>
     1153        <Publish Dialog="VBoxLicenseAgreementDlg" Control="Next" Event="NewDialog" Value="VBoxVerifyReadyDlg"><![CDATA[(NOT VBOX_SHOW_SERIAL_CHECK_DLG) AND (NOT VBOX_SHOW_CUSTOMIZE_DLG)]]></Publish>
     1154        <Publish Dialog="VBoxLicenseAgreementDlg" Control="Back" Event="NewDialog" Value="VBoxWelcomeDlg">1</Publish>
     1155
     1156        <Publish Dialog="VBoxCheckSerialDlg" Control="Back" Event="NewDialog" Value="VBoxLicenseAgreementDlg"><![CDATA[VBOX_SHOW_LICENSE_DLG]]></Publish>
     1157        <Publish Dialog="VBoxCheckSerialDlg" Control="Back" Event="NewDialog" Value="VBoxWelcomeDlg"><![CDATA[NOT VBOX_SHOW_LICENSE_DLG]]></Publish>
     1158        <Publish Dialog="VBoxCheckSerialDlg" Control="Next" Event="DoAction" Value="ca_CheckSerial" Order="1">1</Publish>
     1159        <Publish Dialog="VBoxCheckSerialDlg" Control="Next" Event="NewDialog" Value="VBoxCustomizeDlg"><![CDATA[(PREVIOUSVERSIONSINSTALLED OR NEWERVERSIONDETECTED) AND (VBOX_SERIAL_IS_VALID="1")]]></Publish>
     1160        <Publish Dialog="VBoxCheckSerialDlg" Control="Next" Event="NewDialog" Value="VBoxCustomizeDlg"><![CDATA[(NOT PREVIOUSVERSIONSINSTALLED) AND (NOT NEWERVERSIONDETECTED) AND (VBOX_SERIAL_IS_VALID="1")]]></Publish>
     1161        <Publish Dialog="VBoxCheckSerialDlg" Control="Next" Event="NewDialog" Value="VBoxWrongSerialDlg"><![CDATA[VBOX_SERIAL_IS_VALID="0"]]></Publish>
     1162
     1163        <Publish Dialog="VBoxWrongSerialDlg" Control="Back" Event="NewDialog" Value="VBoxCheckSerialDlg">1</Publish>
     1164
     1165        <!-- Note: We have to set (1) or unset ({}) the properties first (see order #), as those will be needed for further routing. -->
     1166        <Publish Dialog="VBoxCustomizeDlg" Control="Next" Property="VBOX_SHOW_WARN_PYTHONAPI_DLG" Value="1" Order="1"><![CDATA[(&VBoxPython=3) AND (VBOX_PYTHON_DEPS_INSTALLED="0")]]></Publish>
     1167        <Publish Dialog="VBoxCustomizeDlg" Control="Next" Property="VBOX_SHOW_WARN_PYTHONAPI_DLG" Value="{}" Order="2"><![CDATA[(&VBoxPython<3)]]></Publish>
     1168        <Publish Dialog="VBoxCustomizeDlg" Control="Next" Property="VBOX_SHOW_WARN_DISCONNECTIFACES_DLG" Value="1" Order="3"><![CDATA[&VBoxNetworkFlt=3]]></Publish>
     1169        <Publish Dialog="VBoxCustomizeDlg" Control="Next" Property="VBOX_SHOW_WARN_DISCONNECTIFACES_DLG" Value="{}" Order="4"><![CDATA[&VBoxNetworkFlt<3]]></Publish>
     1170        <Publish Dialog="VBoxCustomizeDlg" Control="Next" Event="NewDialog" Value="VBoxWarnDisconNetIfacesDlg" Order="10"><![CDATA[VBOX_SHOW_WARN_DISCONNECTIFACES_DLG]]></Publish>
     1171        <Publish Dialog="VBoxCustomizeDlg" Control="Next" Event="NewDialog" Value="VBoxWarnPythonDlg" Order="11"><![CDATA[VBOX_SHOW_WARN_PYTHONAPI_DLG AND (NOT VBOX_SHOW_WARN_DISCONNECTIFACES_DLG)]]></Publish>
     1172        <Publish Dialog="VBoxCustomizeDlg" Control="Next" Event="NewDialog" Value="VBoxCustomize2Dlg" Order="12"><![CDATA[VBOX_SHOW_CUSTOMIZE2_DLG AND (NOT VBOX_SHOW_WARN_DISCONNECTIFACES_DLG) AND (NOT VBOX_SHOW_WARN_PYTHONAPI_DLG)]]></Publish>
     1173        <Publish Dialog="VBoxCustomizeDlg" Control="Next" Event="NewDialog" Value="VBoxVerifyReadyDlg" Order="13"><![CDATA[(NOT VBOX_SHOW_CUSTOMIZE2_DLG) AND (NOT VBOX_SHOW_WARN_DISCONNECTIFACES_DLG) AND (NOT VBOX_SHOW_WARN_PYTHONAPI_DLG)]]></Publish>
     1174        <Publish Dialog="VBoxCustomizeDlg" Control="Back" Event="NewDialog" Value="VBoxCheckSerialDlg"><![CDATA[VBOX_SHOW_SERIAL_CHECK_DLG]]></Publish>
     1175        <Publish Dialog="VBoxCustomizeDlg" Control="Back" Event="NewDialog" Value="VBoxLicenseAgreementDlg"><![CDATA[NOT VBOX_SHOW_SERIAL_CHECK_DLG]]></Publish>
     1176
     1177        <Publish Dialog="VBoxWarnDisconNetIfacesDlg" Control="Next" Event="NewDialog" Value="VBoxCustomize2Dlg"><![CDATA[VBOX_SHOW_CUSTOMIZE2_DLG AND (NOT VBOX_SHOW_WARN_PYTHONAPI_DLG)]]></Publish>
     1178        <Publish Dialog="VBoxWarnDisconNetIfacesDlg" Control="Next" Event="NewDialog" Value="VBoxWarnPythonDlg"><![CDATA[VBOX_SHOW_WARN_PYTHONAPI_DLG]]></Publish>
     1179        <!-- Note: VBoxWarnDisconNetIfacesDlg only has a "Cancel" button which aborts the installation. -->
     1180
     1181        <Publish Dialog="VBoxWarnPythonDlg" Control="Next" Event="NewDialog" Value="VBoxCustomize2Dlg"><![CDATA[VBOX_SHOW_CUSTOMIZE2_DLG]]></Publish>
     1182        <Publish Dialog="VBoxWarnPythonDlg" Control="Next" Event="NewDialog" Value="VBoxVerifyReadyDlg"><![CDATA[NOT VBOX_SHOW_CUSTOMIZE2_DLG]]></Publish>
     1183        <!-- Note: VBoxWarnPythonDlg only has a "Cancel" button which aborts the installation. -->
     1184
     1185        <Publish Dialog="VBoxCustomize2Dlg" Control="Back" Event="NewDialog" Value="VBoxCustomizeDlg">1</Publish>
     1186        <Publish Dialog="VBoxCustomize2Dlg" Control="Next" Event="NewDialog" Value="VBoxVerifyReadyDlg">1</Publish>
     1187
     1188        <Publish Dialog="VBoxVerifyReadyDlg" Control="Back" Event="NewDialog" Value="VBoxCustomize2Dlg"><![CDATA[VBOX_SHOW_CUSTOMIZE2_DLG]]></Publish>
     1189        <Publish Dialog="VBoxVerifyReadyDlg" Control="Back" Event="NewDialog" Value="VBoxCustomizeDlg"><![CDATA[NOT VBOX_SHOW_CUSTOMIZE2_DLG]]></Publish>
     1190        <Publish Dialog="VBoxVerifyReadyDlg" Control="Next" Event="NewDialog" Value="VBoxVerifyReadyDlg">1</Publish>
     1191
     1192        <!-- This defines the order in which the GUI panels will be shown to the user. -->
    12401193        <InstallUISequence>
    12411194
     
    12431196            <Custom Action="ca_DefaultTargetDir" After="FileCost"><![CDATA[NOT Installed AND (NOT INSTALLDIR) AND EXISTINGINSTALLDIR]]></Custom>
    12441197
     1198<?if $(env.VBOX_WITH_PYTHON) = "yes" ?>
     1199            <!-- Check for the Python core package and other dependencies first.
     1200                 The install helper code will set the public properties VBOX_PYTHON_INSTALLED / VBOX_PYTHON_DEPS_INSTALLED. -->
     1201            <Custom Action="ca_IsPythonInstalled" After="CostFinalize">1</Custom>
     1202            <Custom Action="ca_ArePythonAPIDepsInstalled" After="CostFinalize">1</Custom>
     1203<?endif?>
    12451204            <FindRelatedProducts Suppress="no">1</FindRelatedProducts>
    12461205
     
    12531212            <Show Dialog="VBoxExitDlg" OnExit="success">1</Show>
    12541213            <Show Dialog="VBoxProgressDlg" After="VBoxMaintenanceWelcomeDlg" />
     1214
    12551215        </InstallUISequence>
    12561216
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette