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