diff --git a/src/java/org/jivesoftware/sparkimpl/updater/CheckUpdates.java b/src/java/org/jivesoftware/sparkimpl/updater/CheckUpdates.java index d24bfadd..218334d3 100644 --- a/src/java/org/jivesoftware/sparkimpl/updater/CheckUpdates.java +++ b/src/java/org/jivesoftware/sparkimpl/updater/CheckUpdates.java @@ -40,6 +40,13 @@ import org.jivesoftware.sparkimpl.settings.JiveInfo; import org.jivesoftware.sparkimpl.settings.local.LocalPreferences; import org.jivesoftware.sparkimpl.settings.local.SettingsManager; +import javax.swing.JEditorPane; +import javax.swing.JFrame; +import javax.swing.JOptionPane; +import javax.swing.JProgressBar; +import javax.swing.JScrollPane; +import javax.swing.text.html.HTMLEditorKit; + import java.awt.Color; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; @@ -56,13 +63,6 @@ import java.util.Date; import java.util.Iterator; import java.util.TimerTask; -import javax.swing.JEditorPane; -import javax.swing.JFrame; -import javax.swing.JOptionPane; -import javax.swing.JProgressBar; -import javax.swing.JScrollPane; -import javax.swing.text.html.HTMLEditorKit; - public class CheckUpdates { private String mainUpdateURL; private JProgressBar bar; @@ -406,15 +406,20 @@ public class CheckUpdates { filename = filename.substring(filename.indexOf('=') + 1); } - final File downloadFile = new File(Spark.getBinDirectory(), filename); - if (downloadFile.exists()) { - downloadFile.delete(); + // Set Download Directory + final File downloadDir = new File(Spark.getSparkUserHome(), "updates"); + downloadDir.mkdirs(); + + // Set file to download. + final File fileToDownload = new File(downloadDir, filename); + if (fileToDownload.exists()) { + fileToDownload.delete(); } ConfirmDialog confirm = new ConfirmDialog(); confirm.showConfirmDialog(SparkManager.getMainWindow(), Res.getString("title.new.version.available"), - Res.getString("message.new.spark.available", filename), Res.getString("yes"), Res.getString("no"), - null); + Res.getString("message.new.spark.available", filename), Res.getString("yes"), Res.getString("no"), + null); confirm.setDialogSize(400, 300); confirm.setConfirmListener(new ConfirmListener() { public void yesOption() { @@ -431,7 +436,7 @@ public class CheckUpdates { public void finished() { if (Spark.isWindows()) { - downloadUpdate(downloadFile, serverVersion); + downloadUpdate(fileToDownload, serverVersion); } else { // Launch browser to download page. @@ -591,8 +596,8 @@ public class CheckUpdates { private void promptForInstallation(final File downloadedFile, String title, String message) { ConfirmDialog confirm = new ConfirmDialog(); confirm.showConfirmDialog(SparkManager.getMainWindow(), title, - message, Res.getString("yes"), Res.getString("no"), - null); + message, Res.getString("yes"), Res.getString("no"), + null); confirm.setConfirmListener(new ConfirmListener() { public void yesOption() { try {