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