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