Changeset 594


Ignore:
Timestamp:
Jan 1, 2013, 8:27:17 PM (12 years ago)
Author:
alloc
Message:

AEI2: .NET detection

Location:
AE/installer2
Files:
6 added
6 edited

Legend:

Unmodified
Added
Removed
  • AE/installer2/doc/AEI1-stuff_onisplit-commands.txt

    r593 r594  
     1filter mod-types from combobox with no nodes
     2
    13save current installed config
    24
     
    3335
    3436check .net>2.0:
    35 bool CheckForRequiredSoftware(void)
    36 {
    37 #ifdef WIN32
    38         // test for .NET 2.0 or higher
    39         HKEY hKey;
    40         if (!RegOpenKeyEx(HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\.NETFramework\\policy\\v2.0", 0L, KEY_READ , &hKey) == ERROR_SUCCESS)
    41         {
    42                 string dotnetMsg = "You don't have .NET 2.0 installed! .NET is a framework required by the Edition.\n";
    43                 dotnetMsg = dotnetMsg + "You can download it from:\n" +
    44                                                                 "http://gumby.oni2.net/dotnet\n" +
    45                                                                 "Please install .NET 2.0, then open this Installer again.\n\n" +
    46                                                                 "Would you like to open the download webpage?";
    47                 wxMessageDialog* DotNetDialogOfDeath = new wxMessageDialog(TheWindow, dotnetMsg.c_str(), "AE Installer Alert",
    48                                                                                                                                  wxYES_NO | wxICON_EXCLAMATION  , wxDefaultPosition);
    49                 if (DotNetDialogOfDeath->ShowModal() == wxID_YES)
     37win: http://msdn.microsoft.com/en-us/kb/kbarticle.aspx?id=318785
     38HKEY_LOCAL_MACHINE\Software\Microsoft\NET Framework Setup\NDP\v2.0.50727: dword "Install" = 1
    5039                        system("start http://www.microsoft.com/downloads/details.aspx?familyid=0856eacb-4362-4b0d-8edd-aab15c5e04f5");
    51                 RegCloseKey(hKey);
    52                 return false;
    53         }
    54 #else // on Mac...
    55         // test for the third-party "mono" framework, because without it, we are up a creek
    56         FILE *fWhichMono = NULL;
    57         char chrWhichMono[32];
     40
     41mac:
    5842        fWhichMono = popen("which mono", "r");
    5943        fgets(chrWhichMono, sizeof(chrWhichMono), fWhichMono);
     
    6347       
    6448        if (loc == string::npos) // this means that "which mono" did not return a path leading to the mono binary -- abort! abort! abort!
    65         {
    66                 string monoMsg = "You don't have 'mono' installed! 'mono' is a command-line tool required by the Edition.\n";
    67                 monoMsg = monoMsg + "You can download it from: http://www.go-mono.com/mono-downloads/download.html (OS X 10.4+)\n" +
    68                                                         "or http://edt.oni2.net/AE/MonoFramework10.3.dmg (OS X 10.3)\n\n" +
    69                                                         "Please install 'mono', then open this Installer again.";
    70                 wxMessageDialog* MonoDialogOfDeath = new wxMessageDialog(TheWindow, monoMsg.c_str(), "AE Installer Alert", wxOK | wxICON_EXCLAMATION, wxDefaultPosition);
    71                 MonoDialogOfDeath->ShowModal();
    72                 return false; // it's quittin' time, Joe
    73         }
    74 #endif
    75         return true;
    76 }
    7749
    7850
  • AE/installer2/src/net/oni2/aeinstaller/AEInstaller.properties

    r593 r594  
    11appname=AE Installer 2
    2 appversion=0.32
     2appversion=0.33
    33
    44invalidPath.title=Wrong directory
  • AE/installer2/src/net/oni2/aeinstaller/AEInstaller2.java

    r593 r594  
    1717import javax.swing.UIManager.LookAndFeelInfo;
    1818
     19import net.oni2.aeinstaller.backend.OniSplit;
    1920import net.oni2.aeinstaller.backend.Settings;
    2021import net.oni2.aeinstaller.backend.Settings.Platform;
     
    126127                System.out.println("ValidPath: "
    127128                                + StuffToRefactorLater.verifyRunningDirectory());
     129                System.out.println("Platform:  " + Settings.getPlatform());
     130                System.out.println("Architect: " + Settings.getArchitecture());
     131                System.out.println(".NET:      " + OniSplit.isDotNETInstalled());
    128132
    129133                if (!StuffToRefactorLater.verifyRunningDirectory()) {
  • AE/installer2/src/net/oni2/aeinstaller/backend/Settings.java

    r591 r594  
    1010import java.net.URLDecoder;
    1111import java.util.HashMap;
     12import java.util.Vector;
     13
     14import net.oni2.aeinstaller.backend.app_launcher.QuickAppExecution;
    1215
    1316import com.thoughtworks.xstream.XStream;
     
    2629         * @author Christian Illy
    2730         */
     31        public enum Architecture {
     32                /**
     33                 * 32 bit
     34                 */
     35                X86,
     36                /**
     37                 * 64 bit
     38                 */
     39                AMD64
     40        };
     41
     42        /**
     43         * @author Christian Illy
     44         */
    2845        public enum Platform {
    2946                /**
     
    7592        public static boolean getDebug() {
    7693                return debugRun;
     94        }
     95
     96        /**
     97         * @return Processor architecture
     98         */
     99        public static Architecture getArchitecture() {
     100                switch (getPlatform()) {
     101                        case WIN:
     102                                String arch = System.getenv("PROCESSOR_ARCHITECTURE")
     103                                                .toLowerCase();
     104                                if (arch.startsWith("x86"))
     105                                        return Architecture.X86;
     106                                return Architecture.AMD64;
     107                        case MACOS:
     108                        case LINUX:
     109                                Vector<String> cmd = new Vector<String>();
     110                                cmd.add("getconf");
     111                                cmd.add("LONG_BIT");
     112                                Vector<String> res = null;
     113                                try {
     114                                        res = QuickAppExecution.execute(cmd);
     115                                } catch (IOException e) {
     116                                        // TODO Auto-generated catch block
     117                                        e.printStackTrace();
     118                                }
     119                                if (res != null) {
     120                                        if (res.get(0).equals("64"))
     121                                                return Architecture.AMD64;
     122                                }
     123                                return Architecture.X86;
     124                        default:
     125                                return null;
     126                }
    77127        }
    78128
  • AE/installer2/src/net/oni2/aeinstaller/gui/MainWin.properties

    r593 r594  
    2121btnRevertSelection.text=Revert selection
    2222btnRevertSelection.tooltip=Select mods which are currently installed
    23 lblModTypes.text=Mod types:
     23lblModTypes.text=Mod type:
    2424
    2525lblSubmitter.text=Submitter:
  • AE/installer2/src/net/oni2/aeinstaller/gui/MainWin.yml

    r593 r594  
    6767        rowConstraints: grow
    6868        constraints:
    69             - tools: dock north
    7069            - contents: grow
     70
     71#            - tools: dock north
Note: See TracChangeset for help on using the changeset viewer.