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