<?xml version="1.0" encoding="UTF-8"?>
<install4j version="12.0" transformSequenceNumber="12">
  <directoryPresets config="." />
  <application name="Sample App" applicationId="5211-6684-5655-4061" mediaDir="media" shortName="sample" publisher="ej-technologies GmbH" publisherWeb="https://www.ej-technologies.com" version="1.0" allPathsRelative="true" macVolumeId="adac63d2409eb8bb" javaMinVersion="1.8">
    <jreBundles jdkProviderId="Adoptium" release="25/latest" />
  </application>
  <installerGui>
    <laf type="custom" lookAndFeelHandlerClassName="SampleLookAndFeelHandler" />
    <customCode>
      <directory location="./build" />
    </customCode>
    <applications>
      <application id="installer" beanClass="com.install4j.runtime.beans.applications.InstallerApplication" styleId="3879" launchInNewProcess="false">
        <serializedBean>
          <property name="frameHeight" type="int" value="550" />
          <property name="frameWidth" type="int" value="600" />
        </serializedBean>
        <startup>
          <screen id="9" beanClass="com.install4j.runtime.beans.screens.StartupScreen" rollbackBarrierExitCode="0">
            <actions>
              <action id="3880" beanClass="com.install4j.runtime.beans.actions.control.SetInstallationDirectoryAction" actionElevationType="none" />
            </actions>
          </screen>
        </startup>
        <screens>
          <screen id="1512" beanClass="com.install4j.runtime.beans.screens.WelcomeScreen">
            <actions>
              <action id="3814" beanClass="com.install4j.runtime.beans.actions.misc.LoadResponseFileAction" multiExec="true">
                <condition>context.getBooleanVariable("sys.streamlinedInstallation")</condition>
              </action>
            </actions>
          </screen>
          <screen id="3774" beanClass="SampleScreen">
            <serializedBean>
              <property name="buttonImage">
                <object class="com.install4j.api.beans.ExternalFile">
                  <string>./sample.png</string>
                </object>
              </property>
            </serializedBean>
          </screen>
          <screen id="3810" beanClass="com.install4j.runtime.beans.screens.FormScreen">
            <serializedBean>
              <property name="subTitle" type="string">Custom form components can be developed with the API</property>
              <property name="title" type="string">Custom form component example</property>
            </serializedBean>
            <formComponents>
              <formComponent id="3811" beanClass="SampleFormComponent">
                <serializedBean>
                  <property name="labelText" type="string">Test label:</property>
                  <property name="text" type="string">This is some text that is displayed in the uneditable text field</property>
                </serializedBean>
              </formComponent>
            </formComponents>
          </screen>
          <screen id="3793" beanClass="com.install4j.runtime.beans.screens.InstallationScreen" rollbackBarrier="true">
            <actions>
              <action id="3794" beanClass="SampleAction" failureStrategy="ask" failureAskRetry="false" errorMessage="Failed to do sample stuff. Do you want to continue?" />
              <action id="3812" beanClass="ManyFeaturesAction" failureStrategy="ask" failureAskRetry="false" errorMessage="Script with parameters was not executed sucessfully. Do you want to continue?" />
            </actions>
          </screen>
          <screen id="1946" beanClass="com.install4j.runtime.beans.screens.FinishedScreen" styleId="3859" finishScreen="true" />
        </screens>
      </application>
      <application id="uninstaller" beanClass="com.install4j.runtime.beans.applications.UninstallerApplication" launchInNewProcess="false">
        <serializedBean>
          <property name="customMacosExecutableName" type="string">${i18n:UninstallerMenuEntry(${compiler:sys.fullName})}</property>
          <property name="frameHeight" type="int" value="550" />
          <property name="frameWidth" type="int" value="600" />
          <property name="useCustomMacosExecutableName" type="boolean" value="true" />
        </serializedBean>
        <startup>
          <screen id="10" beanClass="com.install4j.runtime.beans.screens.StartupScreen" rollbackBarrierExitCode="0">
            <actions>
              <action id="21" beanClass="com.install4j.runtime.beans.actions.misc.LoadResponseFileAction" />
              <action id="3815" beanClass="com.install4j.runtime.beans.actions.misc.RequireInstallerPrivilegesAction" actionElevationType="none" />
            </actions>
          </screen>
        </startup>
        <screens>
          <screen id="515" beanClass="com.install4j.runtime.beans.screens.UninstallWelcomeScreen" styleId="3859" />
          <screen id="7" beanClass="com.install4j.runtime.beans.screens.UninstallationScreen">
            <actions>
              <action id="8" beanClass="com.install4j.runtime.beans.actions.UninstallFilesAction" actionElevationType="elevated" />
            </actions>
          </screen>
          <screen id="516" beanClass="com.install4j.runtime.beans.screens.UninstallFailureScreen" />
          <screen id="517" beanClass="com.install4j.runtime.beans.screens.UninstallSuccessScreen" styleId="3859" />
        </screens>
      </application>
    </applications>
    <styles defaultStyleId="3853">
      <style name="Standard" id="3853" beanClass="com.install4j.runtime.beans.styles.FormStyle">
        <formComponents>
          <formComponent name="Header" id="3854" beanClass="com.install4j.runtime.beans.styles.NestedStyleComponent" insetTop="0" insetBottom="0">
            <serializedBean>
              <property name="styleId" type="string">3866</property>
            </serializedBean>
          </formComponent>
          <group name="Main" id="3855" beanClass="com.install4j.runtime.beans.groups.VerticalFormComponentGroup">
            <beans>
              <formComponent id="3856" beanClass="com.install4j.runtime.beans.styles.ContentComponent" insetTop="10" insetLeft="20" insetBottom="10" insetRight="20" />
              <formComponent name="Watermark" id="3857" beanClass="com.install4j.runtime.beans.formcomponents.SeparatorComponent" insetTop="0" insetLeft="5" insetBottom="0">
                <serializedBean>
                  <property name="enabledTitleText" type="boolean" value="false" />
                  <property name="labelText" type="string">install4j</property>
                </serializedBean>
              </formComponent>
              <formComponent name="Footer" id="3858" beanClass="com.install4j.runtime.beans.styles.NestedStyleComponent" insetTop="0" insetLeft="5" insetBottom="0" insetRight="5">
                <serializedBean>
                  <property name="styleId" type="string">3870</property>
                </serializedBean>
              </formComponent>
            </beans>
          </group>
        </formComponents>
      </style>
      <style name="Banner" id="3859" beanClass="com.install4j.runtime.beans.styles.FormStyle">
        <formComponents>
          <group id="3860" beanClass="com.install4j.runtime.beans.groups.VerticalFormComponentGroup" useExternalParametrization="true" externalParametrizationName="Customize banner image" externalParametrizationMode="include">
            <serializedBean>
              <property name="backgroundColor">
                <object class="com.install4j.runtime.beans.LightOrDarkColor">
                  <object class="java.awt.Color">
                    <int>255</int>
                    <int>255</int>
                    <int>255</int>
                    <int>255</int>
                  </object>
                  <object class="java.awt.Color">
                    <int>49</int>
                    <int>52</int>
                    <int>53</int>
                    <int>255</int>
                  </object>
                </object>
              </property>
              <property name="borderSides">
                <object class="com.install4j.runtime.beans.formcomponents.BorderSides">
                  <property name="bottom" type="boolean" value="true" />
                </object>
              </property>
              <property name="imageEdgeBackgroundColor">
                <object class="com.install4j.runtime.beans.LightOrDarkColor">
                  <object class="java.awt.Color">
                    <int>27</int>
                    <int>143</int>
                    <int>220</int>
                    <int>255</int>
                  </object>
                  <object class="java.awt.Color">
                    <int>0</int>
                    <int>73</int>
                    <int>150</int>
                    <int>255</int>
                  </object>
                </object>
              </property>
              <property name="imageFile">
                <object class="com.install4j.api.beans.ExternalFile">
                  <string>${compiler:sys.install4jHome}/resource/styles/wizard.png</string>
                </object>
              </property>
              <property name="insets">
                <object class="java.awt.Insets">
                  <int>5</int>
                  <int>10</int>
                  <int>10</int>
                  <int>10</int>
                </object>
              </property>
            </serializedBean>
            <beans>
              <formComponent id="3861" beanClass="com.install4j.runtime.beans.styles.ScreenTitleComponent" insetTop="0">
                <serializedBean>
                  <property name="labelWidgetStyle" id="LabelWidgetStyle0">
                    <property name="fontDescriptor">
                      <property name="fontSizePercent" type="int" value="130" />
                      <property name="fontStyle" type="enum" class="com.install4j.runtime.beans.formcomponents.FontStyle" value="BOLD" />
                      <property name="fontType" type="enum" class="com.install4j.runtime.beans.formcomponents.FontType" value="DERIVED" />
                    </property>
                  </property>
                  <property name="labelWidgetStyleId" type="null" />
                </serializedBean>
              </formComponent>
              <formComponent id="3862" beanClass="com.install4j.runtime.beans.formcomponents.SeparatorComponent" />
              <formComponent id="3863" beanClass="com.install4j.runtime.beans.styles.ContentComponent" insetTop="10" insetBottom="0" />
            </beans>
            <externalParametrizationPropertyNames>
              <propertyName>imageAnchor</propertyName>
              <propertyName>imageEdgeBackgroundColor</propertyName>
              <propertyName>imageFile</propertyName>
            </externalParametrizationPropertyNames>
          </group>
          <formComponent id="3864" beanClass="com.install4j.runtime.beans.styles.NestedStyleComponent" insetLeft="5" insetBottom="0" insetRight="5">
            <serializedBean>
              <property name="styleId" type="string">3870</property>
            </serializedBean>
          </formComponent>
        </formComponents>
      </style>
      <group name="Style components" id="3865" beanClass="com.install4j.runtime.beans.groups.StyleGroup">
        <beans>
          <style name="Standard Header" id="3866" beanClass="com.install4j.runtime.beans.styles.FormStyle">
            <serializedBean>
              <property name="fillVertical" type="boolean" value="false" />
              <property name="standalone" type="boolean" value="false" />
              <property name="verticalAnchor" type="enum" class="com.install4j.api.beans.Anchor" value="NORTH" />
            </serializedBean>
            <formComponents>
              <group id="3867" beanClass="com.install4j.runtime.beans.groups.VerticalFormComponentGroup" useExternalParametrization="true" externalParametrizationName="Customize title bar" externalParametrizationMode="include">
                <serializedBean>
                  <property name="backgroundColor">
                    <object class="com.install4j.runtime.beans.LightOrDarkColor">
                      <object class="java.awt.Color">
                        <int>255</int>
                        <int>255</int>
                        <int>255</int>
                        <int>255</int>
                      </object>
                      <object class="java.awt.Color">
                        <int>49</int>
                        <int>52</int>
                        <int>53</int>
                        <int>255</int>
                      </object>
                    </object>
                  </property>
                  <property name="borderSides">
                    <object class="com.install4j.runtime.beans.formcomponents.BorderSides">
                      <property name="bottom" type="boolean" value="true" />
                    </object>
                  </property>
                  <property name="imageAnchor" type="enum" class="com.install4j.api.beans.Anchor" value="NORTHEAST" />
                  <property name="imageEdgeBorderWidth" type="int" value="2" />
                  <property name="imageFile">
                    <object class="com.install4j.api.beans.ExternalFile">
                      <string>installer_header.png</string>
                    </object>
                  </property>
                  <property name="imageInsets">
                    <object class="java.awt.Insets">
                      <int>0</int>
                      <int>5</int>
                      <int>1</int>
                      <int>1</int>
                    </object>
                  </property>
                  <property name="insets">
                    <object class="java.awt.Insets">
                      <int>0</int>
                      <int>20</int>
                      <int>0</int>
                      <int>10</int>
                    </object>
                  </property>
                </serializedBean>
                <beans>
                  <formComponent name="Title" id="3868" beanClass="com.install4j.runtime.beans.styles.ScreenTitleComponent">
                    <serializedBean>
                      <property name="labelWidgetStyle" id="LabelWidgetStyle0">
                        <property name="fontDescriptor">
                          <property name="fontStyle" type="enum" class="com.install4j.runtime.beans.formcomponents.FontStyle" value="BOLD" />
                          <property name="fontType" type="enum" class="com.install4j.runtime.beans.formcomponents.FontType" value="DERIVED" />
                        </property>
                      </property>
                      <property name="labelWidgetStyleId" type="null" />
                    </serializedBean>
                  </formComponent>
                  <formComponent name="Subtitle" id="3869" beanClass="com.install4j.runtime.beans.styles.ScreenTitleComponent" insetLeft="8">
                    <serializedBean>
                      <property name="titleType" type="enum" class="com.install4j.runtime.beans.styles.TitleType" value="SUB_TITLE" />
                    </serializedBean>
                  </formComponent>
                </beans>
                <externalParametrizationPropertyNames>
                  <propertyName>backgroundColor</propertyName>
                  <propertyName>foregroundColor</propertyName>
                  <propertyName>imageAnchor</propertyName>
                  <propertyName>imageFile</propertyName>
                  <propertyName>imageOverlap</propertyName>
                </externalParametrizationPropertyNames>
              </group>
            </formComponents>
          </style>
          <style name="Standard Footer" id="3870" beanClass="com.install4j.runtime.beans.styles.FormStyle">
            <serializedBean>
              <property name="fillVertical" type="boolean" value="false" />
              <property name="standalone" type="boolean" value="false" />
              <property name="verticalAnchor" type="enum" class="com.install4j.api.beans.Anchor" value="SOUTH" />
            </serializedBean>
            <formComponents>
              <group id="3871" beanClass="com.install4j.runtime.beans.groups.HorizontalFormComponentGroup">
                <serializedBean>
                  <property name="alignFirstLabel" type="boolean" value="false" />
                  <property name="insets">
                    <object class="java.awt.Insets">
                      <int>3</int>
                      <int>0</int>
                      <int>8</int>
                      <int>0</int>
                    </object>
                  </property>
                </serializedBean>
                <beans>
                  <formComponent id="3872" beanClass="com.install4j.runtime.beans.formcomponents.SpringComponent" />
                  <formComponent name="Back button" id="3873" beanClass="com.install4j.runtime.beans.styles.StandardControlButtonComponent">
                    <serializedBean>
                      <property name="buttonText" type="string">&lt; ${i18n:ButtonBack}</property>
                      <property name="controlButtonType" type="enum" class="com.install4j.api.context.ControlButtonType" value="PREVIOUS" />
                    </serializedBean>
                  </formComponent>
                  <formComponent name="Next button" id="3874" beanClass="com.install4j.runtime.beans.styles.StandardControlButtonComponent">
                    <serializedBean>
                      <property name="buttonText" type="string">${i18n:ButtonNext} &gt;</property>
                      <property name="controlButtonType" type="enum" class="com.install4j.api.context.ControlButtonType" value="NEXT" />
                    </serializedBean>
                  </formComponent>
                  <formComponent name="Cancel button" id="3875" beanClass="com.install4j.runtime.beans.styles.StandardControlButtonComponent" insetLeft="5">
                    <serializedBean>
                      <property name="buttonText" type="string">${i18n:ButtonCancel}</property>
                      <property name="controlButtonType" type="enum" class="com.install4j.api.context.ControlButtonType" value="CANCEL" />
                    </serializedBean>
                  </formComponent>
                </beans>
              </group>
            </formComponents>
          </style>
        </beans>
      </group>
      <style id="3879" beanClass="SunnySkyBackgroundStyle">
        <serializedBean>
          <property name="nestedStyleId" type="string">3853</property>
        </serializedBean>
      </style>
    </styles>
    <widgetStyles defaultWidgetStyleId="82">
      <widgetStyle name="Standard" id="82" beanClass="com.install4j.runtime.beans.widgets.WidgetStyleCollection" />
    </widgetStyles>
  </installerGui>
  <mediaSets>
    <windows name="Windows" id="8" installDir="hello" architecture="64" />
    <unixInstaller name="Unix Installer" id="12" installDir="hello">
      <jreBundle jreBundleSource="none" />
    </unixInstaller>
    <macosFolder name="macOS Folder" id="3809" installDir="sample" />
  </mediaSets>
</install4j>
