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