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