The knowledge base is no longer actively updated, we have moved all content to our Community Support Forum

How can I control the flow of the pages?

Author: BitRock Support       Date: January 22, 2009 17:41       Tags: Installation
User input and custom installer pages
Tips
Components
Customization
Installer Variables

The default flow of the pages is determined by the position in which they appear in the XML project but this flow can also be controlled through the and tags:

    <parameterList>
        <directoryParameter>
            <name>installdir</name>
            <description>Installer.Parameter.installdir.description</description>
            <explanation>Installer.Parameter.installdir.explanation</explanation>
            <value></value>
            <default>${platform_install_prefix}/${product_shortname}-${product_version}</default>
            ...
        </directoryParameter>
        <licenseParameter>
            <name>myLicense</name>
            <title>License Agreement</title>
            <insertBefore>installdir</insertBefore>
            <description>Please read the following License Agreement. You must accept the terms of this agreement before continuing with the installation.</description>
            <explanation></explanation>
            ...
        </licenseParameter>
    </parameterList>
In the example above, even if the <licenseParameter> is placed after the <directoryParameter>, it will be displayed before because we have explicitly declared it with <insertBefore>installdir</insertBefore>

However, sometimes we need to control this flow dynamically at runtime base in some conditions. You can set the 'next_page' installer variable to the name of the page that you would like to show after pressing the "Next" button on the installer window.

The name of a page is the name of the parameter associated with that page. For instance:

  <setInstallerVariable name="next_page" value="installdir" />

Would make the installer show the installdir page after pressing "Next".

Installers also have some built-in pages, below are their names in order to use 'next_page' to jump to them:

  • 'welcome' : the welcome page
  • 'components' : the component selection page
  • 'readytoinstall' : the ready to install page
  • 'installation' : main installation page
  • 'installationFinished' : the final page

One typical place to set the 'next_page' variable is in the <postShowPageActionList>

Finally, it is also evaluated or taken into account in the <validationActionList> as the page to go if validation fails.

Comments

Component insertion

Author: John Lacsny       Date: April 09, 2010 21:10

When adding a component in the Files or Advanced sections, it automatically puts it at the end of any existing ones. How can you insert a new one in the beginning or middle, and how can you rearrange the order if needed? Alternatively, how do can you tell it to execute them in a different order than listed?


Component insertion

Author: BitRock Support       Date: April 12, 2010 10:29

Currently it is not possible to control the insertion position when adding a component (or any other element) through the GUI. We plan to implement this feature in future versions but it will take us some time. To change the position you can edit the XML file with a text editor and the reload it in the builder.

Regarding the execution of the components, its actions are just controlled by the position of the component in the <componentList> and the action list being evaluated. You can find additional information about the execution order in the article below:

http://support.bitrock.com/article/installbuilder-action-lists


Component insertion

Author: John Lacsny       Date: April 12, 2010 18:39

When adding a component in the Files or Advanced sections, it automatically puts it at the end of any existing ones. How can you insert a new one in the beginning or middle, and how can you rearrange the order if needed? Alternatively, how do can you tell it to execute them in a different order than listed?


Component insertion

Author: John Lacsny       Date: April 12, 2010 18:42

Thanks for the answer provided and please ignore my duplicate question.