boolean needToInstall(File installDir) throws MalformedURLException {
        File downloadDir = Utils.downloadDir();
        for (int i = 0; i < jars.length; i++) {
            File d = new File(downloadDir,jars[i]);
            File f = new File(installDir, jars[i]);
            if (!f.exists() || f.length() == 0 || !f.canRead() || 
                    d.length() != f.length() ||
                    d.lastModified() > f.lastModified()) {  // newer file same version, need to install
                return true; 
            }
        }
        return false;
    }