Ignore:
Timestamp:
Feb 23, 2013, 6:40:47 PM (12 years ago)
Author:
alloc
Message:

AEI2 0.99q:

  • Updates dialog: Updating the to-download-size on (un)checking updates to download
  • Updates dialog: Show download size of individual updates
  • Tool execution: Support for .NET tools (Mod_Info.cfg added ExeType flag)
  • Depot backend: Ignore mod nodes with an empty package number field
Location:
AE/installer2/src/net/oni2/aeinstaller/backend
Files:
3 added
4 edited

Legend:

Unmodified
Added
Removed
  • AE/installer2/src/net/oni2/aeinstaller/backend/depot/DepotManager.java

    r662 r672  
    275275                                NodeMod nm = (NodeMod) n;
    276276                                if (nm.getInstallMethod().getName()
    277                                                 .equalsIgnoreCase(instMethName))
    278                                         result.add(nm);
     277                                                .equalsIgnoreCase(instMethName)) {
     278                                        try {
     279                                                nm.getPackageNumber();
     280                                                result.add(nm);
     281                                        } catch (NumberFormatException e) {
     282                                                System.err.println("Node " + nm.getNid() + " does not have a package number!!!");
     283                                        }
     284                                }
    279285                        }
    280286                }
  • AE/installer2/src/net/oni2/aeinstaller/backend/oni/OniSplit.java

    r624 r672  
    33import java.io.File;
    44import java.io.IOException;
    5 import java.lang.reflect.InvocationTargetException;
    6 import java.util.Map;
    75import java.util.Vector;
    86
     7import net.oni2.aeinstaller.backend.DotNet;
    98import net.oni2.aeinstaller.backend.Paths;
    109import net.oni2.aeinstaller.backend.AppExecution;
    1110import net.oni2.aeinstaller.backend.Settings;
    12 import net.oni2.aeinstaller.backend.Settings.Architecture;
    1311import net.oni2.aeinstaller.backend.Settings.Platform;
    14 import net.oni2.aeinstaller.backend.WinRegistry;
    1512
    1613/**
     
    1815 */
    1916public class OniSplit {
    20 
    21         /**
    22          * @return is a .NET implementation installed?
    23          */
    24         public static boolean isDotNETInstalled() {
    25                 switch (Settings.getPlatform()) {
    26                         case WIN:
    27                                 try {
    28                                         int view = WinRegistry.KEY_WOW64_32KEY;
    29                                         if (Settings.getArchitecture() == Architecture.AMD64)
    30                                                 view = WinRegistry.KEY_WOW64_64KEY;
    31 
    32                                         Map<String, String> m = WinRegistry
    33                                                         .readStringValues(
    34                                                                         WinRegistry.HKEY_LOCAL_MACHINE,
    35                                                                         "Software\\Microsoft\\NET Framework Setup\\NDP\\v2.0.50727",
    36                                                                         view);
    37                                         return m != null;
    38                                 } catch (IllegalArgumentException e) {
    39                                         e.printStackTrace();
    40                                 } catch (IllegalAccessException e) {
    41                                         e.printStackTrace();
    42                                 } catch (InvocationTargetException e) {
    43                                         e.printStackTrace();
    44                                 } catch (Exception e) {
    45                                         if (!e.getMessage()
    46                                                         .equals("Registry access not supported (not a Windows OS?)."))
    47                                                 e.printStackTrace();
    48                                 }
    49                                 return false;
    50                         case MACOS:
    51                         case LINUX:
    52                                 Vector<String> cmd = new Vector<String>();
    53                                 cmd.add("which");
    54                                 cmd.add("mono");
    55                                 Vector<String> res = null;
    56                                 try {
    57                                         res = AppExecution.executeAndWait(cmd);
    58                                 } catch (IOException e) {
    59                                         e.printStackTrace();
    60                                 }
    61                                 if (res != null) {
    62                                         if (res.get(0).startsWith("/")
    63                                                         && res.get(0).endsWith("mono")) {
    64                                                 return true;
    65                                         }
    66                                 }
    67                                 return false;
    68                         default:
    69                                 return false;
    70                 }
    71         }
    7217
    7318        /**
     
    209154        private static Vector<String> getProgramInvocation() {
    210155                Vector<String> res = new Vector<String>();
    211                 if (Settings.getPlatform() != Platform.WIN)
    212                         res.add("mono");
     156                if (DotNet.getRuntimeExe().length() > 0)
     157                        res.add(DotNet.getRuntimeExe());
    213158                res.add(getProgramFile().getPath());
    214159                return res;
  • AE/installer2/src/net/oni2/aeinstaller/backend/packages/Mod_Info.java

    r671 r672  
    2727
    2828        private File exeFile = null;
     29        private EExeType exeType = EExeType.OSBINARY;
    2930        private File iconFile = null;
    3031        private String workingDir = "Base";
     
    111112                                } else if (sName.equalsIgnoreCase("ExeName")) {
    112113                                        exeFile = new File(Paths.getEditionBasePath(), sVal);
     114                                } else if (sName.equalsIgnoreCase("ExeType")) {
     115                                        if (sVal.equalsIgnoreCase("OSBinary"))
     116                                                exeType = EExeType.OSBINARY;
     117                                        else if (sVal.equalsIgnoreCase("DotNet"))
     118                                                exeType = EExeType.DOTNET;
     119                                        else if (sVal.equalsIgnoreCase("Jar"))
     120                                                exeType = EExeType.JAR;
    113121                                } else if (sName.equalsIgnoreCase("WorkingDir")) {
    114122                                        workingDir = sVal;
     
    116124                                        iconFile = new File(Paths.getEditionBasePath(), sVal);
    117125                                }
     126                        }
     127                        if (exeFile != null) {
     128                                if (exeFile.getName().toLowerCase().endsWith(".jar"))
     129                                        exeType = EExeType.JAR;
    118130                        }
    119131                } catch (FileNotFoundException e) {
     
    203215
    204216        /**
     217         * @return the exeType
     218         */
     219        public EExeType getExeType() {
     220                return exeType;
     221        }
     222
     223        /**
    205224         * @return the iconFile
    206225         */
  • AE/installer2/src/net/oni2/aeinstaller/backend/packages/Package.java

    r670 r672  
    4444
    4545        private File exeFile = null;
     46        private EExeType exeType = EExeType.OSBINARY;
    4647        private File iconFile = null;
    4748        private String workingDir = "Base";
     
    124125
    125126                        exeFile = mi.getExeFile();
     127                        exeType = mi.getExeType();
    126128                        workingDir = mi.getWorkingDir();
    127129                        iconFile = mi.getIconFile();
     
    387389
    388390        /**
     391         * @return Executable type of this tool
     392         */
     393        public EExeType getExeType() {
     394                return exeType;
     395        }
     396
     397        /**
    389398         * @return Icon file of this tool
    390399         */
Note: See TracChangeset for help on using the changeset viewer.