public static boolean downloadAndInstallUpdate(UpdateInfo updateToInstall, UpdateProgressDialog gui, String... params)
            throws IllegalStateException, IOException {
        return downloadAndInstallUpdate(updateToInstall, gui, true, params);
    }
public static boolean downloadAndInstallUpdate ( UpdateInfo updateToInstall , UpdateProgressDialog gui , String ... params ) throws IllegalStateException , IOException { return downloadAndInstallUpdate ( updateToInstall , gui , true , params ) ; }
Downloads the specified update as a jar-file and launches it. The jar
file will be saved at the same location as the currently executed file
but will not replace it (unless it has the same filename but this will
never happen). The old app file will be deleted once the updated one is
launched. <b>Please note</b> that the file can't delete itself on some
operating systems. Therefore, the deletion is done by the updated file.
To actually delete the file, you need to call
{@link #completeUpdate(String[])} in your applications main method.

@param updateToInstall The {@link UpdateInfo}-object that contains the information
about the update to download
@param gui             The reference to an {@link UpdateProgressDialog} that displays
the current update status.
@param params          Additional commandline parameters to be submitted to the new application version.
@return {@code true} if the download finished successfully, {@code false}
if the download was cancelled using
{@link #cancelDownloadAndLaunch()}
@throws IllegalStateException if maven fails to download or copy the new artifact.
@throws IOException           If the updated artifact cannot be launched.
@see #completeUpdate(String[])