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