## Installer - Configuring Screens |

| Screens are configured on the screens & and actions tab. Please see the list of available screens that come with install4j.

| A screen is a single step in an installer application. It displays information to the user or gathers user input. If a screen has attached actions, there will be an expand control to the left of the screen icon that allows you to show the associated actions.

| Common properties of screens are: Condition expression This expression is evaluated just before the screen is shown. If the expression or script returns false, the screen will be skipped. Validation expression This expression or script is called when the user clicks the next button. If it returns false, the current screen will be displayed again. You can use this to validate user input. Error messages are not displayed automatically, you can use the `Util.showErrorMessage(String errorMessage)` method in your script. Rollback barrier If the screen should be a rollback barrier. When a rollback barrier is completed, none of the preceding actions will be rolled back. You can use this property to prevent an incomplete rollback of complex changes or to protect actions from rollback when the user hits "Cancel" in the post-install phase. The installation screen is a rollback barrier by default. Quit after screen If the screen should have a "Finish" button instead of a "Next" button. The installer or uninstaller will quit after this screen. The "Cancel" button will not be visible if this option is checked. Back button Allowing the user to go back to previous screens can be problematic if the previous screen has actions attached, since by default every action is just executed once. The default behavior is the "Safe back button", where the back button is hidden if the previous screen has actions attached. If you configure your actions to be executed multiple times, you might want to choose the "Always visible" setting. With the "Always hidden" setting you can prevent the user from going back to the previous screen. Pre-activation script This script is executed just before the screen is displayed. If the screen relies on variables that are not yet initialized (for example, a form screen), you can perform the initialization here. Also you can use the API to change certain properties of the screen. Please see the examples given by the code gallery in the install4j IDE. Post-activation script This script is executed just after the screen is displayed. Here, you could display a message box if required.

| Some screens only make sense when corresponding actions are used later on in the installer or uninstaller. For example, the "Services" screen will only be displayed at runtime if there are "Install a service" actions present on a subsequent screen. If such a dependency is not fulfilled after adding a screen, a corresponding notification is displayed.