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