Download CODIGO FUENTE Actualizador Automatico
Document related concepts
no text concepts found
Transcript
TyS Código Fuente Actualizador Automático 2015-1 Actualizador Automático Código Fuente Página 1 de 11 14 de Dic. de 15 TyS Código Fuente Actualizador Automático 2015-1 INDICE 1 CÓDIGO DE FUENTE ................................................................................................................................... 3 1.1 ftp.java : .............................................................................................................................................. 3 1.2 ClasesGlobales.java: ........................................................................................................................... 6 Página 2 de 11 14 de Dic. de 15 TyS Código Fuente Actualizador Automático 2015-1 1 CÓDIGO DE FUENTE 1.1 FTP.JAVA : public void descargarVersion(){ boolean val= false; try { String path="",path2=""; // crear directorio TEMP en TYS crearDirectorioTEMP(); // obtener arquitectura int sistema = obtenerArquitecturaSistema(); if (sistema == 64) { path = "c:/Program Files (x86)/Tecnologia y Servicios/TEMP/"; path2 = "c:/Program Files (x86)/Tecnologia y Servicios/"; } else { path = "c:/Program Files/Tecnologia y Servicios/TEMP/"; path2 = "c:/Program Files/Tecnologia y Servicios/"; } // descargando archivos actualizador FTPClient ftpClient = new FTPClient(); ftpClient.connect(servidor, Integer.parseInt(puerto)); ftpClient.login(usuario, clave); ftpClient.enterLocalPassiveMode(); ftpClient.setFileType(FTP.BINARY_FILE_TYPE); //descargando BAT INSTALADOR DE DOCFLOW String remoteFile = "VERSION/Version.dat"; Página 3 de 11 14 de Dic. de 15 TyS Código Fuente Actualizador Automático 2015-1 File downloadFile = new File(path+"VERSION/Version.dat"); OutputStream outputStream = new BufferedOutputStream(new FileOutputStream(downloadFile)); boolean success = ftpClient.retrieveFile(remoteFile, outputStream); outputStream.close(); if (success) { val = revisarVersion(path+"VERSION/Version.dat", path2+"Docflow 5/Version.dat"); if (val) { descargarActualizador(); frmLauncher.btnIniciar.setEnabled(true); }else{ } } else { } frmLauncher.pbProgreso.setString("Docflow instalado correctamente. "); frmLauncher.btnIniciar.setEnabled(true); } catch (Exception e) { frmLauncher.pbProgreso.setString("ERROR. No se ha logrado conectar al servidor."); } } public int obtenerArquitecturaSistema(){ int sistema = 0; File carpeta64 = new File("c:\\Program Files (x86)"); File carpeta32 = new File("c:\\Program Files"); Página 4 de 11 14 de Dic. de 15 TyS Código Fuente Actualizador Automático 2015-1 if (carpeta64.exists()) { sistema = 64; } else { sistema = 32; } return sistema; } public void crearDirectorioTYS(){ int sistema = obtenerArquitecturaSistema(); if (sistema == 64) { File folder = new File("c:\\Program Files (x86)\\Tecnologia y Servicios"); folder.mkdir(); }else { File folder = new File("c:\\Program Files\\Tecnologia y Servicios"); folder.mkdir(); } } Página 5 de 11 14 de Dic. de 15 TyS Código Fuente Actualizador Automático 2015-1 1.2 CLASESGLOBALES.JAVA: public void descargarDocflow(){ try { frmLauncher.pbProgreso.setValue(contador+10); frmLauncher.pbProgreso.setString("Descargando instalador DocFlow. "+(contador+10)+"%"); String path=""; // crear directorio TEMP en TYS crearDirectorioTEMP(); // obtener arquitectura int sistema = obtenerArquitecturaSistema(); if (sistema == 64) { path = "c:/Program Files (x86)/Tecnologia y Servicios/TEMP/"; } else { path = "c:/Program Files/Tecnologia y Servicios/TEMP/"; } // descargando archivos actualizador FTPClient ftpClient = new FTPClient(); ftpClient.connect(servidor, Integer.parseInt(puerto)); ftpClient.login(usuario, clave); ftpClient.enterLocalPassiveMode(); ftpClient.setFileType(FTP.BINARY_FILE_TYPE); //descargando BAT INSTALADOR DE DOCFLOW Página 6 de 11 14 de Dic. de 15 TyS Código Fuente Actualizador Automático 2015-1 String remoteFile = "INSTALADOR/instaladorDOCFLOW64.bat"; File downloadFile = new File(path+"INSTALADOR/instaladorDOCFLOW64.bat"); OutputStream outputStream = new BufferedOutputStream(new FileOutputStream(downloadFile)); boolean success = ftpClient.retrieveFile(remoteFile, outputStream); outputStream.close(); frmLauncher.pbProgreso.setValue(contador+20); frmLauncher.pbProgreso.setString("Descargando instalador DocFlow. "+(contador+20)+"%"); //descargando BAT INSTALADOR DE DOCFLOW String remoteFile3 = "INSTALADOR/instaladorDOCFLOW32.bat"; File downloadFile3 = new File(path+"INSTALADOR/instaladorDOCFLOW32.bat"); OutputStream outputStream3 = new BufferedOutputStream(new FileOutputStream(downloadFile3)); boolean success3 = ftpClient.retrieveFile(remoteFile3, outputStream3); outputStream3.close(); frmLauncher.pbProgreso.setValue(contador+10); frmLauncher.pbProgreso.setString("Descargando instalador DocFlow. "+(contador+10)+"%"); //descargando ZIP CON ARCHIVOS DE INSTALACION String remoteFile0 = "INSTALADOR/archivosInstaladorDOCFLOW.zip"; File downloadFile0 = new File(path+"INSTALADOR/archivosInstaladorDOCFLOW.zip"); OutputStream outputStream0 = new BufferedOutputStream(new FileOutputStream(downloadFile0)); boolean success0 = ftpClient.retrieveFile(remoteFile0, outputStream0); outputStream0.close(); Página 7 de 11 14 de Dic. de 15 TyS Código Fuente Actualizador Automático 2015-1 frmLauncher.pbProgreso.setValue(contador+10); frmLauncher.pbProgreso.setString("Descargando ejecutable DocFlow. "+(contador+10)+"%"); //descargando copiador de ejecutable a 64 String remoteFile4 = "VERSION/Version.dat"; File downloadFile4 = new File(path+"VERSION/Version.dat"); OutputStream outputStream4 = new BufferedOutputStream(new FileOutputStream(downloadFile4)); boolean success4 = ftpClient.retrieveFile(remoteFile4, outputStream4); outputStream4.close(); frmLauncher.pbProgreso.setValue(contador+20); frmLauncher.pbProgreso.setString("Descargando instalador DocFlow. "+(contador+20)+"%"); descomprimir(path+"INSTALADOR/archivosInstaladorDOCFLOW.zip",path+"INSTALADOR/"); if (success0) { if (sistema==64) { Runtime aplicacion2 = Runtime.getRuntime(); try{ // aplicacion2.exec("cmd /c c:/Program Files (x86)/Tecnologia y Servicios/TEMP/INSTALADOR/instaladorDOCFLOW64.bat"); frmLauncher.pbProgreso.setString("Instalando DOCFLOW, favor esperar"); File objetofile = new File ("c:/Program Files (x86)/Tecnologia y Servicios/TEMP/INSTALADOR/instaladorDOCFLOW64.bat"); Desktop.getDesktop().open(objetofile); // objetofile = new File ("c:/Program Files (x86)/Tecnologia y Servicios/TEMP/INSTALADOR/copiar64.bat"); Página 8 de 11 14 de Dic. de 15 TyS Código Fuente Actualizador Automático 2015-1 // Desktop.getDesktop().open(objetofile); } catch(IOException e) { System.out.println(e.getMessage()); } } else { Runtime aplicacion2 = Runtime.getRuntime(); try{ File objetofile = new File ("c:/Program Files/Tecnologia y Servicios/TEMP/INSTALADOR/instaladorDOCFLOW32.bat"); Desktop.getDesktop().open(objetofile); // objetofile = new File ("c:/Program Files/Tecnologia y Servicios/TEMP/INSTALADOR/copiar32.bat"); // Desktop.getDesktop().open(objetofile); } catch(Exception e) { System.out.println(e); } } } else { } frmLauncher.pbProgreso.setString("Docflow instalado correctamente. "); frmLauncher.btnIniciar.setEnabled(true); Página 9 de 11 14 de Dic. de 15 TyS Código Fuente Actualizador Automático 2015-1 } catch (Exception e) { frmLauncher.pbProgreso.setString("ERROR. Favor revisar CONFIGURACIÓN/CONEXION"); } } public boolean revisarVersion(String rutaArchivo, String rutaArchivoDocflow){ System.out.println(rutaArchivo); System.out.println(rutaArchivoDocflow); BufferedReader fd = null, fd1=null; String linea = "", linea1=""; try { fd = new BufferedReader (new FileReader (rutaArchivo)); } catch (FileNotFoundException e) { System.out.println ("No pude abrir el archivo"); } try { while ((linea = fd.readLine ()) != null) //COMPARANDO VERSION if (!linea.isEmpty()) { try { fd1 = new BufferedReader (new FileReader (rutaArchivoDocflow)); while ((linea1 = fd1.readLine ()) != null) if (!linea.equals(linea1)) { System.out.println("version nueva"); return true; } else { System.out.println("version igual"); Página 10 de 11 14 de Dic. de 15 TyS Código Fuente Actualizador Automático 2015-1 return false; } }catch (IOException e) { System.out.println ("Error al leer"); } } else { return false; } //System.out.println (linea); fd.close (); } catch (IOException e) { System.out.println ("Error al leer"); } return false; } Fig 1-1 Página 11 de 11 14 de Dic. de 15