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