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