Changeset 730 for java/installer2/src


Ignore:
Timestamp:
Mar 21, 2013, 6:25:39 PM (12 years ago)
Author:
alloc
Message:

AEI2 0.99w:

  • Self-update invocation
Location:
java/installer2/src/net/oni2/aeinstaller
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • java/installer2/src/net/oni2/aeinstaller/AEInstaller.properties

    r720 r730  
    11appname=AE Installer 2
    2 appversion=0.99v
     2appversion=0.99w
  • java/installer2/src/net/oni2/aeinstaller/AEInstaller2.java

    r720 r730  
    3232import net.oni2.platformtools.PlatformInformation;
    3333import net.oni2.platformtools.PlatformInformation.Platform;
     34import net.oni2.platformtools.applicationinvoker.ApplicationInvoker;
    3435import net.oni2.platformtools.applicationinvoker.DotNet;
     36import net.oni2.platformtools.applicationinvoker.EExeType;
     37import net.oni2.svnaccess.SVN;
    3538
    3639import org.javabuilders.swing.SwingJavaBuilder;
     
    6467                }
    6568        }
    66        
     69
    6770        private static void initBundles() {
    68                 File localesDir = CaseInsensitiveFile.getCaseInsensitiveFile(Paths.getInstallerPath(), "locales");
     71                File localesDir = CaseInsensitiveFile.getCaseInsensitiveFile(
     72                                Paths.getInstallerPath(), "locales");
    6973                if (localesDir.isDirectory())
    7074                        addClassPath(localesDir);
     
    121125                        }
    122126                }
    123                
     127
    124128                initBundles();
    125129
     
    173177                System.out.println("ValidPath: " + Installer.verifyRunningDirectory());
    174178                System.out.println("Platform:  " + PlatformInformation.getPlatform());
    175                 System.out.println("Architect: " + PlatformInformation.getArchitecture());
     179                System.out.println("Architect: "
     180                                + PlatformInformation.getArchitecture());
    176181                System.out.println(".NET:      " + DotNet.isInstalled());
    177182                System.out.println("OniSplit:  " + OniSplit.isOniSplitInstalled());
     
    241246                SettingsManager.getInstance().setOfflineMode(offline);
    242247
     248                if (!offline) {
     249                        SVN svn = new SVN();
     250                        try {
     251                                int x = svn.checkSVN("http://svn.aei.oni2.net",
     252                                                new File(Paths.getPrefsPath(), "bin"));
     253                                if (x > 0) {
     254                                        // Update available
     255                                        int res = JOptionPane.showConfirmDialog(null,
     256                                                        globalBundle.getString("aeiUpdateAvailable.text"),
     257                                                        globalBundle.getString("aeiUpdateAvailable.title"),
     258                                                        JOptionPane.YES_NO_OPTION,
     259                                                        JOptionPane.INFORMATION_MESSAGE);
     260                                        if (res == JOptionPane.YES_OPTION) {
     261                                                File updater = new File(Paths.getInstallerPath(),
     262                                                                "AEInstaller2Updater.jar");
     263                                                ApplicationInvoker.execute(EExeType.JAR, null, updater,
     264                                                                null);
     265                                                return;
     266                                        }
     267                                } else if (x == 0) {
     268                                        // Up to date
     269                                } else if (x < 0) {
     270                                        // No WC at given path
     271                                }
     272                        } catch (Exception e) {
     273                                e.printStackTrace();
     274                        }
     275                }
     276
    243277                SwingUtilities.invokeLater(new Runnable() {
    244278                        public void run() {
  • java/installer2/src/net/oni2/aeinstaller/backend/Paths.java

    r720 r730  
    3636                        return new File(wd);
    3737                } else {
    38                         String jarPath = SettingsManager.class.getProtectionDomain()
     38                        String jarPath = Paths.class.getProtectionDomain()
    3939                                        .getCodeSource().getLocation().getPath();
    4040                        String decodedPath = null;
     
    4444                                e.printStackTrace();
    4545                        }
    46                         return new File(decodedPath).getParentFile();
     46                        return new File(decodedPath).getParentFile().getParentFile();
    4747                }
    4848        }
  • java/installer2/src/net/oni2/aeinstaller/localization/Global.properties

    r658 r730  
    1010offlineModeStartup.title=Offline mode
    1111offlineModeStartup.text=Connection to the ModDepot could not be established.\nAEI will run in offline mode.\nUpdates or installation of mods not already downloaded will not be possible.
     12
     13aeiUpdateAvailable.title=Update available!
     14aeiUpdateAvailable.text=An update for the AEInstaller is available.\nPlease update now by selecting Yes.
Note: See TracChangeset for help on using the changeset viewer.