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