JAL-3447 Satisfactory file associations. cif, mcif and pdb now not opened by Jalview...
authorBen Soares <bsoares@dundee.ac.uk>
Thu, 12 Dec 2019 17:13:30 +0000 (17:13 +0000)
committerBen Soares <bsoares@dundee.ac.uk>
Thu, 12 Dec 2019 17:13:30 +0000 (17:13 +0000)
utils/install4j/auto_file_associations-i4j8.pl
utils/install4j/file_associations_auto-Info_plist.xml
utils/install4j/file_associations_auto-install4j8.xml
utils/install4j/file_associations_template-Info_plist.xml
utils/install4j/file_associations_template-install4j8.xml
utils/install4j/install4j8_template.install4j

index df04a6a..c418aad 100755 (executable)
@@ -47,6 +47,8 @@ my $add_extensions = {
 };
 my @put_first = qw(jalview jvl);
 
+my @non_primary = qw(mmcif mmcif2 pdb);
+
 my $v = ($i4jversion >= 8)?$i4jversion:"";
 my $i4jtemplatefile = "file_associations_template-install4j${v}.xml";
 my $i4jtemplate;
@@ -72,6 +74,11 @@ $macautofile =~ s/template/auto$1/;
 my $i4jautofile = $i4jtemplatefile;
 $i4jautofile =~ s/template/auto$1/;
 
+for my $key (sort keys %$add_associations) {
+  my $a = $add_associations->{$key};
+  warn("Known file association for $a->{shortname} (".join(",",@{$a->{extensions}}).")\n");
+}
+
 open(MA,">$macautofile") or die ("Could not open '$macautofile' for writing");
 print MA "<key>CFBundleDocumentTypes</key>\n<array>\n\n";
 
@@ -106,7 +113,7 @@ while(my $line = <IN>) {
       name => $name,
       extensions => \@extensions
     };
-    warn("Adding file association for $shortname (".join(",",@extensions).")\n");
+    warn("Reading file association for $shortname (".join(",",@extensions).")\n");
   }
 }
 close(IN);
@@ -115,7 +122,7 @@ my %all_associations = (%$file_associations, %$add_associations);
 
 my $num = 0;
 my $i4jcount = 0;
-my @ordered = @put_first;
+my @ordered = (@put_first, @non_primary);
 for my $key (sort keys %all_associations) {
   next if grep($_ eq $key, @ordered);
   push(@ordered, $key);
@@ -127,16 +134,10 @@ for my $key (@ordered) {
   my $extensions = $a->{extensions};
   my @extensions = @$extensions;
 
-  # multiple extensions now all dealt with together since i4j 8.0.1
-  #for my $ext (@extensions) {
-  #  $num++;
-  #}
   $num++
-
-  #delete $all_associations{$shortname};
-  #print "NUM: $num\n";
 }
 
+warn("--\n");
 
 for my $shortname (@ordered) {
   my $a = $all_associations{$shortname};
@@ -146,24 +147,30 @@ for my $shortname (@ordered) {
   my $extensions = $a->{extensions};
   my $mimetype = $mimetypes->{$shortname};
   $mimetype = "application/x-$shortname+txt" unless $mimetype;
-  #$mimetype = "application/x-$shortname" unless $mimetype;
 
   my $iconfile = $a->{iconfile};
   $iconfile = "Jalview-File" unless $iconfile;
 
+  my $primary = (! grep($_ eq $shortname, @non_primary));
+  my $primarystring = $primary?"true":"false";
+  my $role = $primary?"Editor":"Viewer";
+
   my @extensions = @$extensions;
-  #warn("LINE: $line\nFound extensions '".join("', '", @extensions)."' for $name Files ($shortname)'n");
 
   my $xname = xml_escape($name);
   my $xmimetype = xml_escape($mimetype);
   my $xshortname = xml_escape($shortname);
   my $xiconfile = xml_escape($iconfile);
+  my $xrole = xml_escape($role);
+  my $xprimarystring = xml_escape($primarystring);
 
   my $macentry = $mactemplate;
   $macentry =~ s/\$\$NAME\$\$/$xname/g;
   $macentry =~ s/\$\$SHORTNAME\$\$/$xshortname/g;
   $macentry =~ s/\$\$MIMETYPE\$\$/$xmimetype/g;
   $macentry =~ s/\$\$ICONFILE\$\$/$xiconfile/g;
+  $macentry =~ s/\$\$ROLE\$\$/$xrole/g;
+  $macentry =~ s/\$\$PRIMARY\$\$/$xprimarystring/g;
   while ($macentry =~ m/\$\$([^\$]*)EXTENSIONS([^\$]*)\$\$/) {
     my $pre = $1;
     my $post = $2;
@@ -181,73 +188,53 @@ for my $shortname (@ordered) {
   $i4jentry =~ s/\$\$SHORTNAME\$\$/$xshortname/g;
   $i4jentry =~ s/\$\$MIMETYPE\$\$/$xmimetype/g;
   $i4jentry =~ s/\$\$ICONFILE\$\$/$xiconfile/g;
-
-# multiple extensions now all dealt with together since i4j 8.0.1
-#  my $unixext;
-#  for my $ext (sort @extensions) {
-#    if (not defined($unixext)) {
-#      $unixext = $ext;
-#      next;
-#    }
-#    if (length($ext) < length($unixext)) {
-#      $unixext = $ext;
-#      next;
-#    }
-#  }
-#  for my $ext (@extensions) {
-#    $i4jcount++;
-#    #print "COUNT: $i4jcount\n";
-#    my $progresspercent = int(($i4jcount/$num)*100);
-#    #print "PC: $progresspercent\n";
-#    $progresspercent = 100 if $progresspercent > 100;
-#    my $xext = xml_escape($ext);
-#    my $addunixextension = ($ext eq $unixext)?"true":"false";
-#
-#    my $i4jextentry = $i4jentry;
-#    $i4jextentry =~ s/\$\$ADDUNIXEXTENSION\$\$/$addunixextension/g;
-#    $i4jextentry =~ s/\$\$EXTENSION\$\$/$xext/g;
-#    $i4jextentry =~ s/\$\$PROGRESSPERCENT\$\$/$progresspercent/g;
-#    $i4jextentry =~ s/\$\$ID\$\$/$id/g;
-#    $id++;
-#    $i4jextentry =~ s/\$\$ID1\$\$/$id/g;
-#    $id++;
-#    $i4jextentry =~ s/\$\$ID2\$\$/$id/g;
-#    $id++;
-#
-#    print IA $i4jextentry;
-#  }
+  $i4jentry =~ s/\$\$PRIMARY\$\$/$xprimarystring/g;
 
   my $ext = join(",",sort(@extensions));
   my $xdisplayext = xml_escape(join(", ", map(".$_",sort(@extensions))));
   $i4jcount++;
-#print "COUNT: $i4jcount\n";
   my $progresspercent = int(($i4jcount/$num)*100);
-#print "PC: $progresspercent\n";
   $progresspercent = 100 if $progresspercent > 100;
   my $xext = xml_escape($ext);
-  #my $addunixextension = ($ext eq $unixext)?"true":"false";
   my $addunixextension = "true";
 
-  my $i4jextentry = $i4jentry;
-  $i4jextentry =~ s/\$\$ADDUNIXEXTENSION\$\$/$addunixextension/g;
-  $i4jextentry =~ s/\$\$EXTENSION\$\$/$xext/g;
-  $i4jextentry =~ s/\$\$DISPLAYEXTENSION\$\$/$xdisplayext/g;
-  $i4jextentry =~ s/\$\$PROGRESSPERCENT\$\$/$progresspercent/g;
-  $i4jextentry =~ s/\$\$ID\$\$/$id/g;
+  $i4jentry =~ s/\$\$ADDUNIXEXTENSION\$\$/$addunixextension/g;
+  $i4jentry =~ s/\$\$EXTENSION\$\$/$xext/g;
+  $i4jentry =~ s/\$\$DISPLAYEXTENSION\$\$/$xdisplayext/g;
+  $i4jentry =~ s/\$\$PROGRESSPERCENT\$\$/$progresspercent/g;
+  $i4jentry =~ s/\$\$ID\$\$/$id/g;
   $id++;
-  $i4jextentry =~ s/\$\$ID1\$\$/$id/g;
+  $i4jentry =~ s/\$\$ID1\$\$/$id/g;
   $id++;
-  $i4jextentry =~ s/\$\$ID2\$\$/$id/g;
+  $i4jentry =~ s/\$\$ID2\$\$/$id/g;
   $id++;
 
-  print IA $i4jextentry;
-
+  print IA $i4jentry;
 
   delete $all_associations{$shortname};
+  warn("Writing entry for $name (".join(",",@$extensions).": $mimetype)\n");
 }
 
 close(IA);
 print MA "</array>\n";
+# 
+# print MA "
+# <!-- BEGIN FROM PERL SCRIPT -->
+# <key>CFBundleURLTypes</key>
+# <array>
+# <dict>
+# <key>CFBundleURLName</key>
+# <string>org.jalview.jalview-desktop.url.jalview</string>
+# <key>CFBundleTypeRole</key>
+# <string>Editor</string>
+# <key>CFBundleURLSchemes</key>
+# <array>
+# <string>jalview</string>
+# </array>
+# </dict>
+# </array>
+# <!-- END FROM PERL SCRIPT -->
+# ";
 close(MA);
 
 sub xml_escape {
index 5922f2d..67f5ba0 100644 (file)
 <dict>
 <key>CFBundleTypeExtensions</key>
 <array>
-<string>amsa</string>
+<string>cif</string>
 </array>
 <key>CFBundleTypeName</key>
-<string>AMSA File</string>
+<string>mmCIF File</string>
 <key>CFBundleTypeIconFile</key>
 <string>Jalview-File.icns</string>
 <key>CFBundleTypeRole</key>
-<string>Editor</string>
+<string>Viewer</string>
 <key>CFBundleTypeMIMETypes</key>
 <array>
-<string>application/x-amsa+txt</string>
+<string>chemical/x-cif</string>
 </array>
 <key>LSIsAppleDefaultForType</key>
-<true/>
+<false/>
 </dict>
 
 <dict>
 <key>CFBundleTypeExtensions</key>
 <array>
-<string>annotations</string>
-<string>jvannotations</string>
+<string>mcif</string>
+<string>mmcif</string>
 </array>
 <key>CFBundleTypeName</key>
-<string>Jalview Annotations File</string>
+<string>mmCIF File</string>
 <key>CFBundleTypeIconFile</key>
 <string>Jalview-File.icns</string>
 <key>CFBundleTypeRole</key>
-<string>Editor</string>
+<string>Viewer</string>
 <key>CFBundleTypeMIMETypes</key>
 <array>
-<string>application/x-jalview-annotations+text</string>
+<string>chemical/x-mcif</string>
 </array>
 <key>LSIsAppleDefaultForType</key>
-<true/>
+<false/>
 </dict>
 
 <dict>
 <key>CFBundleTypeExtensions</key>
 <array>
-<string>biojson</string>
+<string>pdb</string>
+<string>ent</string>
 </array>
 <key>CFBundleTypeName</key>
-<string>BioJSON File</string>
+<string>PDB File</string>
 <key>CFBundleTypeIconFile</key>
 <string>Jalview-File.icns</string>
 <key>CFBundleTypeRole</key>
-<string>Editor</string>
+<string>Viewer</string>
 <key>CFBundleTypeMIMETypes</key>
 <array>
-<string>application/x-jalview-biojson+json</string>
+<string>chemical/x-pdb</string>
 </array>
 <key>LSIsAppleDefaultForType</key>
-<true/>
+<false/>
 </dict>
 
 <dict>
 <key>CFBundleTypeExtensions</key>
 <array>
-<string>blc</string>
+<string>amsa</string>
 </array>
 <key>CFBundleTypeName</key>
-<string>BLC File</string>
+<string>AMSA File</string>
 <key>CFBundleTypeIconFile</key>
 <string>Jalview-File.icns</string>
 <key>CFBundleTypeRole</key>
 <string>Editor</string>
 <key>CFBundleTypeMIMETypes</key>
 <array>
-<string>application/x-blc+txt</string>
+<string>application/x-amsa+txt</string>
 </array>
 <key>LSIsAppleDefaultForType</key>
 <true/>
 <dict>
 <key>CFBundleTypeExtensions</key>
 <array>
-<string>aln</string>
+<string>annotations</string>
+<string>jvannotations</string>
 </array>
 <key>CFBundleTypeName</key>
-<string>Clustal File</string>
+<string>Jalview Annotations File</string>
 <key>CFBundleTypeIconFile</key>
 <string>Jalview-File.icns</string>
 <key>CFBundleTypeRole</key>
 <string>Editor</string>
 <key>CFBundleTypeMIMETypes</key>
 <array>
-<string>application/x-clustal+txt</string>
+<string>application/x-jalview-annotations+text</string>
 </array>
 <key>LSIsAppleDefaultForType</key>
 <true/>
 <dict>
 <key>CFBundleTypeExtensions</key>
 <array>
-<string>fa</string>
-<string>fasta</string>
+<string>biojson</string>
 </array>
 <key>CFBundleTypeName</key>
-<string>Fasta File</string>
+<string>BioJSON File</string>
 <key>CFBundleTypeIconFile</key>
 <string>Jalview-File.icns</string>
 <key>CFBundleTypeRole</key>
 <string>Editor</string>
 <key>CFBundleTypeMIMETypes</key>
 <array>
-<string>application/x-fasta+txt</string>
+<string>application/x-jalview-biojson+json</string>
 </array>
 <key>LSIsAppleDefaultForType</key>
 <true/>
 <dict>
 <key>CFBundleTypeExtensions</key>
 <array>
-<string>features</string>
-<string>jvfeatures</string>
+<string>blc</string>
 </array>
 <key>CFBundleTypeName</key>
-<string>Jalview Features File</string>
+<string>BLC File</string>
 <key>CFBundleTypeIconFile</key>
 <string>Jalview-File.icns</string>
 <key>CFBundleTypeRole</key>
 <string>Editor</string>
 <key>CFBundleTypeMIMETypes</key>
 <array>
-<string>application/x-jalview-features+text</string>
+<string>application/x-blc+txt</string>
 </array>
 <key>LSIsAppleDefaultForType</key>
 <true/>
 <dict>
 <key>CFBundleTypeExtensions</key>
 <array>
-<string>gff2</string>
+<string>aln</string>
 </array>
 <key>CFBundleTypeName</key>
-<string>Generic Features Format v2 File</string>
+<string>Clustal File</string>
 <key>CFBundleTypeIconFile</key>
 <string>Jalview-File.icns</string>
 <key>CFBundleTypeRole</key>
 <string>Editor</string>
 <key>CFBundleTypeMIMETypes</key>
 <array>
-<string>application/x-gff2+txt</string>
+<string>application/x-clustal+txt</string>
 </array>
 <key>LSIsAppleDefaultForType</key>
 <true/>
 <dict>
 <key>CFBundleTypeExtensions</key>
 <array>
-<string>gff3</string>
+<string>fa</string>
+<string>fasta</string>
 </array>
 <key>CFBundleTypeName</key>
-<string>Generic Features Format v3 File</string>
+<string>Fasta File</string>
 <key>CFBundleTypeIconFile</key>
 <string>Jalview-File.icns</string>
 <key>CFBundleTypeRole</key>
 <string>Editor</string>
 <key>CFBundleTypeMIMETypes</key>
 <array>
-<string>application/x-gff3+txt</string>
+<string>application/x-fasta+txt</string>
 </array>
 <key>LSIsAppleDefaultForType</key>
 <true/>
 <dict>
 <key>CFBundleTypeExtensions</key>
 <array>
-<string>concise</string>
-<string>jnet</string>
+<string>features</string>
+<string>jvfeatures</string>
 </array>
 <key>CFBundleTypeName</key>
-<string>JnetFile File</string>
+<string>Jalview Features File</string>
 <key>CFBundleTypeIconFile</key>
 <string>Jalview-File.icns</string>
 <key>CFBundleTypeRole</key>
 <string>Editor</string>
 <key>CFBundleTypeMIMETypes</key>
 <array>
-<string>application/x-jalview-jnet+text</string>
+<string>application/x-jalview-features+text</string>
 </array>
 <key>LSIsAppleDefaultForType</key>
 <true/>
 <dict>
 <key>CFBundleTypeExtensions</key>
 <array>
-<string>cif</string>
+<string>gff2</string>
 </array>
 <key>CFBundleTypeName</key>
-<string>mmCIF File</string>
+<string>Generic Features Format v2 File</string>
 <key>CFBundleTypeIconFile</key>
 <string>Jalview-File.icns</string>
 <key>CFBundleTypeRole</key>
 <string>Editor</string>
 <key>CFBundleTypeMIMETypes</key>
 <array>
-<string>chemical/x-cif</string>
+<string>application/x-gff2+txt</string>
 </array>
 <key>LSIsAppleDefaultForType</key>
 <true/>
 <dict>
 <key>CFBundleTypeExtensions</key>
 <array>
-<string>mcif</string>
-<string>mmcif</string>
+<string>gff3</string>
 </array>
 <key>CFBundleTypeName</key>
-<string>mmCIF File</string>
+<string>Generic Features Format v3 File</string>
 <key>CFBundleTypeIconFile</key>
 <string>Jalview-File.icns</string>
 <key>CFBundleTypeRole</key>
 <string>Editor</string>
 <key>CFBundleTypeMIMETypes</key>
 <array>
-<string>chemical/x-mcif</string>
+<string>application/x-gff3+txt</string>
 </array>
 <key>LSIsAppleDefaultForType</key>
 <true/>
 <dict>
 <key>CFBundleTypeExtensions</key>
 <array>
-<string>msf</string>
+<string>concise</string>
+<string>jnet</string>
 </array>
 <key>CFBundleTypeName</key>
-<string>MSF File</string>
+<string>JnetFile File</string>
 <key>CFBundleTypeIconFile</key>
 <string>Jalview-File.icns</string>
 <key>CFBundleTypeRole</key>
 <string>Editor</string>
 <key>CFBundleTypeMIMETypes</key>
 <array>
-<string>application/x-msf+txt</string>
+<string>application/x-jalview-jnet+text</string>
 </array>
 <key>LSIsAppleDefaultForType</key>
 <true/>
 <dict>
 <key>CFBundleTypeExtensions</key>
 <array>
-<string>pdb</string>
-<string>ent</string>
+<string>msf</string>
 </array>
 <key>CFBundleTypeName</key>
-<string>PDB File</string>
+<string>MSF File</string>
 <key>CFBundleTypeIconFile</key>
 <string>Jalview-File.icns</string>
 <key>CFBundleTypeRole</key>
 <string>Editor</string>
 <key>CFBundleTypeMIMETypes</key>
 <array>
-<string>chemical/x-pdb</string>
+<string>application/x-msf+txt</string>
 </array>
 <key>LSIsAppleDefaultForType</key>
 <true/>
index d37b053..f6884ee 100644 (file)
@@ -1,5 +1,5 @@
 <!-- Jalview (.jvp) BEGIN -->
-                  <action id="10000" beanClass="com.install4j.runtime.beans.actions.control.SetMessageAction" actionElevationType="none" rollbackBarrierExitCode="0">
+                  <action name="Jalview (.jvp) message" id="10000" customizedId="Jalview-jvp-10000-message" beanClass="com.install4j.runtime.beans.actions.control.SetMessageAction" actionElevationType="none" rollbackBarrierExitCode="0">
                     <serializedBean>
                       <property name="detailMessage" type="string">Jalview (.jvp)</property>
                       <property name="statusMessage" type="string">Creating file associations...</property>
@@ -8,17 +8,18 @@
                     </serializedBean>
                   </action>
 
-                  <action id="10001" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" actionElevationType="none" rollbackBarrierExitCode="0">
+                  <action name="Jalview (.jvp) progress bar 4" id="10001" customizedId="Jalview-jvp-10001-progressbar" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" actionElevationType="none" rollbackBarrierExitCode="0">
                     <serializedBean>
                       <property name="percentValue" type="int" value="4" />
                     </serializedBean>
                   </action>
 
-                  <action id="10002" beanClass="com.install4j.runtime.beans.actions.desktop.CreateFileAssociationAction" actionElevationType="elevated" rollbackBarrierExitCode="0" errorMessage="Could not make .jvp file association">
+                  <action name="Jalview (.jvp) file association" id="10002" customizedId="Jalview-jvp-10002-fileassociation" beanClass="com.install4j.runtime.beans.actions.desktop.CreateFileAssociationAction" actionElevationType="elevated" rollbackBarrierExitCode="0" errorMessage="Could not make .jvp file association">
                     <serializedBean>
                       <property name="description" type="string">Jalview File</property>
                       <property name="extension" type="string">jvp</property>
                       <property name="launcherId" type="string">737</property>
+                      <property name="selected" type="boolean" value="true" />
                       <property name="macIconFile">
                         <object class="com.install4j.api.beans.ExternalFile">
                           <string>Jalview-File.icns</string>
@@ -44,7 +45,7 @@
 <!-- END -->
 
 <!-- Jalview Launch (.jvl) BEGIN -->
-                  <action id="10003" beanClass="com.install4j.runtime.beans.actions.control.SetMessageAction" actionElevationType="none" rollbackBarrierExitCode="0">
+                  <action name="Jalview Launch (.jvl) message" id="10003" customizedId="Jalview Launch-jvl-10003-message" beanClass="com.install4j.runtime.beans.actions.control.SetMessageAction" actionElevationType="none" rollbackBarrierExitCode="0">
                     <serializedBean>
                       <property name="detailMessage" type="string">Jalview Launch (.jvl)</property>
                       <property name="statusMessage" type="string">Creating file associations...</property>
                     </serializedBean>
                   </action>
 
-                  <action id="10004" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" actionElevationType="none" rollbackBarrierExitCode="0">
+                  <action name="Jalview Launch (.jvl) progress bar 8" id="10004" customizedId="Jalview Launch-jvl-10004-progressbar" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" actionElevationType="none" rollbackBarrierExitCode="0">
                     <serializedBean>
                       <property name="percentValue" type="int" value="8" />
                     </serializedBean>
                   </action>
 
-                  <action id="10005" beanClass="com.install4j.runtime.beans.actions.desktop.CreateFileAssociationAction" actionElevationType="elevated" rollbackBarrierExitCode="0" errorMessage="Could not make .jvl file association">
+                  <action name="Jalview Launch (.jvl) file association" id="10005" customizedId="Jalview Launch-jvl-10005-fileassociation" beanClass="com.install4j.runtime.beans.actions.desktop.CreateFileAssociationAction" actionElevationType="elevated" rollbackBarrierExitCode="0" errorMessage="Could not make .jvl file association">
                     <serializedBean>
                       <property name="description" type="string">Jalview Launch File</property>
                       <property name="extension" type="string">jvl</property>
                       <property name="launcherId" type="string">737</property>
+                      <property name="selected" type="boolean" value="true" />
                       <property name="macIconFile">
                         <object class="com.install4j.api.beans.ExternalFile">
                           <string>Jalview-Launch.icns</string>
                   </action>
 <!-- END -->
 
-<!-- AMSA (.amsa) BEGIN -->
-                  <action id="10006" beanClass="com.install4j.runtime.beans.actions.control.SetMessageAction" actionElevationType="none" rollbackBarrierExitCode="0">
+<!-- mmCIF (.cif) BEGIN -->
+                  <action name="mmCIF (.cif) message" id="10006" customizedId="mmCIF-cif-10006-message" beanClass="com.install4j.runtime.beans.actions.control.SetMessageAction" actionElevationType="none" rollbackBarrierExitCode="0">
                     <serializedBean>
-                      <property name="detailMessage" type="string">AMSA (.amsa)</property>
+                      <property name="detailMessage" type="string">mmCIF (.cif)</property>
                       <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="10007" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" actionElevationType="none" rollbackBarrierExitCode="0">
+                  <action name="mmCIF (.cif) progress bar 13" id="10007" customizedId="mmCIF-cif-10007-progressbar" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" actionElevationType="none" rollbackBarrierExitCode="0">
                     <serializedBean>
                       <property name="percentValue" type="int" value="13" />
                     </serializedBean>
                   </action>
 
-                  <action id="10008" beanClass="com.install4j.runtime.beans.actions.desktop.CreateFileAssociationAction" actionElevationType="elevated" rollbackBarrierExitCode="0" errorMessage="Could not make .amsa file association">
+                  <action name="mmCIF (.cif) file association" id="10008" customizedId="mmCIF-cif-10008-fileassociation" beanClass="com.install4j.runtime.beans.actions.desktop.CreateFileAssociationAction" actionElevationType="elevated" rollbackBarrierExitCode="0" errorMessage="Could not make .cif file association">
                     <serializedBean>
-                      <property name="description" type="string">AMSA File</property>
-                      <property name="extension" type="string">amsa</property>
+                      <property name="description" type="string">mmCIF File</property>
+                      <property name="extension" type="string">cif</property>
                       <property name="launcherId" type="string">737</property>
+                      <property name="selected" type="boolean" value="false" />
                       <property name="macIconFile">
                         <object class="com.install4j.api.beans.ExternalFile">
                           <string>Jalview-File.icns</string>
                         </object>
                       </property>
-                      <!--<property name="macMimeType" type="string">application/x-amsa+txt</property>-->
+                      <!--<property name="macMimeType" type="string">chemical/x-cif</property>-->
                       <property name="macRole" type="enum" class="com.install4j.runtime.beans.actions.desktop.MacAssociationRole" value="EDITOR" />
                       <property name="restartFinder" type="boolean" value="true" />
                       <property name="unix" type="boolean" value="true" />
                           <string>Jalview-File.png</string>
                         </object>
                       </property>
-                      <property name="unixMimeType" type="string">application/x-amsa+txt</property>
+                      <property name="unixMimeType" type="string">chemical/x-cif</property>
                       <property name="windowsIconFile">
                         <object class="com.install4j.api.beans.ExternalFile">
                           <string>Jalview-File.ico</string>
                   </action>
 <!-- END -->
 
-<!-- Jalview Annotations (.annotations, .jvannotations) BEGIN -->
-                  <action id="10009" beanClass="com.install4j.runtime.beans.actions.control.SetMessageAction" actionElevationType="none" rollbackBarrierExitCode="0">
+<!-- mmCIF (.mcif, .mmcif) BEGIN -->
+                  <action name="mmCIF (.mcif, .mmcif) message" id="10009" customizedId="mmCIF-mcif,mmcif-10009-message" beanClass="com.install4j.runtime.beans.actions.control.SetMessageAction" actionElevationType="none" rollbackBarrierExitCode="0">
                     <serializedBean>
-                      <property name="detailMessage" type="string">Jalview Annotations (.annotations, .jvannotations)</property>
+                      <property name="detailMessage" type="string">mmCIF (.mcif, .mmcif)</property>
                       <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="10010" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" actionElevationType="none" rollbackBarrierExitCode="0">
+                  <action name="mmCIF (.mcif, .mmcif) progress bar 17" id="10010" customizedId="mmCIF-mcif,mmcif-10010-progressbar" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" actionElevationType="none" rollbackBarrierExitCode="0">
                     <serializedBean>
                       <property name="percentValue" type="int" value="17" />
                     </serializedBean>
                   </action>
 
-                  <action id="10011" beanClass="com.install4j.runtime.beans.actions.desktop.CreateFileAssociationAction" actionElevationType="elevated" rollbackBarrierExitCode="0" errorMessage="Could not make .annotations,jvannotations file association">
+                  <action name="mmCIF (.mcif, .mmcif) file association" id="10011" customizedId="mmCIF-mcif,mmcif-10011-fileassociation" beanClass="com.install4j.runtime.beans.actions.desktop.CreateFileAssociationAction" actionElevationType="elevated" rollbackBarrierExitCode="0" errorMessage="Could not make .mcif,mmcif file association">
                     <serializedBean>
-                      <property name="description" type="string">Jalview Annotations File</property>
-                      <property name="extension" type="string">annotations,jvannotations</property>
+                      <property name="description" type="string">mmCIF File</property>
+                      <property name="extension" type="string">mcif,mmcif</property>
                       <property name="launcherId" type="string">737</property>
+                      <property name="selected" type="boolean" value="false" />
                       <property name="macIconFile">
                         <object class="com.install4j.api.beans.ExternalFile">
                           <string>Jalview-File.icns</string>
                         </object>
                       </property>
-                      <!--<property name="macMimeType" type="string">application/x-jalview-annotations+text</property>-->
+                      <!--<property name="macMimeType" type="string">chemical/x-mcif</property>-->
                       <property name="macRole" type="enum" class="com.install4j.runtime.beans.actions.desktop.MacAssociationRole" value="EDITOR" />
                       <property name="restartFinder" type="boolean" value="true" />
                       <property name="unix" type="boolean" value="true" />
                           <string>Jalview-File.png</string>
                         </object>
                       </property>
-                      <property name="unixMimeType" type="string">application/x-jalview-annotations+text</property>
+                      <property name="unixMimeType" type="string">chemical/x-mcif</property>
                       <property name="windowsIconFile">
                         <object class="com.install4j.api.beans.ExternalFile">
                           <string>Jalview-File.ico</string>
                   </action>
 <!-- END -->
 
-<!-- BioJSON (.biojson) BEGIN -->
-                  <action id="10012" beanClass="com.install4j.runtime.beans.actions.control.SetMessageAction" actionElevationType="none" rollbackBarrierExitCode="0">
+<!-- PDB (.ent, .pdb) BEGIN -->
+                  <action name="PDB (.ent, .pdb) message" id="10012" customizedId="PDB-ent,pdb-10012-message" beanClass="com.install4j.runtime.beans.actions.control.SetMessageAction" actionElevationType="none" rollbackBarrierExitCode="0">
                     <serializedBean>
-                      <property name="detailMessage" type="string">BioJSON (.biojson)</property>
+                      <property name="detailMessage" type="string">PDB (.ent, .pdb)</property>
                       <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="10013" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" actionElevationType="none" rollbackBarrierExitCode="0">
+                  <action name="PDB (.ent, .pdb) progress bar 21" id="10013" customizedId="PDB-ent,pdb-10013-progressbar" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" actionElevationType="none" rollbackBarrierExitCode="0">
                     <serializedBean>
                       <property name="percentValue" type="int" value="21" />
                     </serializedBean>
                   </action>
 
-                  <action id="10014" beanClass="com.install4j.runtime.beans.actions.desktop.CreateFileAssociationAction" actionElevationType="elevated" rollbackBarrierExitCode="0" errorMessage="Could not make .biojson file association">
+                  <action name="PDB (.ent, .pdb) file association" id="10014" customizedId="PDB-ent,pdb-10014-fileassociation" beanClass="com.install4j.runtime.beans.actions.desktop.CreateFileAssociationAction" actionElevationType="elevated" rollbackBarrierExitCode="0" errorMessage="Could not make .ent,pdb file association">
                     <serializedBean>
-                      <property name="description" type="string">BioJSON File</property>
-                      <property name="extension" type="string">biojson</property>
+                      <property name="description" type="string">PDB File</property>
+                      <property name="extension" type="string">ent,pdb</property>
                       <property name="launcherId" type="string">737</property>
+                      <property name="selected" type="boolean" value="false" />
                       <property name="macIconFile">
                         <object class="com.install4j.api.beans.ExternalFile">
                           <string>Jalview-File.icns</string>
                         </object>
                       </property>
-                      <!--<property name="macMimeType" type="string">application/x-jalview-biojson+json</property>-->
+                      <!--<property name="macMimeType" type="string">chemical/x-pdb</property>-->
                       <property name="macRole" type="enum" class="com.install4j.runtime.beans.actions.desktop.MacAssociationRole" value="EDITOR" />
                       <property name="restartFinder" type="boolean" value="true" />
                       <property name="unix" type="boolean" value="true" />
                           <string>Jalview-File.png</string>
                         </object>
                       </property>
-                      <property name="unixMimeType" type="string">application/x-jalview-biojson+json</property>
+                      <property name="unixMimeType" type="string">chemical/x-pdb</property>
                       <property name="windowsIconFile">
                         <object class="com.install4j.api.beans.ExternalFile">
                           <string>Jalview-File.ico</string>
                   </action>
 <!-- END -->
 
-<!-- BLC (.blc) BEGIN -->
-                  <action id="10015" beanClass="com.install4j.runtime.beans.actions.control.SetMessageAction" actionElevationType="none" rollbackBarrierExitCode="0">
+<!-- AMSA (.amsa) BEGIN -->
+                  <action name="AMSA (.amsa) message" id="10015" customizedId="AMSA-amsa-10015-message" beanClass="com.install4j.runtime.beans.actions.control.SetMessageAction" actionElevationType="none" rollbackBarrierExitCode="0">
                     <serializedBean>
-                      <property name="detailMessage" type="string">BLC (.blc)</property>
+                      <property name="detailMessage" type="string">AMSA (.amsa)</property>
                       <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="10016" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" actionElevationType="none" rollbackBarrierExitCode="0">
+                  <action name="AMSA (.amsa) progress bar 26" id="10016" customizedId="AMSA-amsa-10016-progressbar" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" actionElevationType="none" rollbackBarrierExitCode="0">
                     <serializedBean>
                       <property name="percentValue" type="int" value="26" />
                     </serializedBean>
                   </action>
 
-                  <action id="10017" beanClass="com.install4j.runtime.beans.actions.desktop.CreateFileAssociationAction" actionElevationType="elevated" rollbackBarrierExitCode="0" errorMessage="Could not make .blc file association">
+                  <action name="AMSA (.amsa) file association" id="10017" customizedId="AMSA-amsa-10017-fileassociation" beanClass="com.install4j.runtime.beans.actions.desktop.CreateFileAssociationAction" actionElevationType="elevated" rollbackBarrierExitCode="0" errorMessage="Could not make .amsa file association">
                     <serializedBean>
-                      <property name="description" type="string">BLC File</property>
-                      <property name="extension" type="string">blc</property>
+                      <property name="description" type="string">AMSA File</property>
+                      <property name="extension" type="string">amsa</property>
                       <property name="launcherId" type="string">737</property>
+                      <property name="selected" type="boolean" value="true" />
                       <property name="macIconFile">
                         <object class="com.install4j.api.beans.ExternalFile">
                           <string>Jalview-File.icns</string>
                         </object>
                       </property>
-                      <!--<property name="macMimeType" type="string">application/x-blc+txt</property>-->
+                      <!--<property name="macMimeType" type="string">application/x-amsa+txt</property>-->
                       <property name="macRole" type="enum" class="com.install4j.runtime.beans.actions.desktop.MacAssociationRole" value="EDITOR" />
                       <property name="restartFinder" type="boolean" value="true" />
                       <property name="unix" type="boolean" value="true" />
                           <string>Jalview-File.png</string>
                         </object>
                       </property>
-                      <property name="unixMimeType" type="string">application/x-blc+txt</property>
+                      <property name="unixMimeType" type="string">application/x-amsa+txt</property>
                       <property name="windowsIconFile">
                         <object class="com.install4j.api.beans.ExternalFile">
                           <string>Jalview-File.ico</string>
                   </action>
 <!-- END -->
 
-<!-- Clustal (.aln) BEGIN -->
-                  <action id="10018" beanClass="com.install4j.runtime.beans.actions.control.SetMessageAction" actionElevationType="none" rollbackBarrierExitCode="0">
+<!-- Jalview Annotations (.annotations, .jvannotations) BEGIN -->
+                  <action name="Jalview Annotations (.annotations, .jvannotations) message" id="10018" customizedId="Jalview Annotations-annotations,jvannotations-10018-message" beanClass="com.install4j.runtime.beans.actions.control.SetMessageAction" actionElevationType="none" rollbackBarrierExitCode="0">
                     <serializedBean>
-                      <property name="detailMessage" type="string">Clustal (.aln)</property>
+                      <property name="detailMessage" type="string">Jalview Annotations (.annotations, .jvannotations)</property>
                       <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="10019" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" actionElevationType="none" rollbackBarrierExitCode="0">
+                  <action name="Jalview Annotations (.annotations, .jvannotations) progress bar 30" id="10019" customizedId="Jalview Annotations-annotations,jvannotations-10019-progressbar" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" actionElevationType="none" rollbackBarrierExitCode="0">
                     <serializedBean>
                       <property name="percentValue" type="int" value="30" />
                     </serializedBean>
                   </action>
 
-                  <action id="10020" beanClass="com.install4j.runtime.beans.actions.desktop.CreateFileAssociationAction" actionElevationType="elevated" rollbackBarrierExitCode="0" errorMessage="Could not make .aln file association">
+                  <action name="Jalview Annotations (.annotations, .jvannotations) file association" id="10020" customizedId="Jalview Annotations-annotations,jvannotations-10020-fileassociation" beanClass="com.install4j.runtime.beans.actions.desktop.CreateFileAssociationAction" actionElevationType="elevated" rollbackBarrierExitCode="0" errorMessage="Could not make .annotations,jvannotations file association">
                     <serializedBean>
-                      <property name="description" type="string">Clustal File</property>
-                      <property name="extension" type="string">aln</property>
+                      <property name="description" type="string">Jalview Annotations File</property>
+                      <property name="extension" type="string">annotations,jvannotations</property>
                       <property name="launcherId" type="string">737</property>
+                      <property name="selected" type="boolean" value="true" />
                       <property name="macIconFile">
                         <object class="com.install4j.api.beans.ExternalFile">
                           <string>Jalview-File.icns</string>
                         </object>
                       </property>
-                      <!--<property name="macMimeType" type="string">application/x-clustal+txt</property>-->
+                      <!--<property name="macMimeType" type="string">application/x-jalview-annotations+text</property>-->
                       <property name="macRole" type="enum" class="com.install4j.runtime.beans.actions.desktop.MacAssociationRole" value="EDITOR" />
                       <property name="restartFinder" type="boolean" value="true" />
                       <property name="unix" type="boolean" value="true" />
                           <string>Jalview-File.png</string>
                         </object>
                       </property>
-                      <property name="unixMimeType" type="string">application/x-clustal+txt</property>
+                      <property name="unixMimeType" type="string">application/x-jalview-annotations+text</property>
                       <property name="windowsIconFile">
                         <object class="com.install4j.api.beans.ExternalFile">
                           <string>Jalview-File.ico</string>
                   </action>
 <!-- END -->
 
-<!-- Fasta (.fa, .fasta) BEGIN -->
-                  <action id="10021" beanClass="com.install4j.runtime.beans.actions.control.SetMessageAction" actionElevationType="none" rollbackBarrierExitCode="0">
+<!-- BioJSON (.biojson) BEGIN -->
+                  <action name="BioJSON (.biojson) message" id="10021" customizedId="BioJSON-biojson-10021-message" beanClass="com.install4j.runtime.beans.actions.control.SetMessageAction" actionElevationType="none" rollbackBarrierExitCode="0">
                     <serializedBean>
-                      <property name="detailMessage" type="string">Fasta (.fa, .fasta)</property>
+                      <property name="detailMessage" type="string">BioJSON (.biojson)</property>
                       <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="10022" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" actionElevationType="none" rollbackBarrierExitCode="0">
+                  <action name="BioJSON (.biojson) progress bar 34" id="10022" customizedId="BioJSON-biojson-10022-progressbar" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" actionElevationType="none" rollbackBarrierExitCode="0">
                     <serializedBean>
                       <property name="percentValue" type="int" value="34" />
                     </serializedBean>
                   </action>
 
-                  <action id="10023" beanClass="com.install4j.runtime.beans.actions.desktop.CreateFileAssociationAction" actionElevationType="elevated" rollbackBarrierExitCode="0" errorMessage="Could not make .fa,fasta file association">
+                  <action name="BioJSON (.biojson) file association" id="10023" customizedId="BioJSON-biojson-10023-fileassociation" beanClass="com.install4j.runtime.beans.actions.desktop.CreateFileAssociationAction" actionElevationType="elevated" rollbackBarrierExitCode="0" errorMessage="Could not make .biojson file association">
                     <serializedBean>
-                      <property name="description" type="string">Fasta File</property>
-                      <property name="extension" type="string">fa,fasta</property>
+                      <property name="description" type="string">BioJSON File</property>
+                      <property name="extension" type="string">biojson</property>
                       <property name="launcherId" type="string">737</property>
+                      <property name="selected" type="boolean" value="true" />
                       <property name="macIconFile">
                         <object class="com.install4j.api.beans.ExternalFile">
                           <string>Jalview-File.icns</string>
                         </object>
                       </property>
-                      <!--<property name="macMimeType" type="string">application/x-fasta+txt</property>-->
+                      <!--<property name="macMimeType" type="string">application/x-jalview-biojson+json</property>-->
                       <property name="macRole" type="enum" class="com.install4j.runtime.beans.actions.desktop.MacAssociationRole" value="EDITOR" />
                       <property name="restartFinder" type="boolean" value="true" />
                       <property name="unix" type="boolean" value="true" />
                           <string>Jalview-File.png</string>
                         </object>
                       </property>
-                      <property name="unixMimeType" type="string">application/x-fasta+txt</property>
+                      <property name="unixMimeType" type="string">application/x-jalview-biojson+json</property>
                       <property name="windowsIconFile">
                         <object class="com.install4j.api.beans.ExternalFile">
                           <string>Jalview-File.ico</string>
                   </action>
 <!-- END -->
 
-<!-- Jalview Features (.features, .jvfeatures) BEGIN -->
-                  <action id="10024" beanClass="com.install4j.runtime.beans.actions.control.SetMessageAction" actionElevationType="none" rollbackBarrierExitCode="0">
+<!-- BLC (.blc) BEGIN -->
+                  <action name="BLC (.blc) message" id="10024" customizedId="BLC-blc-10024-message" beanClass="com.install4j.runtime.beans.actions.control.SetMessageAction" actionElevationType="none" rollbackBarrierExitCode="0">
                     <serializedBean>
-                      <property name="detailMessage" type="string">Jalview Features (.features, .jvfeatures)</property>
+                      <property name="detailMessage" type="string">BLC (.blc)</property>
                       <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="10025" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" actionElevationType="none" rollbackBarrierExitCode="0">
+                  <action name="BLC (.blc) progress bar 39" id="10025" customizedId="BLC-blc-10025-progressbar" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" actionElevationType="none" rollbackBarrierExitCode="0">
                     <serializedBean>
                       <property name="percentValue" type="int" value="39" />
                     </serializedBean>
                   </action>
 
-                  <action id="10026" beanClass="com.install4j.runtime.beans.actions.desktop.CreateFileAssociationAction" actionElevationType="elevated" rollbackBarrierExitCode="0" errorMessage="Could not make .features,jvfeatures file association">
+                  <action name="BLC (.blc) file association" id="10026" customizedId="BLC-blc-10026-fileassociation" beanClass="com.install4j.runtime.beans.actions.desktop.CreateFileAssociationAction" actionElevationType="elevated" rollbackBarrierExitCode="0" errorMessage="Could not make .blc file association">
                     <serializedBean>
-                      <property name="description" type="string">Jalview Features File</property>
-                      <property name="extension" type="string">features,jvfeatures</property>
+                      <property name="description" type="string">BLC File</property>
+                      <property name="extension" type="string">blc</property>
                       <property name="launcherId" type="string">737</property>
+                      <property name="selected" type="boolean" value="true" />
                       <property name="macIconFile">
                         <object class="com.install4j.api.beans.ExternalFile">
                           <string>Jalview-File.icns</string>
                         </object>
                       </property>
-                      <!--<property name="macMimeType" type="string">application/x-jalview-features+text</property>-->
+                      <!--<property name="macMimeType" type="string">application/x-blc+txt</property>-->
                       <property name="macRole" type="enum" class="com.install4j.runtime.beans.actions.desktop.MacAssociationRole" value="EDITOR" />
                       <property name="restartFinder" type="boolean" value="true" />
                       <property name="unix" type="boolean" value="true" />
                           <string>Jalview-File.png</string>
                         </object>
                       </property>
-                      <property name="unixMimeType" type="string">application/x-jalview-features+text</property>
+                      <property name="unixMimeType" type="string">application/x-blc+txt</property>
                       <property name="windowsIconFile">
                         <object class="com.install4j.api.beans.ExternalFile">
                           <string>Jalview-File.ico</string>
                   </action>
 <!-- END -->
 
-<!-- Generic Features Format v2 (.gff2) BEGIN -->
-                  <action id="10027" beanClass="com.install4j.runtime.beans.actions.control.SetMessageAction" actionElevationType="none" rollbackBarrierExitCode="0">
+<!-- Clustal (.aln) BEGIN -->
+                  <action name="Clustal (.aln) message" id="10027" customizedId="Clustal-aln-10027-message" beanClass="com.install4j.runtime.beans.actions.control.SetMessageAction" actionElevationType="none" rollbackBarrierExitCode="0">
                     <serializedBean>
-                      <property name="detailMessage" type="string">Generic Features Format v2 (.gff2)</property>
+                      <property name="detailMessage" type="string">Clustal (.aln)</property>
                       <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="10028" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" actionElevationType="none" rollbackBarrierExitCode="0">
+                  <action name="Clustal (.aln) progress bar 43" id="10028" customizedId="Clustal-aln-10028-progressbar" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" actionElevationType="none" rollbackBarrierExitCode="0">
                     <serializedBean>
                       <property name="percentValue" type="int" value="43" />
                     </serializedBean>
                   </action>
 
-                  <action id="10029" beanClass="com.install4j.runtime.beans.actions.desktop.CreateFileAssociationAction" actionElevationType="elevated" rollbackBarrierExitCode="0" errorMessage="Could not make .gff2 file association">
+                  <action name="Clustal (.aln) file association" id="10029" customizedId="Clustal-aln-10029-fileassociation" beanClass="com.install4j.runtime.beans.actions.desktop.CreateFileAssociationAction" actionElevationType="elevated" rollbackBarrierExitCode="0" errorMessage="Could not make .aln file association">
                     <serializedBean>
-                      <property name="description" type="string">Generic Features Format v2 File</property>
-                      <property name="extension" type="string">gff2</property>
+                      <property name="description" type="string">Clustal File</property>
+                      <property name="extension" type="string">aln</property>
                       <property name="launcherId" type="string">737</property>
+                      <property name="selected" type="boolean" value="true" />
                       <property name="macIconFile">
                         <object class="com.install4j.api.beans.ExternalFile">
                           <string>Jalview-File.icns</string>
                         </object>
                       </property>
-                      <!--<property name="macMimeType" type="string">application/x-gff2+txt</property>-->
+                      <!--<property name="macMimeType" type="string">application/x-clustal+txt</property>-->
                       <property name="macRole" type="enum" class="com.install4j.runtime.beans.actions.desktop.MacAssociationRole" value="EDITOR" />
                       <property name="restartFinder" type="boolean" value="true" />
                       <property name="unix" type="boolean" value="true" />
                           <string>Jalview-File.png</string>
                         </object>
                       </property>
-                      <property name="unixMimeType" type="string">application/x-gff2+txt</property>
+                      <property name="unixMimeType" type="string">application/x-clustal+txt</property>
                       <property name="windowsIconFile">
                         <object class="com.install4j.api.beans.ExternalFile">
                           <string>Jalview-File.ico</string>
                   </action>
 <!-- END -->
 
-<!-- Generic Features Format v3 (.gff3) BEGIN -->
-                  <action id="10030" beanClass="com.install4j.runtime.beans.actions.control.SetMessageAction" actionElevationType="none" rollbackBarrierExitCode="0">
+<!-- Fasta (.fa, .fasta) BEGIN -->
+                  <action name="Fasta (.fa, .fasta) message" id="10030" customizedId="Fasta-fa,fasta-10030-message" beanClass="com.install4j.runtime.beans.actions.control.SetMessageAction" actionElevationType="none" rollbackBarrierExitCode="0">
                     <serializedBean>
-                      <property name="detailMessage" type="string">Generic Features Format v3 (.gff3)</property>
+                      <property name="detailMessage" type="string">Fasta (.fa, .fasta)</property>
                       <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="10031" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" actionElevationType="none" rollbackBarrierExitCode="0">
+                  <action name="Fasta (.fa, .fasta) progress bar 47" id="10031" customizedId="Fasta-fa,fasta-10031-progressbar" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" actionElevationType="none" rollbackBarrierExitCode="0">
                     <serializedBean>
                       <property name="percentValue" type="int" value="47" />
                     </serializedBean>
                   </action>
 
-                  <action id="10032" beanClass="com.install4j.runtime.beans.actions.desktop.CreateFileAssociationAction" actionElevationType="elevated" rollbackBarrierExitCode="0" errorMessage="Could not make .gff3 file association">
+                  <action name="Fasta (.fa, .fasta) file association" id="10032" customizedId="Fasta-fa,fasta-10032-fileassociation" beanClass="com.install4j.runtime.beans.actions.desktop.CreateFileAssociationAction" actionElevationType="elevated" rollbackBarrierExitCode="0" errorMessage="Could not make .fa,fasta file association">
                     <serializedBean>
-                      <property name="description" type="string">Generic Features Format v3 File</property>
-                      <property name="extension" type="string">gff3</property>
+                      <property name="description" type="string">Fasta File</property>
+                      <property name="extension" type="string">fa,fasta</property>
                       <property name="launcherId" type="string">737</property>
+                      <property name="selected" type="boolean" value="true" />
                       <property name="macIconFile">
                         <object class="com.install4j.api.beans.ExternalFile">
                           <string>Jalview-File.icns</string>
                         </object>
                       </property>
-                      <!--<property name="macMimeType" type="string">application/x-gff3+txt</property>-->
+                      <!--<property name="macMimeType" type="string">application/x-fasta+txt</property>-->
                       <property name="macRole" type="enum" class="com.install4j.runtime.beans.actions.desktop.MacAssociationRole" value="EDITOR" />
                       <property name="restartFinder" type="boolean" value="true" />
                       <property name="unix" type="boolean" value="true" />
                           <string>Jalview-File.png</string>
                         </object>
                       </property>
-                      <property name="unixMimeType" type="string">application/x-gff3+txt</property>
+                      <property name="unixMimeType" type="string">application/x-fasta+txt</property>
                       <property name="windowsIconFile">
                         <object class="com.install4j.api.beans.ExternalFile">
                           <string>Jalview-File.ico</string>
                   </action>
 <!-- END -->
 
-<!-- JnetFile (.concise, .jnet) BEGIN -->
-                  <action id="10033" beanClass="com.install4j.runtime.beans.actions.control.SetMessageAction" actionElevationType="none" rollbackBarrierExitCode="0">
+<!-- Jalview Features (.features, .jvfeatures) BEGIN -->
+                  <action name="Jalview Features (.features, .jvfeatures) message" id="10033" customizedId="Jalview Features-features,jvfeatures-10033-message" beanClass="com.install4j.runtime.beans.actions.control.SetMessageAction" actionElevationType="none" rollbackBarrierExitCode="0">
                     <serializedBean>
-                      <property name="detailMessage" type="string">JnetFile (.concise, .jnet)</property>
+                      <property name="detailMessage" type="string">Jalview Features (.features, .jvfeatures)</property>
                       <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="10034" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" actionElevationType="none" rollbackBarrierExitCode="0">
+                  <action name="Jalview Features (.features, .jvfeatures) progress bar 52" id="10034" customizedId="Jalview Features-features,jvfeatures-10034-progressbar" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" actionElevationType="none" rollbackBarrierExitCode="0">
                     <serializedBean>
                       <property name="percentValue" type="int" value="52" />
                     </serializedBean>
                   </action>
 
-                  <action id="10035" beanClass="com.install4j.runtime.beans.actions.desktop.CreateFileAssociationAction" actionElevationType="elevated" rollbackBarrierExitCode="0" errorMessage="Could not make .concise,jnet file association">
+                  <action name="Jalview Features (.features, .jvfeatures) file association" id="10035" customizedId="Jalview Features-features,jvfeatures-10035-fileassociation" beanClass="com.install4j.runtime.beans.actions.desktop.CreateFileAssociationAction" actionElevationType="elevated" rollbackBarrierExitCode="0" errorMessage="Could not make .features,jvfeatures file association">
                     <serializedBean>
-                      <property name="description" type="string">JnetFile File</property>
-                      <property name="extension" type="string">concise,jnet</property>
+                      <property name="description" type="string">Jalview Features File</property>
+                      <property name="extension" type="string">features,jvfeatures</property>
                       <property name="launcherId" type="string">737</property>
+                      <property name="selected" type="boolean" value="true" />
                       <property name="macIconFile">
                         <object class="com.install4j.api.beans.ExternalFile">
                           <string>Jalview-File.icns</string>
                         </object>
                       </property>
-                      <!--<property name="macMimeType" type="string">application/x-jalview-jnet+text</property>-->
+                      <!--<property name="macMimeType" type="string">application/x-jalview-features+text</property>-->
                       <property name="macRole" type="enum" class="com.install4j.runtime.beans.actions.desktop.MacAssociationRole" value="EDITOR" />
                       <property name="restartFinder" type="boolean" value="true" />
                       <property name="unix" type="boolean" value="true" />
                           <string>Jalview-File.png</string>
                         </object>
                       </property>
-                      <property name="unixMimeType" type="string">application/x-jalview-jnet+text</property>
+                      <property name="unixMimeType" type="string">application/x-jalview-features+text</property>
                       <property name="windowsIconFile">
                         <object class="com.install4j.api.beans.ExternalFile">
                           <string>Jalview-File.ico</string>
                   </action>
 <!-- END -->
 
-<!-- mmCIF (.cif) BEGIN -->
-                  <action id="10036" beanClass="com.install4j.runtime.beans.actions.control.SetMessageAction" actionElevationType="none" rollbackBarrierExitCode="0">
+<!-- Generic Features Format v2 (.gff2) BEGIN -->
+                  <action name="Generic Features Format v2 (.gff2) message" id="10036" customizedId="Generic Features Format v2-gff2-10036-message" beanClass="com.install4j.runtime.beans.actions.control.SetMessageAction" actionElevationType="none" rollbackBarrierExitCode="0">
                     <serializedBean>
-                      <property name="detailMessage" type="string">mmCIF (.cif)</property>
+                      <property name="detailMessage" type="string">Generic Features Format v2 (.gff2)</property>
                       <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="10037" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" actionElevationType="none" rollbackBarrierExitCode="0">
+                  <action name="Generic Features Format v2 (.gff2) progress bar 56" id="10037" customizedId="Generic Features Format v2-gff2-10037-progressbar" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" actionElevationType="none" rollbackBarrierExitCode="0">
                     <serializedBean>
                       <property name="percentValue" type="int" value="56" />
                     </serializedBean>
                   </action>
 
-                  <action id="10038" beanClass="com.install4j.runtime.beans.actions.desktop.CreateFileAssociationAction" actionElevationType="elevated" rollbackBarrierExitCode="0" errorMessage="Could not make .cif file association">
+                  <action name="Generic Features Format v2 (.gff2) file association" id="10038" customizedId="Generic Features Format v2-gff2-10038-fileassociation" beanClass="com.install4j.runtime.beans.actions.desktop.CreateFileAssociationAction" actionElevationType="elevated" rollbackBarrierExitCode="0" errorMessage="Could not make .gff2 file association">
                     <serializedBean>
-                      <property name="description" type="string">mmCIF File</property>
-                      <property name="extension" type="string">cif</property>
+                      <property name="description" type="string">Generic Features Format v2 File</property>
+                      <property name="extension" type="string">gff2</property>
                       <property name="launcherId" type="string">737</property>
+                      <property name="selected" type="boolean" value="true" />
                       <property name="macIconFile">
                         <object class="com.install4j.api.beans.ExternalFile">
                           <string>Jalview-File.icns</string>
                         </object>
                       </property>
-                      <!--<property name="macMimeType" type="string">chemical/x-cif</property>-->
+                      <!--<property name="macMimeType" type="string">application/x-gff2+txt</property>-->
                       <property name="macRole" type="enum" class="com.install4j.runtime.beans.actions.desktop.MacAssociationRole" value="EDITOR" />
                       <property name="restartFinder" type="boolean" value="true" />
                       <property name="unix" type="boolean" value="true" />
                           <string>Jalview-File.png</string>
                         </object>
                       </property>
-                      <property name="unixMimeType" type="string">chemical/x-cif</property>
+                      <property name="unixMimeType" type="string">application/x-gff2+txt</property>
                       <property name="windowsIconFile">
                         <object class="com.install4j.api.beans.ExternalFile">
                           <string>Jalview-File.ico</string>
                   </action>
 <!-- END -->
 
-<!-- mmCIF (.mcif, .mmcif) BEGIN -->
-                  <action id="10039" beanClass="com.install4j.runtime.beans.actions.control.SetMessageAction" actionElevationType="none" rollbackBarrierExitCode="0">
+<!-- Generic Features Format v3 (.gff3) BEGIN -->
+                  <action name="Generic Features Format v3 (.gff3) message" id="10039" customizedId="Generic Features Format v3-gff3-10039-message" beanClass="com.install4j.runtime.beans.actions.control.SetMessageAction" actionElevationType="none" rollbackBarrierExitCode="0">
                     <serializedBean>
-                      <property name="detailMessage" type="string">mmCIF (.mcif, .mmcif)</property>
+                      <property name="detailMessage" type="string">Generic Features Format v3 (.gff3)</property>
                       <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="10040" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" actionElevationType="none" rollbackBarrierExitCode="0">
+                  <action name="Generic Features Format v3 (.gff3) progress bar 60" id="10040" customizedId="Generic Features Format v3-gff3-10040-progressbar" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" actionElevationType="none" rollbackBarrierExitCode="0">
                     <serializedBean>
                       <property name="percentValue" type="int" value="60" />
                     </serializedBean>
                   </action>
 
-                  <action id="10041" beanClass="com.install4j.runtime.beans.actions.desktop.CreateFileAssociationAction" actionElevationType="elevated" rollbackBarrierExitCode="0" errorMessage="Could not make .mcif,mmcif file association">
+                  <action name="Generic Features Format v3 (.gff3) file association" id="10041" customizedId="Generic Features Format v3-gff3-10041-fileassociation" beanClass="com.install4j.runtime.beans.actions.desktop.CreateFileAssociationAction" actionElevationType="elevated" rollbackBarrierExitCode="0" errorMessage="Could not make .gff3 file association">
                     <serializedBean>
-                      <property name="description" type="string">mmCIF File</property>
-                      <property name="extension" type="string">mcif,mmcif</property>
+                      <property name="description" type="string">Generic Features Format v3 File</property>
+                      <property name="extension" type="string">gff3</property>
                       <property name="launcherId" type="string">737</property>
+                      <property name="selected" type="boolean" value="true" />
                       <property name="macIconFile">
                         <object class="com.install4j.api.beans.ExternalFile">
                           <string>Jalview-File.icns</string>
                         </object>
                       </property>
-                      <!--<property name="macMimeType" type="string">chemical/x-mcif</property>-->
+                      <!--<property name="macMimeType" type="string">application/x-gff3+txt</property>-->
                       <property name="macRole" type="enum" class="com.install4j.runtime.beans.actions.desktop.MacAssociationRole" value="EDITOR" />
                       <property name="restartFinder" type="boolean" value="true" />
                       <property name="unix" type="boolean" value="true" />
                           <string>Jalview-File.png</string>
                         </object>
                       </property>
-                      <property name="unixMimeType" type="string">chemical/x-mcif</property>
+                      <property name="unixMimeType" type="string">application/x-gff3+txt</property>
                       <property name="windowsIconFile">
                         <object class="com.install4j.api.beans.ExternalFile">
                           <string>Jalview-File.ico</string>
                   </action>
 <!-- END -->
 
-<!-- MSF (.msf) BEGIN -->
-                  <action id="10042" beanClass="com.install4j.runtime.beans.actions.control.SetMessageAction" actionElevationType="none" rollbackBarrierExitCode="0">
+<!-- JnetFile (.concise, .jnet) BEGIN -->
+                  <action name="JnetFile (.concise, .jnet) message" id="10042" customizedId="JnetFile-concise,jnet-10042-message" beanClass="com.install4j.runtime.beans.actions.control.SetMessageAction" actionElevationType="none" rollbackBarrierExitCode="0">
                     <serializedBean>
-                      <property name="detailMessage" type="string">MSF (.msf)</property>
+                      <property name="detailMessage" type="string">JnetFile (.concise, .jnet)</property>
                       <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="10043" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" actionElevationType="none" rollbackBarrierExitCode="0">
+                  <action name="JnetFile (.concise, .jnet) progress bar 65" id="10043" customizedId="JnetFile-concise,jnet-10043-progressbar" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" actionElevationType="none" rollbackBarrierExitCode="0">
                     <serializedBean>
                       <property name="percentValue" type="int" value="65" />
                     </serializedBean>
                   </action>
 
-                  <action id="10044" beanClass="com.install4j.runtime.beans.actions.desktop.CreateFileAssociationAction" actionElevationType="elevated" rollbackBarrierExitCode="0" errorMessage="Could not make .msf file association">
+                  <action name="JnetFile (.concise, .jnet) file association" id="10044" customizedId="JnetFile-concise,jnet-10044-fileassociation" beanClass="com.install4j.runtime.beans.actions.desktop.CreateFileAssociationAction" actionElevationType="elevated" rollbackBarrierExitCode="0" errorMessage="Could not make .concise,jnet file association">
                     <serializedBean>
-                      <property name="description" type="string">MSF File</property>
-                      <property name="extension" type="string">msf</property>
+                      <property name="description" type="string">JnetFile File</property>
+                      <property name="extension" type="string">concise,jnet</property>
                       <property name="launcherId" type="string">737</property>
+                      <property name="selected" type="boolean" value="true" />
                       <property name="macIconFile">
                         <object class="com.install4j.api.beans.ExternalFile">
                           <string>Jalview-File.icns</string>
                         </object>
                       </property>
-                      <!--<property name="macMimeType" type="string">application/x-msf+txt</property>-->
+                      <!--<property name="macMimeType" type="string">application/x-jalview-jnet+text</property>-->
                       <property name="macRole" type="enum" class="com.install4j.runtime.beans.actions.desktop.MacAssociationRole" value="EDITOR" />
                       <property name="restartFinder" type="boolean" value="true" />
                       <property name="unix" type="boolean" value="true" />
                           <string>Jalview-File.png</string>
                         </object>
                       </property>
-                      <property name="unixMimeType" type="string">application/x-msf+txt</property>
+                      <property name="unixMimeType" type="string">application/x-jalview-jnet+text</property>
                       <property name="windowsIconFile">
                         <object class="com.install4j.api.beans.ExternalFile">
                           <string>Jalview-File.ico</string>
                   </action>
 <!-- END -->
 
-<!-- PDB (.ent, .pdb) BEGIN -->
-                  <action id="10045" beanClass="com.install4j.runtime.beans.actions.control.SetMessageAction" actionElevationType="none" rollbackBarrierExitCode="0">
+<!-- MSF (.msf) BEGIN -->
+                  <action name="MSF (.msf) message" id="10045" customizedId="MSF-msf-10045-message" beanClass="com.install4j.runtime.beans.actions.control.SetMessageAction" actionElevationType="none" rollbackBarrierExitCode="0">
                     <serializedBean>
-                      <property name="detailMessage" type="string">PDB (.ent, .pdb)</property>
+                      <property name="detailMessage" type="string">MSF (.msf)</property>
                       <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="10046" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" actionElevationType="none" rollbackBarrierExitCode="0">
+                  <action name="MSF (.msf) progress bar 69" id="10046" customizedId="MSF-msf-10046-progressbar" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" actionElevationType="none" rollbackBarrierExitCode="0">
                     <serializedBean>
                       <property name="percentValue" type="int" value="69" />
                     </serializedBean>
                   </action>
 
-                  <action id="10047" beanClass="com.install4j.runtime.beans.actions.desktop.CreateFileAssociationAction" actionElevationType="elevated" rollbackBarrierExitCode="0" errorMessage="Could not make .ent,pdb file association">
+                  <action name="MSF (.msf) file association" id="10047" customizedId="MSF-msf-10047-fileassociation" beanClass="com.install4j.runtime.beans.actions.desktop.CreateFileAssociationAction" actionElevationType="elevated" rollbackBarrierExitCode="0" errorMessage="Could not make .msf file association">
                     <serializedBean>
-                      <property name="description" type="string">PDB File</property>
-                      <property name="extension" type="string">ent,pdb</property>
+                      <property name="description" type="string">MSF File</property>
+                      <property name="extension" type="string">msf</property>
                       <property name="launcherId" type="string">737</property>
+                      <property name="selected" type="boolean" value="true" />
                       <property name="macIconFile">
                         <object class="com.install4j.api.beans.ExternalFile">
                           <string>Jalview-File.icns</string>
                         </object>
                       </property>
-                      <!--<property name="macMimeType" type="string">chemical/x-pdb</property>-->
+                      <!--<property name="macMimeType" type="string">application/x-msf+txt</property>-->
                       <property name="macRole" type="enum" class="com.install4j.runtime.beans.actions.desktop.MacAssociationRole" value="EDITOR" />
                       <property name="restartFinder" type="boolean" value="true" />
                       <property name="unix" type="boolean" value="true" />
                           <string>Jalview-File.png</string>
                         </object>
                       </property>
-                      <property name="unixMimeType" type="string">chemical/x-pdb</property>
+                      <property name="unixMimeType" type="string">application/x-msf+txt</property>
                       <property name="windowsIconFile">
                         <object class="com.install4j.api.beans.ExternalFile">
                           <string>Jalview-File.ico</string>
 <!-- END -->
 
 <!-- PFAM (.pfam) BEGIN -->
-                  <action id="10048" beanClass="com.install4j.runtime.beans.actions.control.SetMessageAction" actionElevationType="none" rollbackBarrierExitCode="0">
+                  <action name="PFAM (.pfam) message" id="10048" customizedId="PFAM-pfam-10048-message" beanClass="com.install4j.runtime.beans.actions.control.SetMessageAction" actionElevationType="none" rollbackBarrierExitCode="0">
                     <serializedBean>
                       <property name="detailMessage" type="string">PFAM (.pfam)</property>
                       <property name="statusMessage" type="string">Creating file associations...</property>
                     </serializedBean>
                   </action>
 
-                  <action id="10049" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" actionElevationType="none" rollbackBarrierExitCode="0">
+                  <action name="PFAM (.pfam) progress bar 73" id="10049" customizedId="PFAM-pfam-10049-progressbar" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" actionElevationType="none" rollbackBarrierExitCode="0">
                     <serializedBean>
                       <property name="percentValue" type="int" value="73" />
                     </serializedBean>
                   </action>
 
-                  <action id="10050" beanClass="com.install4j.runtime.beans.actions.desktop.CreateFileAssociationAction" actionElevationType="elevated" rollbackBarrierExitCode="0" errorMessage="Could not make .pfam file association">
+                  <action name="PFAM (.pfam) file association" id="10050" customizedId="PFAM-pfam-10050-fileassociation" beanClass="com.install4j.runtime.beans.actions.desktop.CreateFileAssociationAction" actionElevationType="elevated" rollbackBarrierExitCode="0" errorMessage="Could not make .pfam file association">
                     <serializedBean>
                       <property name="description" type="string">PFAM File</property>
                       <property name="extension" type="string">pfam</property>
                       <property name="launcherId" type="string">737</property>
+                      <property name="selected" type="boolean" value="true" />
                       <property name="macIconFile">
                         <object class="com.install4j.api.beans.ExternalFile">
                           <string>Jalview-File.icns</string>
 <!-- END -->
 
 <!-- PHYLIP (.phy) BEGIN -->
-                  <action id="10051" beanClass="com.install4j.runtime.beans.actions.control.SetMessageAction" actionElevationType="none" rollbackBarrierExitCode="0">
+                  <action name="PHYLIP (.phy) message" id="10051" customizedId="PHYLIP-phy-10051-message" beanClass="com.install4j.runtime.beans.actions.control.SetMessageAction" actionElevationType="none" rollbackBarrierExitCode="0">
                     <serializedBean>
                       <property name="detailMessage" type="string">PHYLIP (.phy)</property>
                       <property name="statusMessage" type="string">Creating file associations...</property>
                     </serializedBean>
                   </action>
 
-                  <action id="10052" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" actionElevationType="none" rollbackBarrierExitCode="0">
+                  <action name="PHYLIP (.phy) progress bar 78" id="10052" customizedId="PHYLIP-phy-10052-progressbar" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" actionElevationType="none" rollbackBarrierExitCode="0">
                     <serializedBean>
                       <property name="percentValue" type="int" value="78" />
                     </serializedBean>
                   </action>
 
-                  <action id="10053" beanClass="com.install4j.runtime.beans.actions.desktop.CreateFileAssociationAction" actionElevationType="elevated" rollbackBarrierExitCode="0" errorMessage="Could not make .phy file association">
+                  <action name="PHYLIP (.phy) file association" id="10053" customizedId="PHYLIP-phy-10053-fileassociation" beanClass="com.install4j.runtime.beans.actions.desktop.CreateFileAssociationAction" actionElevationType="elevated" rollbackBarrierExitCode="0" errorMessage="Could not make .phy file association">
                     <serializedBean>
                       <property name="description" type="string">PHYLIP File</property>
                       <property name="extension" type="string">phy</property>
                       <property name="launcherId" type="string">737</property>
+                      <property name="selected" type="boolean" value="true" />
                       <property name="macIconFile">
                         <object class="com.install4j.api.beans.ExternalFile">
                           <string>Jalview-File.icns</string>
 <!-- END -->
 
 <!-- PileUp (.pileup) BEGIN -->
-                  <action id="10054" beanClass="com.install4j.runtime.beans.actions.control.SetMessageAction" actionElevationType="none" rollbackBarrierExitCode="0">
+                  <action name="PileUp (.pileup) message" id="10054" customizedId="PileUp-pileup-10054-message" beanClass="com.install4j.runtime.beans.actions.control.SetMessageAction" actionElevationType="none" rollbackBarrierExitCode="0">
                     <serializedBean>
                       <property name="detailMessage" type="string">PileUp (.pileup)</property>
                       <property name="statusMessage" type="string">Creating file associations...</property>
                     </serializedBean>
                   </action>
 
-                  <action id="10055" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" actionElevationType="none" rollbackBarrierExitCode="0">
+                  <action name="PileUp (.pileup) progress bar 82" id="10055" customizedId="PileUp-pileup-10055-progressbar" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" actionElevationType="none" rollbackBarrierExitCode="0">
                     <serializedBean>
                       <property name="percentValue" type="int" value="82" />
                     </serializedBean>
                   </action>
 
-                  <action id="10056" beanClass="com.install4j.runtime.beans.actions.desktop.CreateFileAssociationAction" actionElevationType="elevated" rollbackBarrierExitCode="0" errorMessage="Could not make .pileup file association">
+                  <action name="PileUp (.pileup) file association" id="10056" customizedId="PileUp-pileup-10056-fileassociation" beanClass="com.install4j.runtime.beans.actions.desktop.CreateFileAssociationAction" actionElevationType="elevated" rollbackBarrierExitCode="0" errorMessage="Could not make .pileup file association">
                     <serializedBean>
                       <property name="description" type="string">PileUp File</property>
                       <property name="extension" type="string">pileup</property>
                       <property name="launcherId" type="string">737</property>
+                      <property name="selected" type="boolean" value="true" />
                       <property name="macIconFile">
                         <object class="com.install4j.api.beans.ExternalFile">
                           <string>Jalview-File.icns</string>
 <!-- END -->
 
 <!-- PIR (.pir) BEGIN -->
-                  <action id="10057" beanClass="com.install4j.runtime.beans.actions.control.SetMessageAction" actionElevationType="none" rollbackBarrierExitCode="0">
+                  <action name="PIR (.pir) message" id="10057" customizedId="PIR-pir-10057-message" beanClass="com.install4j.runtime.beans.actions.control.SetMessageAction" actionElevationType="none" rollbackBarrierExitCode="0">
                     <serializedBean>
                       <property name="detailMessage" type="string">PIR (.pir)</property>
                       <property name="statusMessage" type="string">Creating file associations...</property>
                     </serializedBean>
                   </action>
 
-                  <action id="10058" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" actionElevationType="none" rollbackBarrierExitCode="0">
+                  <action name="PIR (.pir) progress bar 86" id="10058" customizedId="PIR-pir-10058-progressbar" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" actionElevationType="none" rollbackBarrierExitCode="0">
                     <serializedBean>
                       <property name="percentValue" type="int" value="86" />
                     </serializedBean>
                   </action>
 
-                  <action id="10059" beanClass="com.install4j.runtime.beans.actions.desktop.CreateFileAssociationAction" actionElevationType="elevated" rollbackBarrierExitCode="0" errorMessage="Could not make .pir file association">
+                  <action name="PIR (.pir) file association" id="10059" customizedId="PIR-pir-10059-fileassociation" beanClass="com.install4j.runtime.beans.actions.desktop.CreateFileAssociationAction" actionElevationType="elevated" rollbackBarrierExitCode="0" errorMessage="Could not make .pir file association">
                     <serializedBean>
                       <property name="description" type="string">PIR File</property>
                       <property name="extension" type="string">pir</property>
                       <property name="launcherId" type="string">737</property>
+                      <property name="selected" type="boolean" value="true" />
                       <property name="macIconFile">
                         <object class="com.install4j.api.beans.ExternalFile">
                           <string>Jalview-File.icns</string>
 <!-- END -->
 
 <!-- RNAML (.rnaml) BEGIN -->
-                  <action id="10060" beanClass="com.install4j.runtime.beans.actions.control.SetMessageAction" actionElevationType="none" rollbackBarrierExitCode="0">
+                  <action name="RNAML (.rnaml) message" id="10060" customizedId="RNAML-rnaml-10060-message" beanClass="com.install4j.runtime.beans.actions.control.SetMessageAction" actionElevationType="none" rollbackBarrierExitCode="0">
                     <serializedBean>
                       <property name="detailMessage" type="string">RNAML (.rnaml)</property>
                       <property name="statusMessage" type="string">Creating file associations...</property>
                     </serializedBean>
                   </action>
 
-                  <action id="10061" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" actionElevationType="none" rollbackBarrierExitCode="0">
+                  <action name="RNAML (.rnaml) progress bar 91" id="10061" customizedId="RNAML-rnaml-10061-progressbar" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" actionElevationType="none" rollbackBarrierExitCode="0">
                     <serializedBean>
                       <property name="percentValue" type="int" value="91" />
                     </serializedBean>
                   </action>
 
-                  <action id="10062" beanClass="com.install4j.runtime.beans.actions.desktop.CreateFileAssociationAction" actionElevationType="elevated" rollbackBarrierExitCode="0" errorMessage="Could not make .rnaml file association">
+                  <action name="RNAML (.rnaml) file association" id="10062" customizedId="RNAML-rnaml-10062-fileassociation" beanClass="com.install4j.runtime.beans.actions.desktop.CreateFileAssociationAction" actionElevationType="elevated" rollbackBarrierExitCode="0" errorMessage="Could not make .rnaml file association">
                     <serializedBean>
                       <property name="description" type="string">RNAML File</property>
                       <property name="extension" type="string">rnaml</property>
                       <property name="launcherId" type="string">737</property>
+                      <property name="selected" type="boolean" value="true" />
                       <property name="macIconFile">
                         <object class="com.install4j.api.beans.ExternalFile">
                           <string>Jalview-File.icns</string>
 <!-- END -->
 
 <!-- Substitution Matrix (.mat) BEGIN -->
-                  <action id="10063" beanClass="com.install4j.runtime.beans.actions.control.SetMessageAction" actionElevationType="none" rollbackBarrierExitCode="0">
+                  <action name="Substitution Matrix (.mat) message" id="10063" customizedId="Substitution Matrix-mat-10063-message" beanClass="com.install4j.runtime.beans.actions.control.SetMessageAction" actionElevationType="none" rollbackBarrierExitCode="0">
                     <serializedBean>
                       <property name="detailMessage" type="string">Substitution Matrix (.mat)</property>
                       <property name="statusMessage" type="string">Creating file associations...</property>
                     </serializedBean>
                   </action>
 
-                  <action id="10064" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" actionElevationType="none" rollbackBarrierExitCode="0">
+                  <action name="Substitution Matrix (.mat) progress bar 95" id="10064" customizedId="Substitution Matrix-mat-10064-progressbar" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" actionElevationType="none" rollbackBarrierExitCode="0">
                     <serializedBean>
                       <property name="percentValue" type="int" value="95" />
                     </serializedBean>
                   </action>
 
-                  <action id="10065" beanClass="com.install4j.runtime.beans.actions.desktop.CreateFileAssociationAction" actionElevationType="elevated" rollbackBarrierExitCode="0" errorMessage="Could not make .mat file association">
+                  <action name="Substitution Matrix (.mat) file association" id="10065" customizedId="Substitution Matrix-mat-10065-fileassociation" beanClass="com.install4j.runtime.beans.actions.desktop.CreateFileAssociationAction" actionElevationType="elevated" rollbackBarrierExitCode="0" errorMessage="Could not make .mat file association">
                     <serializedBean>
                       <property name="description" type="string">Substitution Matrix File</property>
                       <property name="extension" type="string">mat</property>
                       <property name="launcherId" type="string">737</property>
+                      <property name="selected" type="boolean" value="true" />
                       <property name="macIconFile">
                         <object class="com.install4j.api.beans.ExternalFile">
                           <string>Jalview-File.icns</string>
 <!-- END -->
 
 <!-- Stockholm (.stk, .sto) BEGIN -->
-                  <action id="10066" beanClass="com.install4j.runtime.beans.actions.control.SetMessageAction" actionElevationType="none" rollbackBarrierExitCode="0">
+                  <action name="Stockholm (.stk, .sto) message" id="10066" customizedId="Stockholm-stk,sto-10066-message" beanClass="com.install4j.runtime.beans.actions.control.SetMessageAction" actionElevationType="none" rollbackBarrierExitCode="0">
                     <serializedBean>
                       <property name="detailMessage" type="string">Stockholm (.stk, .sto)</property>
                       <property name="statusMessage" type="string">Creating file associations...</property>
                     </serializedBean>
                   </action>
 
-                  <action id="10067" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" actionElevationType="none" rollbackBarrierExitCode="0">
+                  <action name="Stockholm (.stk, .sto) progress bar 100" id="10067" customizedId="Stockholm-stk,sto-10067-progressbar" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" actionElevationType="none" rollbackBarrierExitCode="0">
                     <serializedBean>
                       <property name="percentValue" type="int" value="100" />
                     </serializedBean>
                   </action>
 
-                  <action id="10068" beanClass="com.install4j.runtime.beans.actions.desktop.CreateFileAssociationAction" actionElevationType="elevated" rollbackBarrierExitCode="0" errorMessage="Could not make .stk,sto file association">
+                  <action name="Stockholm (.stk, .sto) file association" id="10068" customizedId="Stockholm-stk,sto-10068-fileassociation" beanClass="com.install4j.runtime.beans.actions.desktop.CreateFileAssociationAction" actionElevationType="elevated" rollbackBarrierExitCode="0" errorMessage="Could not make .stk,sto file association">
                     <serializedBean>
                       <property name="description" type="string">Stockholm File</property>
                       <property name="extension" type="string">stk,sto</property>
                       <property name="launcherId" type="string">737</property>
+                      <property name="selected" type="boolean" value="true" />
                       <property name="macIconFile">
                         <object class="com.install4j.api.beans.ExternalFile">
                           <string>Jalview-File.icns</string>
index 7fa4fed..a260658 100644 (file)
@@ -8,12 +8,12 @@ $$</array>
 <key>CFBundleTypeIconFile</key>
 <string>$$ICONFILE$$.icns</string>
 <key>CFBundleTypeRole</key>
-<string>Editor</string>
+<string>$$ROLE$$</string>
 <key>CFBundleTypeMIMETypes</key>
 <array>
 <string>$$MIMETYPE$$</string>
 </array>
 <key>LSIsAppleDefaultForType</key>
-<true/>
+<$$PRIMARY$$/>
 </dict>
 
index bd1a4e1..ac0393a 100644 (file)
@@ -1,5 +1,5 @@
 <!-- $$NAME$$ ($$DISPLAYEXTENSION$$) BEGIN -->
-                  <action id="$$ID$$" beanClass="com.install4j.runtime.beans.actions.control.SetMessageAction" actionElevationType="none" rollbackBarrierExitCode="0">
+                  <action name="$$NAME$$ ($$DISPLAYEXTENSION$$) message" id="$$ID$$" customizedId="$$NAME$$-$$EXTENSION$$-$$ID$$-message" beanClass="com.install4j.runtime.beans.actions.control.SetMessageAction" actionElevationType="none" rollbackBarrierExitCode="0">
                     <serializedBean>
                       <property name="detailMessage" type="string">$$NAME$$ ($$DISPLAYEXTENSION$$)</property>
                       <property name="statusMessage" type="string">Creating file associations...</property>
@@ -8,17 +8,18 @@
                     </serializedBean>
                   </action>
 
-                  <action id="$$ID1$$" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" actionElevationType="none" rollbackBarrierExitCode="0">
+                  <action name="$$NAME$$ ($$DISPLAYEXTENSION$$) progress bar $$PROGRESSPERCENT$$" id="$$ID1$$" customizedId="$$NAME$$-$$EXTENSION$$-$$ID1$$-progressbar" beanClass="com.install4j.runtime.beans.actions.control.SetProgressAction" actionElevationType="none" rollbackBarrierExitCode="0">
                     <serializedBean>
                       <property name="percentValue" type="int" value="$$PROGRESSPERCENT$$" />
                     </serializedBean>
                   </action>
 
-                  <action id="$$ID2$$" beanClass="com.install4j.runtime.beans.actions.desktop.CreateFileAssociationAction" actionElevationType="elevated" rollbackBarrierExitCode="0" errorMessage="Could not make .$$EXTENSION$$ file association">
+                  <action name="$$NAME$$ ($$DISPLAYEXTENSION$$) file association" id="$$ID2$$" customizedId="$$NAME$$-$$EXTENSION$$-$$ID2$$-fileassociation" beanClass="com.install4j.runtime.beans.actions.desktop.CreateFileAssociationAction" actionElevationType="elevated" rollbackBarrierExitCode="0" errorMessage="Could not make .$$EXTENSION$$ file association">
                     <serializedBean>
                       <property name="description" type="string">$$NAME$$ File</property>
                       <property name="extension" type="string">$$EXTENSION$$</property>
                       <property name="launcherId" type="string">737</property>
+                      <property name="selected" type="boolean" value="$$PRIMARY$$" />
                       <property name="macIconFile">
                         <object class="com.install4j.api.beans.ExternalFile">
                           <string>$$ICONFILE$$.icns</string>
index c94b0c3..c57474b 100644 (file)
@@ -9,27 +9,26 @@
     </searchSequence>
     <variables>
       <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/openjdk-java_vm/getdown/macos-jre11/jre" />
+      <variable name="MACOS_JAVA_VM_TGZ" value="~/buildtools/jre/openjdk-java_vm/install4j/tgz/macos-jre11.tar.gz" />
+      <variable name="WINDOWS_JAVA_VM_DIR" value="~/buildtools/jre/openjdk-java_vm/getdown/windows-jre11/jre" />
+      <variable name="WINDOWS_JAVA_VM_TGZ" value="~/buildtools/jre/openjdk-java_vm/install4j/tgz/windows-jre11.tar.gz" />
+      <variable name="COPYRIGHT_MESSAGE" value="..." />
+      <variable name="MACOS_BUNDLE_ID" value="org.jalview.jalview-desktop" />
+      <variable name="GETDOWN_RESOURCE_DIR" value="resource" />
+      <variable name="GETDOWN_DIST_DIR" value="alt" />
+      <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>
           <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" />
-      </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" />
+      <macStaticAssociationActions mode="selected">
+        <id>2350</id>
+      </macStaticAssociationActions>
       <infoPlist>${compiler:file("${compiler:INFO_PLIST_FILE_ASSOCIATIONS_FILE}")}</infoPlist>
       <iconImageFiles>
         <file path="../../resources/images/JalviewLogo_Huge.png" />
@@ -450,7 +429,7 @@ return console.askOkCancel(message, true);
                   </action>
                 </beans>
               </group>
-              <action id="2350" beanClass="com.install4j.runtime.beans.actions.desktop.UrlHandlerAction" enabled="false" actionElevationType="elevated" rollbackBarrierExitCode="0">
+              <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>
@@ -1071,7 +1050,6 @@ return console.askYesNo(message, true);
       </excludedComponents>
       <excludedLaunchers>
         <launcher id="737" />
-        <launcher id="1402" />
       </excludedLaunchers>
       <exclude>
         <entry defaultFileset="true" />
@@ -1090,7 +1068,6 @@ return console.askYesNo(message, true);
       </excludedComponents>
       <excludedLaunchers>
         <launcher id="737" />
-        <launcher id="1402" />
       </excludedLaunchers>
       <exclude>
         <entry defaultFileset="true" />
@@ -1107,9 +1084,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" />
@@ -1126,9 +1100,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" />
@@ -1166,9 +1137,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" />
@@ -1184,9 +1152,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" />