b19ddf9f6d88bb644afd6054a2578e01474de4de
[jalview.git] / utils / install4j / install4j8_template.install4j
1 <?xml version="1.0" encoding="UTF-8"?>
2 <install4j version="8.0.5" transformSequenceNumber="8">
3   <directoryPresets config="../.." />
4   <application name="${compiler:JALVIEW_APPLICATION_NAME}" applicationId="${compiler:WINDOWS_APPLICATION_ID}" mediaDir="${compiler:BUILD_DIR}" lzmaCompression="true" shortName="${compiler:INTERNAL_ID}" publisher="University of Dundee" publisherWeb="https://www.jalview.org/" version="${compiler:JALVIEW_VERSION}" allPathsRelative="true" macVolumeId="5aac4968c304f65" javaMinVersion="${compiler:JAVA_MIN_VERSION}" javaMaxVersion="9999999999${compiler:JAVA_MAX_VERSION}" allowBetaVM="true" jdkMode="jdk" jdkName="JDK 11.0">
5     <searchSequence>
6       <directory location="${compiler:JRE_DIR}" />
7       <registry />
8       <envVar name="JAVA_HOME" />
9     </searchSequence>
10     <variables>
11       <variable name="JALVIEW_NAME" value="Jalview" />
12       <variable name="JALVIEW_APPLICATION_NAME" value="Jalview" />
13       <variable name="JALVIEW_DIR" value="../.." />
14       <variable name="BUILD_DIR" value="${compiler:JALVIEW_DIR}/build/install4j" />
15       <variable name="OSX_KEYSTORE" />
16       <variable name="JSIGN_SH" value="echo" />
17       <variable name="JRE_DIR" value="jre" description="The folder under the app folder that the JRE will be either copied or unpacked into" />
18       <variable name="INSTALLER_TEMPLATE_VERSION" value="DEVELOPMENT_default" />
19       <variable name="JALVIEW_VERSION" value="DEVELOPMENT" />
20       <variable name="JAVA_MIN_VERSION" value="11" />
21       <variable name="JAVA_MAX_VERSION" value="11" />
22       <variable name="JAVA_VERSION" value="11" />
23       <variable name="JAVA_INTEGER_VERSION" value="11" />
24       <variable name="VERSION" value="DEVELOPMENT" />
25       <variable name="MACOS_JAVA_VM_DIR" value="~/buildtools/jre/jre-${compiler:JAVA_INTEGER_VERSION}-mac-x64/jre" />
26       <variable name="WINDOWS_JAVA_VM_DIR" value="~/buildtools/jre/jre-${compiler:JAVA_INTEGER_VERSION}-windows-x64/jre" />
27       <variable name="LINUX_JAVA_VM_DIR" value="~/buildtools/jre/jre-${compiler:JAVA_INTEGER_VERSION}-linux-x64/jre" />
28       <variable name="MACOS_JAVA_VM_TGZ" value="~/buildtools/jre/tgz/jre-${compiler:JAVA_INTEGER_VERSION}-mac-x64.tar.gz" />
29       <variable name="WINDOWS_JAVA_VM_TGZ" value="~/buildtools/jre/tgz/jre-${compiler:JAVA_INTEGER_VERSION}-windows-x64.tar.gz" />
30       <variable name="LINUX_JAVA_VM_TGZ" value="~/buildtools/jre/tgz/jre-${compiler:JAVA_INTEGER_VERSION}-linux-x64.tar.gz" />
31       <variable name="COPYRIGHT_MESSAGE" value="..." />
32       <variable name="BUNDLE_ID" value="org.jalview.jalview-desktop" />
33       <variable name="INTERNAL_ID" value="Jalview" />
34       <variable name="WINDOWS_APPLICATION_ID" value="6595-2347-1923-0725" />
35       <variable name="MACOS_DMG_DS_STORE" value="DS_Store" />
36       <variable name="MACOS_DMG_BG_IMAGE" />
37       <variable name="INSTALLER_NAME" value="Jalview Installer" />
38       <variable name="INSTALL4J_UTILS_DIR" value="utils/install4j" />
39       <variable name="GETDOWN_WEBSITE_DIR" value="getdown/website" />
40       <variable name="GETDOWN_FILES_DIR" value="getdown/files" />
41       <variable name="GETDOWN_RESOURCE_DIR" value="resource" />
42       <variable name="GETDOWN_DIST_DIR" value="dist" />
43       <variable name="GETDOWN_ALT_DIR" value="alt" />
44       <variable name="GETDOWN_INSTALL_DIR" value="install" />
45       <variable name="INFO_PLIST_FILE_ASSOCIATIONS_FILE" value="file_associations_auto-Info_plist.xml" />
46       <variable name="APPLICATION_CATEGORIES" value="Science;Biology;Java;" />
47       <variable name="APPLICATION_FOLDER" value="Jalview" />
48       <variable name="UNIX_APPLICATION_FOLDER" value="jalview" />
49       <variable name="EXECUTABLE_NAME" value="jalview" />
50       <variable name="EXTRA_SCHEME" value="jalviewx" />
51       <variable name="MAC_ICONS_FILE" value="utils/channels/release/images/jalview_logo.icns" />
52       <variable name="WINDOWS_ICONS_FILE" value="utils/channels/release/images/jalview_logo.ico" />
53       <variable name="PNG_ICON_FILE" value="utils/channels/release/images/jalview_logo.png" />
54       <variable name="BACKGROUND" value="utils/channels/release/images/jalview_logo_background_fade-640x480.png" />
55     </variables>
56     <codeSigning macEnabled="true" macPkcs12File="${compiler:OSX_KEYSTORE}" />
57   </application>
58   <files defaultUninstallMode="2">
59     <filesets>
60       <fileset name="Full file set" id="734" customizedId="FULL_FILE_SET" />
61       <fileset name="Mac OS X JRE" id="880" />
62       <fileset name="Windows JRE" id="882" />
63       <fileset name="Jalview application" id="1873" />
64       <fileset name="MacOS Old Jalview Uninstaller" id="2105" />
65     </filesets>
66     <roots>
67       <root id="735" fileset="734" />
68       <root id="881" fileset="880" />
69       <root id="883" fileset="882" />
70       <root id="1874" fileset="1873" />
71       <root id="2106" fileset="2105" />
72     </roots>
73     <mountPoints>
74       <mountPoint id="454" />
75       <mountPoint id="736" root="735" />
76       <mountPoint id="884" root="881" />
77       <mountPoint id="885" root="883" />
78       <mountPoint id="1875" root="1874" />
79       <mountPoint id="2107" root="2106" />
80     </mountPoints>
81     <entries>
82       <dirEntry mountPoint="454" file="${compiler:JALVIEW_DIR}/${compiler:GETDOWN_FILES_DIR}/${compiler:JAVA_VERSION}" uninstallMode="2" overrideOverwriteMode="true" overrideUninstallMode="true" subDirectory="files" />
83       <dirEntry mountPoint="736" file="${compiler:JALVIEW_DIR}/${compiler:GETDOWN_WEBSITE_DIR}/${compiler:JAVA_VERSION}" uninstallMode="2" overrideOverwriteMode="true" overrideUninstallMode="true" subDirectory="files" />
84       <dirEntry mountPoint="736" file="${compiler:JALVIEW_DIR}/examples" overwriteMode="1" uninstallMode="2" overrideFileMode="true" overrideOverwriteMode="true" overrideUninstallMode="true" entryMode="subdir" subDirectory="examples" />
85       <dirEntry mountPoint="884" file="${compiler:MACOS_JAVA_VM_DIR}" fileMode="755" overrideFileMode="true" overrideUninstallMode="true" entryMode="subdir" subDirectory="${compiler:JRE_DIR}" />
86       <dirEntry mountPoint="885" file="${compiler:WINDOWS_JAVA_VM_DIR}" fileMode="755" overrideFileMode="true" overrideUninstallMode="true" entryMode="subdir" subDirectory="${compiler:JRE_DIR}" />
87       <dirEntry mountPoint="1875" file="${compiler:JALVIEW_DIR}/${compiler:GETDOWN_WEBSITE_DIR}/${compiler:JAVA_VERSION}/${compiler:GETDOWN_DIST_DIR}" overwriteMode="1" uninstallMode="2" overrideFileMode="true" overrideOverwriteMode="true" overrideUninstallMode="true" entryMode="subdir" subDirectory="${compiler:GETDOWN_DIST_DIR}" overrideDirMode="true" />
88       <dirEntry mountPoint="2107" file="Uninstall Old Jalview.app" fileMode="755" overrideFileMode="true" entryMode="subdir" subDirectory="Uninstall Old Jalview.app" overrideDirMode="true" />
89     </entries>
90     <components>
91       <component name="jalview_getdown" id="1031">
92         <include>
93           <entry filesetId="734" />
94         </include>
95       </component>
96       <component name="macos_java_vm" id="1155">
97         <include>
98           <entry filesetId="880" />
99         </include>
100       </component>
101       <component name="windows_java_vm" id="1156">
102         <include>
103           <entry filesetId="882" />
104         </include>
105       </component>
106       <component name="getdown" id="1276">
107         <include>
108           <entry defaultFileset="true" />
109         </include>
110       </component>
111       <component name="jalview" id="1881">
112         <include>
113           <entry filesetId="1873" />
114         </include>
115       </component>
116       <component name="macos_old_jalview_uninstaller" id="2110">
117         <include>
118           <entry filesetId="2105" />
119         </include>
120       </component>
121     </components>
122   </files>
123   <launchers>
124     <launcher name="Jalview Launcher" id="737" menuName="${compiler:JALVIEW_APPLICATION_NAME}" icnsFile="${compiler:JALVIEW_DIR}/${compiler:MAC_ICONS_FILE}" customMacBundleIdentifier="true" macBundleIdentifier="${compiler:BUNDLE_ID}" fileset="734" useCustomMacosExecutableName="true" customMacosExecutableName="${compiler:JALVIEW_APPLICATION_NAME}">
125       <executable name="${compiler:EXECUTABLE_NAME}" iconSet="true" iconFile="${compiler:JALVIEW_DIR}/${compiler:WINDOWS_ICONS_FILE}" redirectStdout="true" executableMode="gui" changeWorkingDirectory="false" singleInstance="true" checkConsoleParameter="true">
126         <versionInfo include="true" fileDescription="${compiler:sys.fullName}" legalCopyright="${compiler:COPYRIGHT_MESSAGE}" internalName="${compiler:INTERNAL_ID}" productName="${compiler:sys.fullName}" />
127       </executable>
128       <splashScreen width="640" height="480" bitmapFile="${compiler:JALVIEW_DIR}/${compiler:BACKGROUND}" textOverlay="true">
129         <text>
130           <statusLine x="85" y="81" text="${compiler:sys.shortName}" fontSize="18" />
131           <versionLine x="85" y="109" text="version ${compiler:sys.version}" />
132         </text>
133       </splashScreen>
134       <java mainClass="com.threerings.getdown.launcher.GetdownApp" vmParameters="-Dinstaller_template_version=${compiler:INSTALLER_TEMPLATE_VERSION}" arguments="&quot;${launcher:sys.launcherDirectory}&quot; jalview">
135         <classPath>
136           <archive location="getdown-launcher.jar" />
137           <archive location="${compiler:GETDOWN_INSTALL_DIR}/getdown-launcher.jar" failOnError="false" />
138         </classPath>
139       </java>
140       <macStaticAssociationActions mode="selected">
141         <id>2350</id>
142         <id>2450</id>
143         <id>2641</id>
144       </macStaticAssociationActions>
145       <infoPlist>${compiler:file("${compiler:INFO_PLIST_FILE_ASSOCIATIONS_FILE}")}</infoPlist>
146       <iconImageFiles>
147         <file path="${compiler:JALVIEW_DIR}/${compiler:PNG_ICON_FILE}" />
148       </iconImageFiles>
149     </launcher>
150   </launchers>
151   <installerGui autoUpdateDescriptorUrl="https://www.jalview.org/install4j/updates.xml">
152     <applications>
153       <application id="installer" beanClass="com.install4j.runtime.beans.applications.InstallerApplication" styleId="35" customIcnsFile="${compiler:JALVIEW_DIR}/${compiler:MAC_ICONS_FILE}" customIcoFile="${compiler:JALVIEW_DIR}/${compiler:WINDOWS_ICONS_FILE}">
154         <serializedBean>
155           <property name="useCustomIcon" type="boolean" value="true" />
156         </serializedBean>
157         <styleOverrides>
158           <styleOverride name="Customize banner image" enabled="true">
159             <group id="146" beanClass="com.install4j.runtime.beans.groups.VerticalFormComponentGroup" useExternalParametrization="true" externalParametrizationName="Customize banner image" externalParametrizationMode="include">
160               <serializedBean>
161                 <property name="backgroundColor">
162                   <object class="java.awt.Color">
163                     <int>255</int>
164                     <int>255</int>
165                     <int>255</int>
166                     <int>255</int>
167                   </object>
168                 </property>
169                 <property name="borderSides">
170                   <object class="com.install4j.runtime.beans.formcomponents.BorderSides">
171                     <property name="bottom" type="boolean" value="true" />
172                   </object>
173                 </property>
174                 <property name="imageEdgeBackgroundColor">
175                   <object class="java.awt.Color">
176                     <int>255</int>
177                     <int>255</int>
178                     <int>255</int>
179                     <int>255</int>
180                   </object>
181                 </property>
182                 <property name="imageEdgeBorder" type="boolean" value="true" />
183                 <property name="imageFile">
184                   <object class="com.install4j.api.beans.ExternalFile">
185                     <string>${compiler:JALVIEW_DIR}/${compiler:BACKGROUND}</string>
186                   </object>
187                 </property>
188                 <property name="insets">
189                   <object class="java.awt.Insets">
190                     <int>5</int>
191                     <int>10</int>
192                     <int>10</int>
193                     <int>10</int>
194                   </object>
195                 </property>
196               </serializedBean>
197               <externalParametrizationPropertyNames>
198                 <propertyName>imageAnchor</propertyName>
199                 <propertyName>imageEdgeBackgroundColor</propertyName>
200                 <propertyName>imageFile</propertyName>
201               </externalParametrizationPropertyNames>
202             </group>
203           </styleOverride>
204           <styleOverride name="Jalview" enabled="true">
205             <formComponent name="Watermark" id="352" beanClass="com.install4j.runtime.beans.formcomponents.SeparatorComponent" insetTop="0" insetLeft="5" insetBottom="0" useExternalParametrization="true" externalParametrizationName="Jalview" externalParametrizationMode="include">
206               <serializedBean>
207                 <property name="enabledTitleText" type="boolean" value="false" />
208               </serializedBean>
209               <externalParametrizationPropertyNames>
210                 <propertyName>labelText</propertyName>
211               </externalParametrizationPropertyNames>
212             </formComponent>
213           </styleOverride>
214         </styleOverrides>
215         <startup>
216           <screen id="1" beanClass="com.install4j.runtime.beans.screens.StartupScreen" rollbackBarrierExitCode="0">
217             <actions>
218               <action id="22" beanClass="com.install4j.runtime.beans.actions.misc.RequestPrivilegesAction" actionElevationType="none" rollbackBarrierExitCode="0">
219                 <serializedBean>
220                   <property name="obtainIfAdminWin" type="boolean" value="false" />
221                 </serializedBean>
222               </action>
223             </actions>
224           </screen>
225         </startup>
226         <screens>
227           <screen id="2" beanClass="com.install4j.runtime.beans.screens.WelcomeScreen" rollbackBarrierExitCode="0">
228             <styleOverrides>
229               <styleOverride name="Customize banner image" enabled="true">
230                 <group id="145" beanClass="com.install4j.runtime.beans.groups.VerticalFormComponentGroup" useExternalParametrization="true" externalParametrizationName="Customize banner image" externalParametrizationMode="include">
231                   <serializedBean>
232                     <property name="backgroundColor">
233                       <object class="java.awt.Color">
234                         <int>255</int>
235                         <int>255</int>
236                         <int>255</int>
237                         <int>255</int>
238                       </object>
239                     </property>
240                     <property name="borderSides">
241                       <object class="com.install4j.runtime.beans.formcomponents.BorderSides">
242                         <property name="bottom" type="boolean" value="true" />
243                       </object>
244                     </property>
245                     <property name="imageEdgeBackgroundColor">
246                       <object class="java.awt.Color">
247                         <int>25</int>
248                         <int>143</int>
249                         <int>220</int>
250                         <int>255</int>
251                       </object>
252                     </property>
253                     <property name="imageEdgeBorder" type="boolean" value="true" />
254                     <property name="imageFile">
255                       <object class="com.install4j.api.beans.ExternalFile">
256                         <string>${compiler:JALVIEW_DIR}/${compiler:BACKGROUND}</string>
257                       </object>
258                     </property>
259                     <property name="insets">
260                       <object class="java.awt.Insets">
261                         <int>5</int>
262                         <int>10</int>
263                         <int>10</int>
264                         <int>10</int>
265                       </object>
266                     </property>
267                   </serializedBean>
268                   <externalParametrizationPropertyNames>
269                     <propertyName>imageAnchor</propertyName>
270                     <propertyName>imageEdgeBackgroundColor</propertyName>
271                     <propertyName>imageFile</propertyName>
272                   </externalParametrizationPropertyNames>
273                 </group>
274               </styleOverride>
275             </styleOverrides>
276             <actions>
277               <action id="7" beanClass="com.install4j.runtime.beans.actions.misc.LoadResponseFileAction" rollbackBarrierExitCode="0" multiExec="true">
278                 <serializedBean>
279                   <property name="excludedVariables" type="array" elementType="string" length="1">
280                     <element index="0">sys.installationDir</element>
281                   </property>
282                 </serializedBean>
283                 <condition>context.getBooleanVariable("sys.confirmedUpdateInstallation")</condition>
284               </action>
285             </actions>
286             <formComponents>
287               <formComponent id="3" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent">
288                 <serializedBean>
289                   <property name="labelText" type="string">${form:welcomeMessage}</property>
290                 </serializedBean>
291                 <visibilityScript>!context.isConsole()</visibilityScript>
292               </formComponent>
293               <formComponent id="4" beanClass="com.install4j.runtime.beans.formcomponents.ConsoleHandlerFormComponent">
294                 <serializedBean>
295                   <property name="consoleScript">
296                     <object class="com.install4j.api.beans.ScriptProperty">
297                       <property name="value" type="string">String message = context.getMessage("ConsoleWelcomeLabel", context.getApplicationName());
298 return console.askOkCancel(message, true);
299 </property>
300                     </object>
301                   </property>
302                 </serializedBean>
303               </formComponent>
304               <formComponent id="5" beanClass="com.install4j.runtime.beans.formcomponents.UpdateAlertComponent" useExternalParametrization="true" externalParametrizationName="Update Alert" externalParametrizationMode="include">
305                 <externalParametrizationPropertyNames>
306                   <propertyName>updateCheck</propertyName>
307                 </externalParametrizationPropertyNames>
308               </formComponent>
309               <formComponent id="6" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent" insetTop="20">
310                 <serializedBean>
311                   <property name="labelText" type="string">${i18n:ClickNext}</property>
312                 </serializedBean>
313               </formComponent>
314             </formComponents>
315           </screen>
316           <screen id="8" beanClass="com.install4j.runtime.beans.screens.InstallationDirectoryScreen" rollbackBarrierExitCode="0">
317             <condition>!context.getBooleanVariable("sys.confirmedUpdateInstallation")</condition>
318             <actions>
319               <action id="11" beanClass="com.install4j.runtime.beans.actions.misc.LoadResponseFileAction" rollbackBarrierExitCode="0" multiExec="true">
320                 <serializedBean>
321                   <property name="excludedVariables" type="array" elementType="string" length="1">
322                     <element index="0">sys.installationDir</element>
323                   </property>
324                 </serializedBean>
325                 <condition>context.getVariable("sys.responseFile") == null</condition>
326               </action>
327             </actions>
328             <formComponents>
329               <formComponent id="9" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent" insetBottom="25">
330                 <serializedBean>
331                   <property name="labelText" type="string">${i18n:SelectDirLabel(${compiler:sys.fullName})}</property>
332                 </serializedBean>
333               </formComponent>
334               <formComponent id="10" beanClass="com.install4j.runtime.beans.formcomponents.InstallationDirectoryChooserComponent" useExternalParametrization="true" externalParametrizationName="Installation Directory Chooser" externalParametrizationMode="include">
335                 <serializedBean>
336                   <property name="requestFocus" type="boolean" value="true" />
337                 </serializedBean>
338                 <externalParametrizationPropertyNames>
339                   <propertyName>allowSpacesOnUnix</propertyName>
340                   <propertyName>checkFreeSpace</propertyName>
341                   <propertyName>checkWritable</propertyName>
342                   <propertyName>existingDirWarning</propertyName>
343                   <propertyName>manualEntryAllowed</propertyName>
344                   <propertyName>showFreeDiskSpace</propertyName>
345                   <propertyName>showRequiredDiskSpace</propertyName>
346                   <propertyName>standardValidation</propertyName>
347                   <propertyName>suggestAppDir</propertyName>
348                   <propertyName>validateApplicationId</propertyName>
349                   <propertyName>validationScript</propertyName>
350                 </externalParametrizationPropertyNames>
351               </formComponent>
352             </formComponents>
353           </screen>
354           <screen id="12" beanClass="com.install4j.runtime.beans.screens.ComponentsScreen" enabled="false" rollbackBarrierExitCode="0">
355             <formComponents>
356               <formComponent id="13" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent">
357                 <serializedBean>
358                   <property name="labelText" type="string">${i18n:SelectComponentsLabel2}</property>
359                 </serializedBean>
360                 <visibilityScript>!context.isConsole()</visibilityScript>
361               </formComponent>
362               <formComponent id="14" beanClass="com.install4j.runtime.beans.formcomponents.ComponentSelectorComponent" useExternalParametrization="true" externalParametrizationName="Installation Components" externalParametrizationMode="include">
363                 <serializedBean>
364                   <property name="fillVertical" type="boolean" value="true" />
365                 </serializedBean>
366                 <externalParametrizationPropertyNames>
367                   <propertyName>selectionChangedScript</propertyName>
368                 </externalParametrizationPropertyNames>
369               </formComponent>
370             </formComponents>
371           </screen>
372           <screen id="1692" beanClass="com.install4j.runtime.beans.screens.FileAssociationsScreen" rollbackBarrierExitCode="0">
373             <formComponents>
374               <formComponent id="1693" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent">
375                 <serializedBean>
376                   <property name="labelText" type="string">${i18n:SelectAssociationsLabel}</property>
377                 </serializedBean>
378               </formComponent>
379               <formComponent id="1694" beanClass="com.install4j.runtime.beans.formcomponents.FileAssociationsComponent" useExternalParametrization="true" externalParametrizationName="File Associations" externalParametrizationMode="include">
380                 <serializedBean>
381                   <property name="fillVertical" type="boolean" value="true" />
382                   <property name="selectionButtonPosition" type="enum" class="com.install4j.runtime.beans.formcomponents.VerticalDockingPosition" value="TOP" />
383                   <property name="showSelectionButtons" type="boolean" value="true" />
384                 </serializedBean>
385                 <externalParametrizationPropertyNames>
386                   <propertyName>showSelectionButtons</propertyName>
387                   <propertyName>selectionButtonPosition</propertyName>
388                 </externalParametrizationPropertyNames>
389               </formComponent>
390             </formComponents>
391           </screen>
392           <screen id="15" beanClass="com.install4j.runtime.beans.screens.InstallationScreen" rollbackBarrier="true" rollbackBarrierExitCode="0">
393             <actions>
394               <action id="17" beanClass="com.install4j.runtime.beans.actions.InstallFilesAction" actionElevationType="elevated" rollbackBarrierExitCode="0" failureStrategy="quit" errorMessage="${i18n:FileCorrupted}" />
395               <action name="Create program group (RELEASE)" id="18" customizedId="PROGRAM_GROUP_RELEASE" beanClass="com.install4j.runtime.beans.actions.desktop.CreateProgramGroupAction" actionElevationType="elevated" rollbackBarrierExitCode="0">
396                 <serializedBean>
397                   <property name="allUsers" type="boolean" value="false" />
398                   <property name="categories" type="string">${compiler:APPLICATION_CATEGORIES}</property>
399                   <property name="programGroupEntryConfigs">
400                     <add>
401                       <object class="com.install4j.runtime.beans.screens.components.ProgramGroupFileConfig">
402                         <property name="name" type="string">Examples</property>
403                         <property name="target">
404                           <object class="java.io.File">
405                             <string>examples</string>
406                           </object>
407                         </property>
408                       </object>
409                     </add>
410                   </property>
411                   <property name="programGroupName" type="string">${compiler:JALVIEW_NAME}</property>
412                   <property name="uninstallerMenuName" type="string">${i18n:UninstallerMenuEntry(${compiler:sys.fullName})}</property>
413                 </serializedBean>
414                 <condition>!context.getBooleanVariable("sys.programGroupDisabled")</condition>
415               </action>
416               <action name="Create program group (NON-RELEASE)" id="2730" customizedId="PROGRAM_GROUP_NON_RELEASE" beanClass="com.install4j.runtime.beans.actions.desktop.CreateProgramGroupAction" actionElevationType="elevated" rollbackBarrierExitCode="0">
417                 <serializedBean>
418                   <property name="allUsers" type="boolean" value="false" />
419                   <property name="categories" type="string">${compiler:APPLICATION_CATEGORIES}</property>
420                   <property name="programGroupName" type="string">${compiler:JALVIEW_NAME}</property>
421                   <property name="uninstallerMenuName" type="string">${i18n:UninstallerMenuEntry(${compiler:sys.fullName})}</property>
422                 </serializedBean>
423                 <condition>!context.getBooleanVariable("sys.programGroupDisabled")</condition>
424               </action>
425               <action id="19" beanClass="com.install4j.runtime.beans.actions.desktop.RegisterAddRemoveAction" actionElevationType="elevated" rollbackBarrierExitCode="0">
426                 <serializedBean>
427                   <property name="itemName" type="string">${compiler:sys.fullName} ${compiler:sys.version}</property>
428                 </serializedBean>
429               </action>
430               <action id="124" beanClass="com.install4j.runtime.beans.actions.control.SetVariableAction" enabled="false" rollbackBarrierExitCode="0">
431                 <serializedBean>
432                   <property name="script">
433                     <object class="com.install4j.api.beans.ScriptProperty">
434                       <property name="value" type="string" />
435                     </object>
436                   </property>
437                   <property name="variableName" type="string" />
438                 </serializedBean>
439                 <condition>true</condition>
440               </action>
441               <action id="134" beanClass="com.install4j.runtime.beans.actions.misc.AddVmOptionsAction" enabled="false" actionElevationType="elevated" rollbackBarrierExitCode="0">
442                 <serializedBean>
443                   <property name="launcherId" type="string">121</property>
444                   <property name="vmOptions" type="array" elementType="string" length="0" />
445                 </serializedBean>
446               </action>
447               <group name="File Associations" id="2251" beanClass="com.install4j.runtime.beans.groups.ActionGroup">
448                 <beans>
449                   <action id="2253" beanClass="com.install4j.runtime.beans.actions.control.SetMessageAction" actionElevationType="none" rollbackBarrierExitCode="0">
450                     <serializedBean>
451                       <property name="statusMessage" type="string">Creating file associations...</property>
452                       <property name="useDetail" type="boolean" value="true" />
453                       <property name="useStatus" type="boolean" value="true" />
454                     </serializedBean>
455                   </action>
456                   <action id="2254" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" actionElevationType="none" rollbackBarrierExitCode="0">
457                     <serializedBean>
458                       <property name="progressChangeType" type="enum" class="com.install4j.runtime.beans.actions.control.ProgressChangeType" value="SET_INDETERMINATE" />
459                     </serializedBean>
460                   </action>
461                   <action name="EXTENSIONS_REPLACED_BY_GRADLE" id="1691" customizedId="EXTENSIONS" beanClass="com.install4j.runtime.beans.actions.desktop.CreateFileAssociationAction" actionElevationType="elevated" rollbackBarrierExitCode="0">
462                     <serializedBean>
463                       <property name="description" type="string">This action, identified by its name "EXTENSIONS_REPLACED_BY_GRADLE", will be replaced by gradle with the contents of file 'file_associations_auto_install4j.xml'.</property>
464                       <property name="extension" type="string">extensions_to_be_replaced_by_gradle</property>
465                     </serializedBean>
466                   </action>
467                   <action id="2542" beanClass="com.install4j.runtime.beans.actions.control.SetMessageAction" actionElevationType="none" rollbackBarrierExitCode="0">
468                     <serializedBean>
469                       <property name="statusMessage" type="string">Creating file associations</property>
470                       <property name="useDetail" type="boolean" value="true" />
471                       <property name="useStatus" type="boolean" value="true" />
472                     </serializedBean>
473                   </action>
474                   <action id="2541" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" actionElevationType="none" rollbackBarrierExitCode="0">
475                     <serializedBean>
476                       <property name="percentValue" type="int" value="100" />
477                     </serializedBean>
478                   </action>
479                 </beans>
480               </group>
481               <action id="2350" beanClass="com.install4j.runtime.beans.actions.desktop.UrlHandlerAction" actionElevationType="elevated" rollbackBarrierExitCode="0">
482                 <serializedBean>
483                   <property name="launcherId" type="string">737</property>
484                   <property name="scheme" type="string">jalview</property>
485                 </serializedBean>
486               </action>
487               <action id="2450" beanClass="com.install4j.runtime.beans.actions.desktop.UrlHandlerAction" actionElevationType="elevated" rollbackBarrierExitCode="0">
488                 <serializedBean>
489                   <property name="launcherId" type="string">737</property>
490                   <property name="scheme" type="string">jalviews</property>
491                 </serializedBean>
492               </action>
493               <action id="2641" beanClass="com.install4j.runtime.beans.actions.desktop.UrlHandlerAction" actionElevationType="elevated" rollbackBarrierExitCode="0">
494                 <serializedBean>
495                   <property name="launcherId" type="string">737</property>
496                   <property name="scheme" type="string">${compiler:EXTRA_SCHEME}</property>
497                 </serializedBean>
498               </action>
499             </actions>
500             <formComponents>
501               <formComponent id="16" beanClass="com.install4j.runtime.beans.formcomponents.ProgressComponent">
502                 <serializedBean>
503                   <property name="initialStatusMessage" type="string">${i18n:WizardPreparing}</property>
504                 </serializedBean>
505               </formComponent>
506             </formComponents>
507           </screen>
508           <screen id="20" beanClass="com.install4j.runtime.beans.screens.FinishedScreen" rollbackBarrierExitCode="0" finishScreen="true">
509             <actions>
510               <action id="2012" beanClass="com.install4j.runtime.beans.actions.desktop.CreateStartMenuEntryAction" actionElevationType="elevated" rollbackBarrierExitCode="0">
511                 <serializedBean>
512                   <property name="allUsers" type="boolean" value="false" />
513                   <property name="categories" type="string">${compiler:APPLICATION_CATEGORIES}</property>
514                   <property name="entryName" type="string">${compiler:JALVIEW_APPLICATION_NAME}</property>
515                   <property name="file">
516                     <object class="java.io.File">
517                       <string>${installer:sys.contentDir}/${compiler:EXECUTABLE_NAME}</string>
518                     </object>
519                   </property>
520                   <property name="icon">
521                     <object class="com.install4j.api.beans.ExternalFile">
522                       <string>${compiler:JALVIEW_DIR}/${compiler:WINDOWS_ICONS_FILE}</string>
523                     </object>
524                   </property>
525                   <property name="programGroupName" type="string">${compiler:JALVIEW_NAME}</property>
526                   <property name="unixIconFile">
527                     <object class="com.install4j.api.beans.ExternalFile">
528                       <string>${compiler:JALVIEW_DIR}/${compiler:PNG_ICON_FILE}</string>
529                     </object>
530                   </property>
531                 </serializedBean>
532                 <condition>!context.getBooleanVariable("sys.programGroupDisabled")</condition>
533               </action>
534               <action id="573" beanClass="com.install4j.runtime.beans.actions.desktop.CreateDesktopLinkAction" actionElevationType="elevated" rollbackBarrierExitCode="0" errorMessage="Could not make desktop link">
535                 <serializedBean>
536                   <property name="allUsers" type="boolean" value="false" />
537                   <property name="description" type="string">${compiler:JALVIEW_APPLICATION_NAME}</property>
538                   <property name="file">
539                     <object class="java.io.File">
540                       <string>${installer:sys.contentDir}/${compiler:EXECUTABLE_NAME}</string>
541                     </object>
542                   </property>
543                   <property name="name" type="string">${compiler:JALVIEW_APPLICATION_NAME}</property>
544                   <property name="unixIconFile">
545                     <object class="com.install4j.api.beans.ExternalFile">
546                       <string>${compiler:JALVIEW_DIR}/${compiler:PNG_ICON_FILE}</string>
547                     </object>
548                   </property>
549                   <property name="winIconFile">
550                     <object class="com.install4j.api.beans.ExternalFile">
551                       <string>${compiler:JALVIEW_DIR}/${compiler:WINDOWS_ICONS_FILE}</string>
552                     </object>
553                   </property>
554                 </serializedBean>
555                 <condition>context.getBooleanVariable("createDesktopLinkAction")</condition>
556               </action>
557               <action id="576" beanClass="com.install4j.runtime.beans.actions.desktop.AddToDockAction" actionElevationType="none" rollbackBarrierExitCode="0">
558                 <serializedBean>
559                   <property name="executable">
560                     <object class="java.io.File">
561                       <string>${compiler:JALVIEW_APPLICATION_NAME}.app</string>
562                     </object>
563                   </property>
564                 </serializedBean>
565                 <condition>context.getBooleanVariable("addToDockAction")</condition>
566               </action>
567             </actions>
568             <formComponents>
569               <formComponent id="21" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent" insetBottom="10">
570                 <serializedBean>
571                   <property name="labelText" type="string">${form:finishedMessage}</property>
572                 </serializedBean>
573               </formComponent>
574               <formComponent name="Add a desktop link" id="574" beanClass="com.install4j.runtime.beans.formcomponents.CheckboxComponent">
575                 <serializedBean>
576                   <property name="checkboxText" type="string">${i18n:CreateDesktopIcon}</property>
577                   <property name="initiallySelected" type="boolean" value="true" />
578                   <property name="variableName" type="string">createDesktopLinkAction</property>
579                 </serializedBean>
580               </formComponent>
581               <formComponent name="Add an executable to the dock" id="577" beanClass="com.install4j.runtime.beans.formcomponents.CheckboxComponent">
582                 <serializedBean>
583                   <property name="checkboxText" type="string">${i18n:AddToDock}</property>
584                   <property name="initiallySelected" type="boolean" value="true" />
585                   <property name="variableName" type="string">addToDockAction</property>
586                 </serializedBean>
587                 <visibilityScript>Util.isMacOS()</visibilityScript>
588               </formComponent>
589             </formComponents>
590           </screen>
591         </screens>
592       </application>
593       <application id="uninstaller" beanClass="com.install4j.runtime.beans.applications.UninstallerApplication" styleId="35">
594         <serializedBean>
595           <property name="customMacosExecutableName" type="string">${i18n:UninstallerMenuEntry(${compiler:sys.fullName})}</property>
596           <property name="useCustomMacosExecutableName" type="boolean" value="true" />
597         </serializedBean>
598         <styleOverrides>
599           <styleOverride name="Customize banner image" enabled="true">
600             <group id="147" beanClass="com.install4j.runtime.beans.groups.VerticalFormComponentGroup" useExternalParametrization="true" externalParametrizationName="Customize banner image" externalParametrizationMode="include">
601               <serializedBean>
602                 <property name="backgroundColor">
603                   <object class="java.awt.Color">
604                     <int>255</int>
605                     <int>255</int>
606                     <int>255</int>
607                     <int>255</int>
608                   </object>
609                 </property>
610                 <property name="borderSides">
611                   <object class="com.install4j.runtime.beans.formcomponents.BorderSides">
612                     <property name="bottom" type="boolean" value="true" />
613                   </object>
614                 </property>
615                 <property name="imageEdgeBackgroundColor">
616                   <object class="java.awt.Color">
617                     <int>192</int>
618                     <int>192</int>
619                     <int>192</int>
620                     <int>255</int>
621                   </object>
622                 </property>
623                 <property name="imageEdgeBorder" type="boolean" value="true" />
624                 <property name="imageFile">
625                   <object class="com.install4j.api.beans.ExternalFile">
626                     <string>${compiler:JALVIEW_DIR}/${compiler:BACKGROUND}</string>
627                   </object>
628                 </property>
629                 <property name="insets">
630                   <object class="java.awt.Insets">
631                     <int>5</int>
632                     <int>10</int>
633                     <int>10</int>
634                     <int>10</int>
635                   </object>
636                 </property>
637               </serializedBean>
638               <externalParametrizationPropertyNames>
639                 <propertyName>imageAnchor</propertyName>
640                 <propertyName>imageEdgeBackgroundColor</propertyName>
641                 <propertyName>imageFile</propertyName>
642               </externalParametrizationPropertyNames>
643             </group>
644           </styleOverride>
645         </styleOverrides>
646         <startup>
647           <screen id="23" beanClass="com.install4j.runtime.beans.screens.StartupScreen" rollbackBarrierExitCode="0">
648             <actions>
649               <action id="33" beanClass="com.install4j.runtime.beans.actions.misc.LoadResponseFileAction" rollbackBarrierExitCode="0" />
650               <action id="34" beanClass="com.install4j.runtime.beans.actions.misc.RequireInstallerPrivilegesAction" actionElevationType="none" rollbackBarrierExitCode="0" />
651             </actions>
652           </screen>
653         </startup>
654         <screens>
655           <screen id="24" beanClass="com.install4j.runtime.beans.screens.UninstallWelcomeScreen" rollbackBarrierExitCode="0">
656             <formComponents>
657               <formComponent id="25" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent" insetBottom="10">
658                 <serializedBean>
659                   <property name="labelText" type="string">${form:welcomeMessage}</property>
660                 </serializedBean>
661                 <visibilityScript>!context.isConsole()</visibilityScript>
662               </formComponent>
663               <formComponent id="26" beanClass="com.install4j.runtime.beans.formcomponents.ConsoleHandlerFormComponent">
664                 <serializedBean>
665                   <property name="consoleScript">
666                     <object class="com.install4j.api.beans.ScriptProperty">
667                       <property name="value" type="string">String message = context.getMessage("ConfirmUninstall", context.getApplicationName());
668 return console.askYesNo(message, true);
669 </property>
670                     </object>
671                   </property>
672                 </serializedBean>
673               </formComponent>
674             </formComponents>
675           </screen>
676           <screen id="27" beanClass="com.install4j.runtime.beans.screens.UninstallationScreen" rollbackBarrierExitCode="0">
677             <actions>
678               <action id="659" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" actionElevationType="none" rollbackBarrierExitCode="0">
679                 <serializedBean>
680                   <property name="progressChangeType" type="enum" class="com.install4j.runtime.beans.actions.control.ProgressChangeType" value="SET_INDETERMINATE" />
681                 </serializedBean>
682               </action>
683               <action id="29" beanClass="com.install4j.runtime.beans.actions.UninstallFilesAction" actionElevationType="elevated" rollbackBarrierExitCode="0" />
684               <action id="660" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" enabled="false" actionElevationType="none" rollbackBarrierExitCode="0">
685                 <serializedBean>
686                   <property name="percentValue" type="int" value="95" />
687                 </serializedBean>
688               </action>
689               <action id="1525" beanClass="com.install4j.runtime.beans.actions.files.DeleteFileAction" actionElevationType="elevated" rollbackBarrierExitCode="0">
690                 <serializedBean>
691                   <property name="files" type="array" class="java.io.File" length="36">
692                     <element index="0">
693                       <object class="java.io.File">
694                         <string>jre</string>
695                       </object>
696                     </element>
697                     <element index="1">
698                       <object class="java.io.File">
699                         <string>jre.jar</string>
700                       </object>
701                     </element>
702                     <element index="2">
703                       <object class="java.io.File">
704                         <string>.install4j</string>
705                       </object>
706                     </element>
707                     <element index="3">
708                       <object class="java.io.File">
709                         <string>getdown-launcher.jar</string>
710                       </object>
711                     </element>
712                     <element index="4">
713                       <object class="java.io.File">
714                         <string>getdown-launcher-old.jar</string>
715                       </object>
716                     </element>
717                     <element index="5">
718                       <object class="java.io.File">
719                         <string>getdown-launcher-new.jar</string>
720                       </object>
721                     </element>
722                     <element index="6">
723                       <object class="java.io.File">
724                         <string>gettingdown.lock</string>
725                       </object>
726                     </element>
727                     <element index="7">
728                       <object class="java.io.File">
729                         <string>jre.zip</string>
730                       </object>
731                     </element>
732                     <element index="8">
733                       <object class="java.io.File">
734                         <string>digest.txt</string>
735                       </object>
736                     </element>
737                     <element index="9">
738                       <object class="java.io.File">
739                         <string>digest2.txt</string>
740                       </object>
741                     </element>
742                     <element index="10">
743                       <object class="java.io.File">
744                         <string>getdown-launcher.jarv</string>
745                       </object>
746                     </element>
747                     <element index="11">
748                       <object class="java.io.File">
749                         <string>getdown-launcher-new.jarv</string>
750                       </object>
751                     </element>
752                     <element index="12">
753                       <object class="java.io.File">
754                         <string>launcher.log</string>
755                       </object>
756                     </element>
757                     <element index="13">
758                       <object class="java.io.File">
759                         <string>proxy.txt</string>
760                       </object>
761                     </element>
762                     <element index="14">
763                       <object class="java.io.File">
764                         <string>build_properties</string>
765                       </object>
766                     </element>
767                     <element index="15">
768                       <object class="java.io.File">
769                         <string>channel_launch*.jvl</string>
770                       </object>
771                     </element>
772                     <element index="16">
773                       <object class="java.io.File">
774                         <string>jalview*.jvl</string>
775                       </object>
776                     </element>
777                     <element index="17">
778                       <object class="java.io.File">
779                         <string>*.jarv</string>
780                       </object>
781                     </element>
782                     <element index="18">
783                       <object class="java.io.File">
784                         <string>*.log</string>
785                       </object>
786                     </element>
787                     <element index="19">
788                       <object class="java.io.File">
789                         <string>*.txt</string>
790                       </object>
791                     </element>
792                     <element index="20">
793                       <object class="java.io.File">
794                         <string>*_new</string>
795                       </object>
796                     </element>
797                     <element index="21">
798                       <object class="java.io.File">
799                         <string>hs_err_*.*</string>
800                       </object>
801                     </element>
802                     <element index="22">
803                       <object class="java.io.File">
804                         <string>${compiler:GETDOWN_DIST_DIR}</string>
805                       </object>
806                     </element>
807                     <element index="23">
808                       <object class="java.io.File">
809                         <string>${compiler:GETDOWN_ALT_DIR}</string>
810                       </object>
811                     </element>
812                     <element index="24">
813                       <object class="java.io.File">
814                         <string>${compiler:GETDOWN_RESOURCE_DIR}</string>
815                       </object>
816                     </element>
817                     <element index="25">
818                       <object class="java.io.File">
819                         <string>META-INF</string>
820                       </object>
821                     </element>
822                     <element index="26">
823                       <object class="java.io.File">
824                         <string>install</string>
825                       </object>
826                     </element>
827                     <element index="27">
828                       <object class="java.io.File">
829                         <string>resource</string>
830                       </object>
831                     </element>
832                     <element index="28">
833                       <object class="java.io.File">
834                         <string>dist</string>
835                       </object>
836                     </element>
837                     <element index="29">
838                       <object class="java.io.File">
839                         <string>release</string>
840                       </object>
841                     </element>
842                     <element index="30">
843                       <object class="java.io.File">
844                         <string>alt</string>
845                       </object>
846                     </element>
847                     <element index="31">
848                       <object class="java.io.File">
849                         <string>dev</string>
850                       </object>
851                     </element>
852                     <element index="32">
853                       <object class="java.io.File">
854                         <string>build</string>
855                       </object>
856                     </element>
857                     <element index="33">
858                       <object class="java.io.File">
859                         <string>alt_*</string>
860                       </object>
861                     </element>
862                     <element index="34">
863                       <object class="java.io.File">
864                         <string>dev_*</string>
865                       </object>
866                     </element>
867                     <element index="35">
868                       <object class="java.io.File">
869                         <string>build_*</string>
870                       </object>
871                     </element>
872                   </property>
873                   <property name="recursive" type="boolean" value="true" />
874                 </serializedBean>
875               </action>
876               <action id="1791" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" actionElevationType="none" rollbackBarrierExitCode="0">
877                 <serializedBean>
878                   <property name="percentValue" type="int" value="100" />
879                 </serializedBean>
880               </action>
881             </actions>
882             <formComponents>
883               <formComponent id="28" beanClass="com.install4j.runtime.beans.formcomponents.ProgressComponent">
884                 <serializedBean>
885                   <property name="initialStatusMessage" type="string">${i18n:UninstallerPreparing}</property>
886                 </serializedBean>
887               </formComponent>
888             </formComponents>
889           </screen>
890           <screen id="32" beanClass="com.install4j.runtime.beans.screens.UninstallFailureScreen" rollbackBarrierExitCode="0" finishScreen="true" />
891           <screen id="30" beanClass="com.install4j.runtime.beans.screens.UninstallSuccessScreen" styleId="41" rollbackBarrierExitCode="0" finishScreen="true">
892             <formComponents>
893               <formComponent id="31" beanClass="com.install4j.runtime.beans.formcomponents.MultilineLabelComponent" insetBottom="10">
894                 <serializedBean>
895                   <property name="labelText" type="string">${form:successMessage}</property>
896                 </serializedBean>
897               </formComponent>
898             </formComponents>
899           </screen>
900         </screens>
901       </application>
902     </applications>
903     <styles defaultStyleId="35">
904       <style name="Standard" id="35" beanClass="com.install4j.runtime.beans.styles.FormStyle">
905         <formComponents>
906           <formComponent name="Header" id="36" beanClass="com.install4j.runtime.beans.styles.NestedStyleComponent" insetTop="0" insetBottom="0">
907             <serializedBean>
908               <property name="styleId" type="string">48</property>
909             </serializedBean>
910           </formComponent>
911           <group name="Main" id="37" beanClass="com.install4j.runtime.beans.groups.VerticalFormComponentGroup">
912             <serializedBean>
913               <property name="imageEdgeAxisType" type="enum" class="com.install4j.runtime.beans.formcomponents.AxisType" value="HORIZONTAL" />
914               <property name="imageEdgeBackgroundColor">
915                 <object class="java.awt.Color">
916                   <int>255</int>
917                   <int>255</int>
918                   <int>255</int>
919                   <int>255</int>
920                 </object>
921               </property>
922               <property name="imageFile">
923                 <object class="com.install4j.api.beans.ExternalFile">
924                   <string>${compiler:JALVIEW_DIR}/${compiler:BACKGROUND}</string>
925                 </object>
926               </property>
927               <property name="imageOverlap" type="boolean" value="true" />
928             </serializedBean>
929             <beans>
930               <formComponent id="38" beanClass="com.install4j.runtime.beans.styles.ContentComponent" insetTop="10" insetLeft="20" insetBottom="10" insetRight="20" />
931               <formComponent name="Watermark" id="39" beanClass="com.install4j.runtime.beans.formcomponents.SeparatorComponent" insetTop="0" insetLeft="5" insetBottom="0" useExternalParametrization="true" externalParametrizationName="${compiler:JALVIEW_APPLICATION_NAME}" externalParametrizationMode="include">
932                 <serializedBean>
933                   <property name="enabledTitleText" type="boolean" value="false" />
934                 </serializedBean>
935                 <externalParametrizationPropertyNames>
936                   <propertyName>labelText</propertyName>
937                 </externalParametrizationPropertyNames>
938               </formComponent>
939               <formComponent name="Footer" id="40" beanClass="com.install4j.runtime.beans.styles.NestedStyleComponent" insetTop="0" insetBottom="0">
940                 <serializedBean>
941                   <property name="styleId" type="string">52</property>
942                 </serializedBean>
943               </formComponent>
944             </beans>
945           </group>
946         </formComponents>
947       </style>
948       <style name="Banner" id="41" beanClass="com.install4j.runtime.beans.styles.FormStyle">
949         <formComponents>
950           <group id="42" beanClass="com.install4j.runtime.beans.groups.VerticalFormComponentGroup" useExternalParametrization="true" externalParametrizationName="Customize banner image" externalParametrizationMode="include">
951             <serializedBean>
952               <property name="backgroundColor">
953                 <object class="java.awt.Color">
954                   <int>255</int>
955                   <int>255</int>
956                   <int>255</int>
957                   <int>255</int>
958                 </object>
959               </property>
960               <property name="borderSides">
961                 <object class="com.install4j.runtime.beans.formcomponents.BorderSides">
962                   <property name="bottom" type="boolean" value="true" />
963                 </object>
964               </property>
965               <property name="imageEdgeBackgroundColor">
966                 <object class="java.awt.Color">
967                   <int>25</int>
968                   <int>143</int>
969                   <int>220</int>
970                   <int>255</int>
971                 </object>
972               </property>
973               <property name="imageEdgeBorder" type="boolean" value="true" />
974               <property name="imageFile">
975                 <object class="com.install4j.api.beans.ExternalFile">
976                   <string>${compiler:sys.install4jHome}/resource/styles/wizard.png</string>
977                 </object>
978               </property>
979               <property name="insets">
980                 <object class="java.awt.Insets">
981                   <int>5</int>
982                   <int>10</int>
983                   <int>10</int>
984                   <int>10</int>
985                 </object>
986               </property>
987             </serializedBean>
988             <beans>
989               <formComponent id="43" beanClass="com.install4j.runtime.beans.styles.ScreenTitleComponent" insetTop="0">
990                 <serializedBean>
991                   <property name="labelFontSizePercent" type="int" value="130" />
992                   <property name="labelFontStyle" type="enum" class="com.install4j.runtime.beans.formcomponents.FontStyle" value="BOLD" />
993                   <property name="labelFontType" type="enum" class="com.install4j.runtime.beans.formcomponents.FontType" value="DERIVED" />
994                 </serializedBean>
995               </formComponent>
996               <formComponent id="44" beanClass="com.install4j.runtime.beans.formcomponents.SeparatorComponent" />
997               <formComponent id="45" beanClass="com.install4j.runtime.beans.styles.ContentComponent" insetTop="10" insetBottom="0" />
998             </beans>
999             <externalParametrizationPropertyNames>
1000               <propertyName>imageAnchor</propertyName>
1001               <propertyName>imageEdgeBackgroundColor</propertyName>
1002               <propertyName>imageFile</propertyName>
1003             </externalParametrizationPropertyNames>
1004           </group>
1005           <formComponent id="46" beanClass="com.install4j.runtime.beans.styles.NestedStyleComponent" insetBottom="0">
1006             <serializedBean>
1007               <property name="styleId" type="string">52</property>
1008             </serializedBean>
1009           </formComponent>
1010         </formComponents>
1011       </style>
1012       <group name="Style components" id="47" beanClass="com.install4j.runtime.beans.groups.StyleGroup">
1013         <beans>
1014           <style name="Standard header" id="48" beanClass="com.install4j.runtime.beans.styles.FormStyle">
1015             <serializedBean>
1016               <property name="fillVertical" type="boolean" value="false" />
1017               <property name="standalone" type="boolean" value="false" />
1018               <property name="verticalAnchor" type="enum" class="com.install4j.api.beans.Anchor" value="NORTH" />
1019             </serializedBean>
1020             <formComponents>
1021               <group id="49" beanClass="com.install4j.runtime.beans.groups.VerticalFormComponentGroup" useExternalParametrization="true" externalParametrizationName="Customize title bar" externalParametrizationMode="include">
1022                 <serializedBean>
1023                   <property name="backgroundColor">
1024                     <object class="java.awt.Color">
1025                       <int>255</int>
1026                       <int>255</int>
1027                       <int>255</int>
1028                       <int>255</int>
1029                     </object>
1030                   </property>
1031                   <property name="borderSides">
1032                     <object class="com.install4j.runtime.beans.formcomponents.BorderSides">
1033                       <property name="bottom" type="boolean" value="true" />
1034                     </object>
1035                   </property>
1036                   <property name="imageAnchor" type="enum" class="com.install4j.api.beans.Anchor" value="NORTHEAST" />
1037                   <property name="imageEdgeBorderWidth" type="int" value="2" />
1038                   <property name="imageFile">
1039                     <object class="com.install4j.api.beans.ExternalFile">
1040                       <string>icon:${installer:sys.installerApplicationMode}_header.png</string>
1041                     </object>
1042                   </property>
1043                   <property name="imageInsets">
1044                     <object class="java.awt.Insets">
1045                       <int>0</int>
1046                       <int>5</int>
1047                       <int>1</int>
1048                       <int>1</int>
1049                     </object>
1050                   </property>
1051                   <property name="insets">
1052                     <object class="java.awt.Insets">
1053                       <int>0</int>
1054                       <int>20</int>
1055                       <int>0</int>
1056                       <int>10</int>
1057                     </object>
1058                   </property>
1059                 </serializedBean>
1060                 <beans>
1061                   <formComponent name="Title" id="50" beanClass="com.install4j.runtime.beans.styles.ScreenTitleComponent">
1062                     <serializedBean>
1063                       <property name="labelFontStyle" type="enum" class="com.install4j.runtime.beans.formcomponents.FontStyle" value="BOLD" />
1064                       <property name="labelFontType" type="enum" class="com.install4j.runtime.beans.formcomponents.FontType" value="DERIVED" />
1065                     </serializedBean>
1066                   </formComponent>
1067                   <formComponent name="Subtitle" id="51" beanClass="com.install4j.runtime.beans.styles.ScreenTitleComponent" insetLeft="8">
1068                     <serializedBean>
1069                       <property name="titleType" type="enum" class="com.install4j.runtime.beans.styles.TitleType" value="SUB_TITLE" />
1070                     </serializedBean>
1071                   </formComponent>
1072                 </beans>
1073                 <externalParametrizationPropertyNames>
1074                   <propertyName>backgroundColor</propertyName>
1075                   <propertyName>foregroundColor</propertyName>
1076                   <propertyName>imageAnchor</propertyName>
1077                   <propertyName>imageFile</propertyName>
1078                   <propertyName>imageOverlap</propertyName>
1079                 </externalParametrizationPropertyNames>
1080               </group>
1081             </formComponents>
1082           </style>
1083           <style name="Standard footer" id="52" beanClass="com.install4j.runtime.beans.styles.FormStyle">
1084             <serializedBean>
1085               <property name="fillVertical" type="boolean" value="false" />
1086               <property name="standalone" type="boolean" value="false" />
1087               <property name="verticalAnchor" type="enum" class="com.install4j.api.beans.Anchor" value="SOUTH" />
1088             </serializedBean>
1089             <formComponents>
1090               <group id="53" beanClass="com.install4j.runtime.beans.groups.HorizontalFormComponentGroup">
1091                 <serializedBean>
1092                   <property name="alignFirstLabel" type="boolean" value="false" />
1093                   <property name="insets">
1094                     <object class="java.awt.Insets">
1095                       <int>3</int>
1096                       <int>5</int>
1097                       <int>8</int>
1098                       <int>5</int>
1099                     </object>
1100                   </property>
1101                 </serializedBean>
1102                 <beans>
1103                   <formComponent id="54" beanClass="com.install4j.runtime.beans.formcomponents.SpringComponent" />
1104                   <formComponent name="Back button" id="55" beanClass="com.install4j.runtime.beans.styles.StandardControlButtonComponent">
1105                     <serializedBean>
1106                       <property name="buttonText" type="string">&lt; ${i18n:ButtonBack}</property>
1107                       <property name="controlButtonType" type="enum" class="com.install4j.api.context.ControlButtonType" value="PREVIOUS" />
1108                     </serializedBean>
1109                   </formComponent>
1110                   <formComponent name="Next button" id="56" beanClass="com.install4j.runtime.beans.styles.StandardControlButtonComponent">
1111                     <serializedBean>
1112                       <property name="buttonText" type="string">${i18n:ButtonNext} &gt;</property>
1113                       <property name="controlButtonType" type="enum" class="com.install4j.api.context.ControlButtonType" value="NEXT" />
1114                     </serializedBean>
1115                   </formComponent>
1116                   <formComponent name="Cancel button" id="57" beanClass="com.install4j.runtime.beans.styles.StandardControlButtonComponent" insetLeft="5">
1117                     <serializedBean>
1118                       <property name="buttonText" type="string">${i18n:ButtonCancel}</property>
1119                       <property name="controlButtonType" type="enum" class="com.install4j.api.context.ControlButtonType" value="CANCEL" />
1120                     </serializedBean>
1121                   </formComponent>
1122                 </beans>
1123               </group>
1124             </formComponents>
1125           </style>
1126         </beans>
1127       </group>
1128     </styles>
1129   </installerGui>
1130   <mediaSets>
1131     <windows name="Windows x64 EXE Installer" id="743" mediaFileName="${compiler:APPLICATION_FOLDER}-${compiler:JALVIEW_VERSION}-${compiler:sys.platform}-java_${compiler:JAVA_INTEGER_VERSION}" installDir="${compiler:APPLICATION_FOLDER}" runPostProcessor="true" postProcessor="${compiler:JSIGN_SH} $EXECUTABLE" customInstallBaseDir="~/AppData/Local">
1132       <excludedComponents>
1133         <component id="1155" />
1134         <component id="1156" />
1135         <component id="1276" />
1136         <component id="1881" />
1137         <component id="2110" />
1138       </excludedComponents>
1139       <exclude>
1140         <entry defaultFileset="true" />
1141         <entry filesetId="880" />
1142         <entry filesetId="882" />
1143         <entry filesetId="1873" />
1144         <entry filesetId="2105" />
1145       </exclude>
1146       <jreBundle jreBundleSource="preCreated" includedJre="${compiler:WINDOWS_JAVA_VM_TGZ}" manualJreEntry="true" />
1147     </windows>
1148     <macosArchive name="macOS Disk Image" id="878" customizedId="MACOS_DISK_IMAGE" mediaFileName="${compiler:APPLICATION_FOLDER}-${compiler:JALVIEW_VERSION}-${compiler:sys.platform}-java_${compiler:JAVA_INTEGER_VERSION}" volumeName="${compiler:INSTALLER_NAME}" launcherId="737">
1149       <excludedComponents>
1150         <component id="1156" />
1151         <component id="1276" />
1152         <component id="1881" />
1153       </excludedComponents>
1154       <exclude>
1155         <entry defaultFileset="true" />
1156         <entry filesetId="882" />
1157         <entry filesetId="1873" />
1158       </exclude>
1159       <topLevelFiles>
1160         <symlink name="&quot; &quot;" target="/Applications" />
1161         <file name=".background/jalview_dmg_background.png" file="${compiler:JALVIEW_DIR}/${compiler:MACOS_DMG_BG_IMAGE}" />
1162         <file name=".DS_Store" file="${compiler:JALVIEW_DIR}/${compiler:MACOS_DMG_DS_STORE}" />
1163         <file name="${compiler:JALVIEW_APPLICATION_NAME}.app/Contents/Resources/Jalview-File.icns" file="${compiler:JALVIEW_DIR}/${compiler:INSTALL4J_UTILS_DIR}/Jalview-File.icns" />
1164         <file name="${compiler:JALVIEW_APPLICATION_NAME}.app/Contents/Resources/Jalview-Launch.icns" file="${compiler:JALVIEW_DIR}/${compiler:INSTALL4J_UTILS_DIR}/Jalview-Launch.icns" />
1165         <symlink name="Uninstall Old Jalview (optional).app" target="${compiler:JALVIEW_APPLICATION_NAME}.app/Contents/Resources/app/Uninstall Old Jalview.app" />
1166       </topLevelFiles>
1167     </macosArchive>
1168     <unixInstaller name="Linux x64 Shell Installer" id="1595" mediaFileName="${compiler:UNIX_APPLICATION_FOLDER}-${compiler:JALVIEW_VERSION}-linux_x64-java_${compiler:JAVA_INTEGER_VERSION}" installDir="${compiler:UNIX_APPLICATION_FOLDER}" customInstallBaseDir="~/opt/">
1169       <excludedComponents>
1170         <component id="1155" />
1171         <component id="1156" />
1172         <component id="1276" />
1173         <component id="1881" />
1174         <component id="2110" />
1175       </excludedComponents>
1176       <exclude>
1177         <entry defaultFileset="true" />
1178         <entry filesetId="880" />
1179         <entry filesetId="882" />
1180         <entry filesetId="1873" />
1181         <entry filesetId="2105" />
1182       </exclude>
1183       <jreBundle jreBundleSource="preCreated" includedJre="${compiler:LINUX_JAVA_VM_TGZ}" manualJreEntry="true" />
1184     </unixInstaller>
1185     <unixArchive name="Unix .tar.gz Archive" id="1596" mediaFileName="${compiler:UNIX_APPLICATION_FOLDER}-${compiler:JALVIEW_VERSION}-${compiler:sys.platform}-java_${compiler:JAVA_INTEGER_VERSION}" installDir="${compiler:UNIX_APPLICATION_FOLDER}">
1186       <excludedComponents>
1187         <component id="1155" />
1188         <component id="1156" />
1189         <component id="1276" />
1190         <component id="1881" />
1191         <component id="2110" />
1192       </excludedComponents>
1193       <exclude>
1194         <entry defaultFileset="true" />
1195         <entry filesetId="880" />
1196         <entry filesetId="882" />
1197         <entry filesetId="1873" />
1198         <entry filesetId="2105" />
1199       </exclude>
1200       <jreBundle includedJre="${compiler:LINUX_JAVA_VM_TGZ}" manualJreEntry="true" />
1201     </unixArchive>
1202     <unixInstaller name="Unix Shell Installer" id="2639" mediaFileName="${compiler:UNIX_APPLICATION_FOLDER}-${compiler:JALVIEW_VERSION}-${compiler:sys.platform}-java_${compiler:JAVA_INTEGER_VERSION}" installDir="${compiler:UNIX_APPLICATION_FOLDER}" customInstallBaseDir="~/opt/">
1203       <excludedComponents>
1204         <component id="1155" />
1205         <component id="1156" />
1206         <component id="1276" />
1207         <component id="1881" />
1208         <component id="2110" />
1209       </excludedComponents>
1210       <exclude>
1211         <entry defaultFileset="true" />
1212         <entry filesetId="880" />
1213         <entry filesetId="882" />
1214         <entry filesetId="1873" />
1215         <entry filesetId="2105" />
1216       </exclude>
1217       <jreBundle includedJre="${compiler:LINUX_JAVA_VM_TGZ}" manualJreEntry="true" />
1218     </unixInstaller>
1219   </mediaSets>
1220   <buildIds>
1221     <mediaSet refId="153" />
1222     <mediaSet refId="570" />
1223     <mediaSet refId="743" />
1224     <mediaSet refId="2446" />
1225     <mediaSet refId="878" />
1226     <mediaSet refId="1595" />
1227     <mediaSet refId="1596" />
1228     <mediaSet refId="2639" />
1229   </buildIds>
1230 </install4j>