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