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