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