JAL-3394 Variable-ise output folders -- will work better with sub-project/modularised...
[jalview.git] / utils / install4j / install4j8_template.install4j
index 5f45175..08dd02e 100644 (file)
@@ -1,35 +1,40 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<install4j version="8.0.2" transformSequenceNumber="8">
+<install4j version="8.0.4" transformSequenceNumber="8">
   <directoryPresets config="." />
-  <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">
+  <application name="Jalview" applicationId="6595-2347-1923-0725" mediaDir="${compiler:BUILD_DIR}" 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">
     <searchSequence>
       <directory location="${compiler:JRE_DIR}" />
       <registry />
       <envVar name="JAVA_HOME" />
     </searchSequence>
     <variables>
+      <variable name="JALVIEW_DIR" value="../.." />
+      <variable name="BUILD_DIR" value="${compiler:JALVIEW_DIR}/build/install4j" />
       <variable name="OSX_KEYSTORE" />
-      <variable name="JSIGN_SH" />
+      <variable name="JSIGN_SH" value="echo" />
       <variable name="JRE_DIR" value="jre" description="The folder under the app folder that the JRE will be either copied or unpacked into" />
-      <variable name="INSTALLER_TEMPLATE_VERSION" />
-      <variable name="JALVIEW_VERSION" />
-      <variable name="JAVA_MIN_VERSION" />
-      <variable name="JAVA_MAX_VERSION" />
-      <variable name="JAVA_VERSION" />
-      <variable name="JAVA_INTEGER_VERSION" />
-      <variable name="VERSION" />
-      <variable name="MACOS_JAVA_VM_DIR" />
-      <variable name="MACOS_JAVA_VM_TGZ" />
-      <variable name="WINDOWS_JAVA_VM_DIR" />
-      <variable name="WINDOWS_JAVA_VM_TGZ" />
-      <variable name="INSTALL4JINFOPLISTFILEASSOCIATIONS" />
-      <variable name="COPYRIGHT_MESSAGE" />
-      <variable name="MACOS_BUNDLE_ID" />
-      <variable name="GETDOWN_RESOURCE_DIR" />
-      <variable name="GETDOWN_DIST_DIR" />
-      <variable name="GETDOWN_ALT_DIR" />
-      <variable name="GETDOWN_INSTALL_DIR" />
-      <variable name="INFO_PLIST_FILE_ASSOCIATIONS_FILE" />
+      <variable name="INSTALLER_TEMPLATE_VERSION" value="DEVELOPMENT_default" />
+      <variable name="JALVIEW_VERSION" value="DEVELOPMENT" />
+      <variable name="JAVA_MIN_VERSION" value="11" />
+      <variable name="JAVA_MAX_VERSION" value="11" />
+      <variable name="JAVA_VERSION" value="11" />
+      <variable name="JAVA_INTEGER_VERSION" value="11" />
+      <variable name="VERSION" value="DEVELOPMENT" />
+      <variable name="MACOS_JAVA_VM_DIR" value="~/buildtools/jre/jre-${compiler:JAVA_INTEGER_VERSION}-mac-x64/jre" />
+      <variable name="WINDOWS_JAVA_VM_DIR" value="~/buildtools/jre/jre-${compiler:JAVA_INTEGER_VERSION}-windows-x64/jre" />
+      <variable name="LINUX_JAVA_VM_DIR" value="~/buildtools/jre/jre-${compiler:JAVA_INTEGER_VERSION}-linux-x64/jre" />
+      <variable name="MACOS_JAVA_VM_TGZ" value="~/buildtools/jre/tgz/jre-${compiler:JAVA_INTEGER_VERSION}-mac-x64.tar.gz" />
+      <variable name="WINDOWS_JAVA_VM_TGZ" value="~/buildtools/jre/tgz/jre-${compiler:JAVA_INTEGER_VERSION}-windows-x64.tar.gz" />
+      <variable name="LINUX_JAVA_VM_TGZ" value="~/buildtools/jre/tgz/jre-${compiler:JAVA_INTEGER_VERSION}-linux-x64.tar.gz" />
+      <variable name="COPYRIGHT_MESSAGE" value="..." />
+      <variable name="MACOS_BUNDLE_ID" value="org.jalview.jalview-desktop" />
+      <variable name="GETDOWN_WEBSITE_DIR" value="getdown/website" />
+      <variable name="GETDOWN_FILES_DIR" value="getdown/files" />
+      <variable name="GETDOWN_RESOURCE_DIR" value="resource" />
+      <variable name="GETDOWN_DIST_DIR" value="dist" />
+      <variable name="GETDOWN_ALT_DIR" value="alt" />
+      <variable name="GETDOWN_INSTALL_DIR" value="install" />
+      <variable name="INFO_PLIST_FILE_ASSOCIATIONS_FILE" value="file_associations_auto-Info_plist.xml" />
     </variables>
     <codeSigning macEnabled="true" macPkcs12File="${compiler:OSX_KEYSTORE}" />
   </application>
       <mountPoint id="2107" root="2106" />
     </mountPoints>
     <entries>
-      <dirEntry mountPoint="454" file="../../getdown/files/${compiler:JAVA_VERSION}" uninstallMode="2" overrideOverwriteMode="true" overrideUninstallMode="true" subDirectory="files" />
-      <dirEntry mountPoint="736" file="../../getdown/website/${compiler:JAVA_VERSION}" uninstallMode="2" overrideOverwriteMode="true" overrideUninstallMode="true" subDirectory="files" />
+      <dirEntry mountPoint="454" file="${compiler:JALVIEW_DIR}/${compiler:GETDOWN_FILES_DIR}/${compiler:JAVA_VERSION}" uninstallMode="2" overrideOverwriteMode="true" overrideUninstallMode="true" subDirectory="files" />
+      <dirEntry mountPoint="736" file="${compiler:JALVIEW_DIR}/${compiler:GETDOWN_WEBSITE_DIR}/${compiler:JAVA_VERSION}" uninstallMode="2" overrideOverwriteMode="true" overrideUninstallMode="true" subDirectory="files" />
       <dirEntry mountPoint="884" file="${compiler:MACOS_JAVA_VM_DIR}" fileMode="755" overrideFileMode="true" overrideUninstallMode="true" entryMode="subdir" subDirectory="${compiler:JRE_DIR}" />
       <dirEntry mountPoint="885" file="${compiler:WINDOWS_JAVA_VM_DIR}" fileMode="755" overrideFileMode="true" overrideUninstallMode="true" entryMode="subdir" subDirectory="${compiler:JRE_DIR}" />
-      <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" />
+      <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" />
       <dirEntry mountPoint="2107" file="Uninstall Old Jalview.app" fileMode="755" overrideFileMode="true" entryMode="subdir" subDirectory="Uninstall Old Jalview.app" overrideDirMode="true" />
     </entries>
     <components>
     </components>
   </files>
   <launchers>
-    <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}">
-      <executable name="${compiler:sys.shortName}" iconSet="true" iconFile="../../resources/images/jalview_logos.ico" executableDir="." redirectStdout="true" executableMode="gui" singleInstance="true" checkConsoleParameter="true" dpiAware="false">
+    <launcher name="Offline Jalview Launcher" id="737" menuName="${compiler:sys.shortName}" icnsFile="${compiler:JALVIEW_DIR}/resources/images/jalview_logos.icns" customMacBundleIdentifier="true" macBundleIdentifier="${compiler:MACOS_BUNDLE_ID}" fileset="734" useCustomMacosExecutableName="true" customMacosExecutableName="${compiler:sys.shortName}">
+      <executable name="${compiler:sys.shortName}" iconSet="true" iconFile="${compiler:JALVIEW_DIR}/resources/images/jalview_logos.ico" executableDir="." redirectStdout="true" executableMode="gui" singleInstance="true" checkConsoleParameter="true" dpiAware="false">
         <versionInfo include="true" fileDescription="${compiler:sys.shortName}" legalCopyright="${compiler:COPYRIGHT_MESSAGE}" internalName="${compiler:sys.shortName}" productName="${compiler:sys.shortName}" />
       </executable>
-      <splashScreen width="640" height="480" bitmapFile="../../resources/images/jalview_logo_background_fade-640x480.png" textOverlay="true">
+      <splashScreen width="640" height="480" bitmapFile="${compiler:JALVIEW_DIR}/resources/images/jalview_logo_background_fade-640x480.png" textOverlay="true">
         <text>
           <statusLine x="85" y="81" text="${compiler:sys.shortName}" fontSize="18" />
           <versionLine x="85" y="109" text="version ${compiler:sys.version}" />
           <scanDirectory location="${compiler:GETDOWN_INSTALL_DIR}" failOnError="false" />
         </classPath>
       </java>
-      <macStaticAssociationActions mode="selected" />
+      <macStaticAssociationActions mode="selected">
+        <id>2350</id>
+        <id>2450</id>
+      </macStaticAssociationActions>
       <infoPlist>${compiler:file("${compiler:INFO_PLIST_FILE_ASSOCIATIONS_FILE}")}</infoPlist>
       <iconImageFiles>
-        <file path="../../resources/images/JalviewLogo_Huge.png" />
-      </iconImageFiles>
-    </launcher>
-    <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}">
-      <executable name="Jalview" iconSet="true" iconFile="../../resources/images/jalview_logos.ico" executableDir="." redirectStdout="true" executableMode="gui" singleInstance="true" checkConsoleParameter="true">
-        <versionInfo include="true" fileDescription="${compiler:sys.shortName}" legalCopyright="${compiler:COPYRIGHT_MESSAGE}" internalName="${compiler:sys.shortName}" productName="${compiler:sys.shortName}" />
-      </executable>
-      <splashScreen width="640" height="480" bitmapFile="../../resources/images/jalview_logo_background_fade-640x480.png" textOverlay="true">
-        <text>
-          <statusLine x="85" y="81" text="${compiler:sys.shortName}" fontSize="18" />
-          <versionLine x="85" y="109" text="version ${compiler:sys.version}" />
-        </text>
-      </splashScreen>
-      <java mainClass="com.threerings.getdown.launcher.GetdownApp" vmParameters="-Dinstaller_template_version=${compiler:INSTALLER_TEMPLATE_VERSION}" arguments=". jalview">
-        <classPath>
-          <archive location="getdown-launcher.jar" />
-          <scanDirectory location="${compiler:GETDOWN_INSTALL_DIR}" failOnError="false" />
-        </classPath>
-      </java>
-      <macStaticAssociationActions mode="selected" />
-      <infoPlist>${compiler:file("${compiler:INFO_PLIST_FILE_ASSOCIATIONS_FILE}")}</infoPlist>
-      <iconImageFiles>
-        <file path="../../resources/images/JalviewLogo_Huge.png" />
+        <file path="${compiler:JALVIEW_DIR}/resources/images/JalviewLogo_Huge.png" />
       </iconImageFiles>
     </launcher>
     <launcher name="Jalview package" id="1876" menuName="${compiler:sys.shortName} ${compiler:JALVIEW_VERSION}" fileset="1873">
           <scanDirectory location="${compiler:GETDOWN_DIST_DIR}" failOnError="false" />
         </classPath>
       </java>
-      <macStaticAssociationActions mode="selected" />
+      <macStaticAssociationActions mode="selected">
+        <id>2350</id>
+        <id>2450</id>
+      </macStaticAssociationActions>
       <infoPlist>${compiler:file("${compiler:INFO_PLIST_FILE_ASSOCIATIONS_FILE}")}</infoPlist>
       <iconImageFiles>
-        <file path="../../resources/images/JalviewLogo_Huge.png" />
+        <file path="${compiler:JALVIEW_DIR}/resources/images/JalviewLogo_Huge.png" />
       </iconImageFiles>
     </launcher>
   </launchers>
   <installerGui autoUpdateDescriptorUrl="https://www.jalview.org/install4j/updates.xml">
     <applications>
-      <application id="installer" beanClass="com.install4j.runtime.beans.applications.InstallerApplication" styleId="35" customIcnsFile="../../resources/images/jalview_logos.icns" customIcoFile="../../resources/images/jalview_logos.ico">
+      <application id="installer" beanClass="com.install4j.runtime.beans.applications.InstallerApplication" styleId="35" customIcnsFile="${compiler:JALVIEW_DIR}/resources/images/jalview_logos.icns" customIcoFile="${compiler:JALVIEW_DIR}/resources/images/jalview_logos.ico">
         <serializedBean>
           <property name="useCustomIcon" type="boolean" value="true" />
         </serializedBean>
                 <property name="imageEdgeBorder" type="boolean" value="true" />
                 <property name="imageFile">
                   <object class="com.install4j.api.beans.ExternalFile">
-                    <string>../../resources/images/jalview_logo_background_fade-640x480.png</string>
+                    <string>${compiler:JALVIEW_DIR}/resources/images/jalview_logo_background_fade-640x480.png</string>
                   </object>
                 </property>
                 <property name="insets">
                     <property name="imageEdgeBorder" type="boolean" value="true" />
                     <property name="imageFile">
                       <object class="com.install4j.api.beans.ExternalFile">
-                        <string>../../resources/images/jalview_logo_background_fade-640x480.png</string>
+                        <string>${compiler:JALVIEW_DIR}/resources/images/jalview_logo_background_fade-640x480.png</string>
                       </object>
                     </property>
                     <property name="insets">
@@ -448,8 +437,32 @@ return console.askOkCancel(message, true);
                       <property name="extension" type="string">extensions_to_be_replaced_by_gradle</property>
                     </serializedBean>
                   </action>
+                  <action id="2542" beanClass="com.install4j.runtime.beans.actions.control.SetMessageAction" actionElevationType="none" rollbackBarrierExitCode="0">
+                    <serializedBean>
+                      <property name="statusMessage" type="string">Creating file associations</property>
+                      <property name="useDetail" type="boolean" value="true" />
+                      <property name="useStatus" type="boolean" value="true" />
+                    </serializedBean>
+                  </action>
+                  <action id="2541" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" actionElevationType="none" rollbackBarrierExitCode="0">
+                    <serializedBean>
+                      <property name="percentValue" type="int" value="100" />
+                    </serializedBean>
+                  </action>
                 </beans>
               </group>
+              <action id="2350" beanClass="com.install4j.runtime.beans.actions.desktop.UrlHandlerAction" actionElevationType="elevated" rollbackBarrierExitCode="0">
+                <serializedBean>
+                  <property name="launcherId" type="string">737</property>
+                  <property name="scheme" type="string">jalview</property>
+                </serializedBean>
+              </action>
+              <action id="2450" beanClass="com.install4j.runtime.beans.actions.desktop.UrlHandlerAction" actionElevationType="elevated" rollbackBarrierExitCode="0">
+                <serializedBean>
+                  <property name="launcherId" type="string">737</property>
+                  <property name="scheme" type="string">jalviews</property>
+                </serializedBean>
+              </action>
             </actions>
             <formComponents>
               <formComponent id="16" beanClass="com.install4j.runtime.beans.formcomponents.ProgressComponent">
@@ -472,12 +485,12 @@ return console.askOkCancel(message, true);
                   </property>
                   <property name="icon">
                     <object class="com.install4j.api.beans.ExternalFile">
-                      <string>../../resources/images/jalview_logos.ico</string>
+                      <string>${compiler:JALVIEW_DIR}/resources/images/jalview_logos.ico</string>
                     </object>
                   </property>
                   <property name="unixIconFile">
                     <object class="com.install4j.api.beans.ExternalFile">
-                      <string>../../resources/images/JalviewLogo_Huge.png</string>
+                      <string>${compiler:JALVIEW_DIR}/resources/images/JalviewLogo_Huge.png</string>
                     </object>
                   </property>
                 </serializedBean>
@@ -495,12 +508,12 @@ return console.askOkCancel(message, true);
                   <property name="name" type="string">${compiler:sys.fullName}</property>
                   <property name="unixIconFile">
                     <object class="com.install4j.api.beans.ExternalFile">
-                      <string>../../resources/images/JalviewLogo_Huge.png</string>
+                      <string>${compiler:JALVIEW_DIR}/resources/images/JalviewLogo_Huge.png</string>
                     </object>
                   </property>
                   <property name="winIconFile">
                     <object class="com.install4j.api.beans.ExternalFile">
-                      <string>../../resources/images/jalview_logos.ico</string>
+                      <string>${compiler:JALVIEW_DIR}/resources/images/jalview_logos.ico</string>
                     </object>
                   </property>
                 </serializedBean>
@@ -575,7 +588,7 @@ return console.askOkCancel(message, true);
                 <property name="imageEdgeBorder" type="boolean" value="true" />
                 <property name="imageFile">
                   <object class="com.install4j.api.beans.ExternalFile">
-                    <string>../../resources/images/jalview_logo_background_fade-640x480.png</string>
+                    <string>${compiler:JALVIEW_DIR}/resources/images/jalview_logo_background_fade-640x480.png</string>
                   </object>
                 </property>
                 <property name="insets">
@@ -848,7 +861,7 @@ return console.askYesNo(message, true);
               </property>
               <property name="imageFile">
                 <object class="com.install4j.api.beans.ExternalFile">
-                  <string>../../resources/images/jalview_logo_background_fade-640x480.png</string>
+                  <string>${compiler:JALVIEW_DIR}/resources/images/jalview_logo_background_fade-640x480.png</string>
                 </object>
               </property>
               <property name="imageOverlap" type="boolean" value="true" />
@@ -1065,7 +1078,6 @@ return console.askYesNo(message, true);
       </excludedComponents>
       <excludedLaunchers>
         <launcher id="737" />
-        <launcher id="1402" />
       </excludedLaunchers>
       <exclude>
         <entry defaultFileset="true" />
@@ -1084,7 +1096,6 @@ return console.askYesNo(message, true);
       </excludedComponents>
       <excludedLaunchers>
         <launcher id="737" />
-        <launcher id="1402" />
       </excludedLaunchers>
       <exclude>
         <entry defaultFileset="true" />
@@ -1093,7 +1104,7 @@ return console.askYesNo(message, true);
         <entry filesetId="882" />
       </exclude>
     </linuxRPM>
-    <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">
+    <windows name="Windows x64 EXE Installer" id="743" mediaFileName="${compiler:sys.shortName}-${compiler:JALVIEW_VERSION}-${compiler:sys.platform}-java_${compiler:JAVA_INTEGER_VERSION}" runPostProcessor="true" postProcessor="${compiler:JSIGN_SH} $EXECUTABLE" customInstallBaseDir="~/AppData/Local">
       <excludedComponents>
         <component id="1155" />
         <component id="1156" />
@@ -1101,9 +1112,6 @@ return console.askYesNo(message, true);
         <component id="1881" />
         <component id="2110" />
       </excludedComponents>
-      <excludedLaunchers>
-        <launcher id="1402" />
-      </excludedLaunchers>
       <exclude>
         <entry defaultFileset="true" />
         <entry filesetId="880" />
@@ -1112,22 +1120,23 @@ return console.askYesNo(message, true);
       </exclude>
       <jreBundle jreBundleSource="preCreated" includedJre="${compiler:WINDOWS_JAVA_VM_TGZ}" manualJreEntry="true" />
     </windows>
-    <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">
+    <windows name="Windows x64 MSI Installer" id="2446" mediaFileName="${compiler:sys.shortName}-${compiler:JALVIEW_VERSION}-${compiler:sys.platform}-java_${compiler:JAVA_INTEGER_VERSION}" runPostProcessor="true" postProcessor="${compiler:JSIGN_SH} $EXECUTABLE" customInstallBaseDir="~/AppData/Local" msi="true" msiScope="perUser">
       <excludedComponents>
-        <component id="1031" />
         <component id="1155" />
         <component id="1156" />
+        <component id="1276" />
         <component id="1881" />
         <component id="2110" />
       </excludedComponents>
       <exclude>
-        <entry filesetId="734" />
+        <entry defaultFileset="true" />
         <entry filesetId="880" />
+        <entry filesetId="882" />
         <entry filesetId="1873" />
       </exclude>
       <jreBundle jreBundleSource="preCreated" includedJre="${compiler:WINDOWS_JAVA_VM_TGZ}" manualJreEntry="true" />
     </windows>
-    <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">
+    <macosArchive name="macOS Disk Image" id="878" mediaFileName="${compiler:sys.shortName}-${compiler:JALVIEW_VERSION}-${compiler:sys.platform}-java_${compiler:JAVA_INTEGER_VERSION}" volumeName="${compiler:sys.shortName} Installer" launcherId="737">
       <excludedComponents>
         <component id="1156" />
         <component id="1276" />
@@ -1148,28 +1157,7 @@ return console.askYesNo(message, true);
         <symlink name="Uninstall Old Jalview (optional).app" target="Jalview.app/Contents/Resources/app/Uninstall Old Jalview.app" />
       </topLevelFiles>
     </macosArchive>
-    <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">
-      <excludedComponents>
-        <component id="1031" />
-        <component id="1156" />
-        <component id="1881" />
-      </excludedComponents>
-      <exclude>
-        <entry filesetId="734" />
-        <entry filesetId="882" />
-        <entry filesetId="1873" />
-      </exclude>
-      <topLevelFiles>
-        <symlink name="&quot; &quot;" target="/Applications" />
-        <file name=".background/jalview_dmg_background.png" file="./jalview_dmg_background.png" />
-        <file name=".DS_Store" file="./DS_Store" />
-        <symlink name="Jalview.app/Contents/Resources/app/${compiler:JRE_DIR}/Contents/MacOS/libjli.dylib" target="../Home/lib/jli/libjli.dylib" />
-        <file name="Jalview.app/Contents/Resources/Jalview-Launch.icns" file="Jalview-Launch.icns" />
-        <file name="Jalview.app/Contents/Resources/Jalview-File.icns" file="Jalview-File.icns" />
-        <symlink name="Uninstall Old Jalview (optional).app" target="Jalview.app/Contents/Resources/app/Uninstall Old Jalview.app" />
-      </topLevelFiles>
-    </macosArchive>
-    <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/">
+    <unixInstaller name="Unix Shell Installer" id="1595" mediaFileName="${compiler:sys.shortName}-${compiler:JALVIEW_VERSION}-${compiler:sys.platform}-java_${compiler:JAVA_INTEGER_VERSION}" customInstallBaseDir="~/opt/">
       <excludedComponents>
         <component id="1155" />
         <component id="1156" />
@@ -1177,32 +1165,16 @@ return console.askYesNo(message, true);
         <component id="1881" />
         <component id="2110" />
       </excludedComponents>
-      <excludedLaunchers>
-        <launcher id="1402" />
-      </excludedLaunchers>
       <exclude>
         <entry defaultFileset="true" />
         <entry filesetId="880" />
         <entry filesetId="882" />
         <entry filesetId="1873" />
+        <entry filesetId="2105" />
       </exclude>
+      <jreBundle jreBundleSource="preCreated" includedJre="${compiler:LINUX_JAVA_VM_TGZ}" manualJreEntry="true" />
     </unixInstaller>
-    <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/">
-      <excludedComponents>
-        <component id="1031" />
-        <component id="1155" />
-        <component id="1156" />
-        <component id="1881" />
-        <component id="2110" />
-      </excludedComponents>
-      <exclude>
-        <entry filesetId="734" />
-        <entry filesetId="880" />
-        <entry filesetId="882" />
-        <entry filesetId="1873" />
-      </exclude>
-    </unixInstaller>
-    <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}">
+    <unixArchive name="Unix .tar.gz Archive" id="1596" mediaFileName="${compiler:sys.shortName}-${compiler:JALVIEW_VERSION}-${compiler:sys.platform}-java_${compiler:JAVA_INTEGER_VERSION}">
       <excludedComponents>
         <component id="1155" />
         <component id="1156" />
@@ -1210,30 +1182,13 @@ return console.askYesNo(message, true);
         <component id="1881" />
         <component id="2110" />
       </excludedComponents>
-      <excludedLaunchers>
-        <launcher id="1402" />
-      </excludedLaunchers>
       <exclude>
         <entry defaultFileset="true" />
         <entry filesetId="880" />
         <entry filesetId="882" />
         <entry filesetId="1873" />
       </exclude>
-    </unixArchive>
-    <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}">
-      <excludedComponents>
-        <component id="1031" />
-        <component id="1155" />
-        <component id="1156" />
-        <component id="1881" />
-        <component id="2110" />
-      </excludedComponents>
-      <exclude>
-        <entry filesetId="734" />
-        <entry filesetId="880" />
-        <entry filesetId="882" />
-        <entry filesetId="1873" />
-      </exclude>
+      <jreBundle jreBundleSource="preCreated" includedJre="${compiler:LINUX_JAVA_VM_TGZ}" manualJreEntry="true" />
     </unixArchive>
   </mediaSets>
   <buildIds>