public void update() { String path = null; try { path = new File(LaunchFrame.class.getProtectionDomain().getCodeSource().getLocation().getPath()) .getCanonicalPath(); path = URLDecoder.decode(path, "UTF-8"); } catch (IOException e) { Logger.logError("Couldn't get path to current launcher jar/exe", e); } String temporaryUpdatePath = Settings.getSettings().getInstallPath() + File.separator + "updatetemp" + File.separator + path.substring(path.lastIndexOf(File.separator) + 1); String extension = path.substring(path.lastIndexOf('.') + 1); extension = "exe".equalsIgnoreCase(extension) ? extension : "jar"; try { URL updateURL = new URL(downloadUrl.toString() + "." + extension); File temporaryUpdate = new File(temporaryUpdatePath); temporaryUpdate.getParentFile().mkdir(); FileUtils.downloadToFile(updateURL, temporaryUpdate); SelfUpdate.runUpdate(path, temporaryUpdatePath); } catch (MalformedURLException e) { Logger.logError("Malformed download URL for launcher update", e); } catch (IOException e) { Logger.logError("Failed to download launcher update", e); } }
public UpdateChecker(int version) { this.version = version; loadInfo(); try { FileUtils.delete(new File(Settings.getSettings().getInstallPath(), "updatetemp")); } catch (Exception ignored) { } }