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