SRUPDATER

SRUpdater

applicativo multilingua per la gestione degli aggiornamenti automatici di qualsiasi software.

E’ un prodotto FREE !!!

 

 

 

Cos’è SRUpdater:

Si tratta di un software per il download di aggiornamenti da una sorgente verso il proprio computer, liberamente configurabile, automatico, gratuito, leggero.

SRUpdater può essere utilizzato per scaricare gli aggiornamenti di un applicativo usato su una rete composta da diverse postazioni ed evita di dover eseguire tale aggiornamento manualmente su tutti i computer, risultando cosi uno strumento particolarmente utile per gli sviluppatori di software.

SRUpdater si interpone all’avvio di un applicativo principale scelto dall’utente e garantisce che ne venga verificata la presenza aggiornamenti da un server remoto opportunamente configurato; se vi sono aggiornamenti essi vengono scaricati e installati prima avviare definitivamente l’applicativo principale desiderato.

SRupdate garantisce l’uso di applicativi costantemente aggiornati perchè la verifica avviene ad ogni utilizzo del software principale cui è stato collegato.

 

 

Processo di funzionamento:

SRUpdater funziona secondo un principio molto semplice.

Si interpone tra il lancio del software di nostro interesse e lo mette in standby; verifica se esistono degli aggiornamenti da scaricare dalla sorgente specificata in fase di configurazione ed in caso di risposta positiva ne scarica tutto il contenuto nella cartella del nostro software; una volta terminato l’aggiornamento esegue il software principale. Qualora durante la verifica degli aggiornamenti l’ultima versione del software risulta già installata sul proprio computer, chiude il processo di aggiornamento e lancia subito l’eseguibile principale del software primario.

Steps logici:

  • Lancio software di riferimento.
  • Avvio di SRUpdater e verifica aggiornamenti tramite confronto tra numero di versione in uso e quello presente sul server.
    • Download aggiornamenti (se presenti) e copia sulla cartella del software di riferimento.
    • Aggiornamento del sistema all’ultima versione scaricata.
  • Chiusura di SRUpdater e lancio del software principale.

 

Configurazione di SRUpdater:

La configurazione di SRUpdater consiste in pochi semplici passaggi:

  • Download e copia dei files necessari sul PC dell’utente.

Il pacchetto scaricabile di SRUpdater contiene 4 files e 5 directory:

  • SRUpdater.exe , l’eseguibile principale
  • SRUpdaterCypher.exe , l’eseguibile per cifrare i dati sensibili di accesso
  • SRUpdaterData.xml, file di configurazione
  • SRlocalVersion.txt, file di testo contenente il numero di versione in uso del software che vogliamo gestire. Il numero deve essere ti tipo intero, quindi senza punti e senza virgole.
  • 5 Directory (it,en,fr,es,de) contenenti i files di risorse per la traduzione multilingua.

Tutti e 4 questi files devono essere estratti dall’archivio scaricabile e copiati nella cartella dove si trova il file eseguibile principale dell’applicativo che vogliamo gestire con SRUpdater.

  • Inserimento dati necessari sul file SRUpdaterData.xml

Il file SRUpdaterData.xml è editabile con qualsiasi videoscrittore (notepad, wordpaf, altri) e contiene dati di accesso alla cartella remota, impostazioni di vario tipo, percorsi utili a indicare dove gli aggiornamenti andranno copiati, nome dell’eseguible principale e molto altro. Nella parte alta del file c’è una sezione commentata con le spiegazioni (in inglese) dei dati richiesti.

Di seguito riportiamo un esempio di dati di configurazione per scaricare aggiornamenti da un server FTP (quindi dalla rete internet).

<Data>
<Updates>

<Language>en</Language>
<PathUpdateVersion>ftp://www.nomesito.it/cartellasito/SRupdater/SRUpdaterVersion.txt</PathUpdateVersion>
<CredentialUpdatePath>ftp://www.nomesito.it</CredentialUpdatePath>
<CredentialUpdateUser>ap3+fqoHmqllqlukQ==</CredentialUpdateUser>
<CredentialUpdatePwd>e+j5gWR3avJEfg==</CredentialUpdatePwd>
<PathLocalVersion>SRlocalVersion.txt</PathLocalVersion>
<ProcessToKill>PIPPO</ProcessToKill>
<PathFilesToDownload>ftp://www.nomesito.it/nomecartella/SRUpdater/files</PathFilesToDownload>
<UpdateType>1</UpdateType>
<WaitTimeForSingleDownload>100</WaitTimeForSingleDownload>
<IntranetServerUnit>w</IntranetServerUnit>
<CloseAllMappedConnection>false</CloseAllMappedConnection>
<UseFTPsslConnection>false</UseFTPsslConnection>
</Updates>
</Data>

Spiegazione dei dati richiesti:

Language: lingua di esecuzione dell’applicativo: possibili valori “it” per Italiano, “en” per inglese, “fr” per francese, “es” per spagnolo, “de” per tedesco.

PathUpdateVersion: percorso remoto (FTP o intranet) dove trovare il file ( qui chiamato SRUpdaterVersion.txt) con scritto il numero di versione (in formato numerico intero e senza punti) aggiornata presente sul server

CredentialUpdatePath: se è richiesta una autorizzazione per l’accesso al server, indicare la cartella (o il sito FTP) verso il quale fare richiesta di accesso.

CredentialUpdateUser e CredentialUpdatePwd: nome dell’utente e relativa password per l’accesso al server (se richiesti). I dati sono cifrati con algoritmo di cifratura a 256 bit attraverso l’uso dell’eseguibile presente nel pacchetto SRUpdaterCypher.exe, relativamente al cui utilizzo si rimanda al sottostante paragrafo di spiegazioni.

PathLocalVersion: percorso del file SRlocalVersion.txt compreso nel pacchetto rispetto al file SRUpdater.exe

ProcessToKill: nome del file eseguibile dell’applicazione che vogliamo gestire con SRUpdater ma scritto senza punti e senza estensione cosi come appare nei processi di sistema Windows; qui è indicato come PIPPO per pure esempio ma potremo ad esempio scrivere MiaApplicazione, il che vorrebbe dire puntare all’eseguibile MiaApplicazione.exe .

PathFilesToDownload: percorso della cartella che conterrà i files da scaricare come aggiornamento; si consideri che ogni files e cartella all’interno di questo percorso sarà scaricato come aggiornamento e riportato con la stessa identica struttura ad albero prelevata dal server (quindi l’ordine di directory e sottodirectory sarà mantenuto e rispettato fedelmente). Nell’esempio ho creato una cartella SRUpdater sul server FTP e al suo interno ho aggiunto una sottocartella files… tutto cio’ che si trova all’interno della cartella files sarà trattato come aggiornamento.

UpdateType: dato numerico che può assumere i valori di 0 se stiamo gestendo una connessione intranet, 1 se stiamo gestendo una connessione internet di tipo FTP.

WaitTimeForSingleDownload: valore numerico espresso in millisecondi che esprime il tempo di attesa che intercorre tra il comando di download di un file e quello successivo. Necessario per non creare saturazione durante il download. Il suo valore di default è pari a 100, ovvero un decimo di secondo. Più si innalza il valore e più il processo di download diventa lungo ma probabilmente più accurato.

IntranetServerUnit: lettera di unità da assegnare al ponte di collegamento per le reti intranet. Serve ad evitare di utilizzare unità di rete già assegnate per altre necessità interne alla rete aziendale.

CloseAllMappedConnection: serve per forzare la chiusura di tutte le unità di rete mappate sul pc di esecuzione ed è utile in presenza di mappature che portano a generare errori di SRUpdater. Accetta valori booleani ovvero TRUE per VERO/SI e FALSE per FALSO/NO.

UseFTPsslConnection: Chiede di utilizzare un protocollo sicuro SSL qualora il server FTP lo consenta. Accetta valori booleani ovvero TRUE per VERO/SI e FALSE per FALSO/NO.

 

Ecco anche un esempio di file di configurazione per una intranet aziendale.

<Data>
<Updates>

<Language>en</Language>
<PathUpdateVersion>\\serveraziendale\cartella\SRupdate\SRUpdateVersion.txt</PathUpdateVersion>
<CredentialUpdatePath>\\serveraziendale\cartella</CredentialUpdatePath>
<CredentialUpdateUser>RHy2BAkrX+EyjlIaOw==</CredentialUpdateUser>
<CredentialUpdatePwd>yA2PUJoSUmjhj9D0Q==</CredentialUpdatePwd>
<PathLocalVersion>SRlocalVersion.txt</PathLocalVersion>
<ProcessToKill>PIPPO</ProcessToKill>
<PathFilesToDownload>\\serveraziendale\cartella\SRupdate\files</PathFilesToDownload>
<UpdateType>0</UpdateType>
<WaitTimeForSingleDownload>100</WaitTimeForSingleDownload>
<IntranetServerUnit>w</IntranetServerUnit>
<CloseAllMappedConnection>false</CloseAllMappedConnection>
<UseFTPsslConnection>false</UseFTPsslConnection>
</Updates>
</Data>

 

  • Utilizzo di SRUpdaterCypher per criptare i dati di accesso:

Il file SRUpdaterCypher incluso nel pacchetto consente, tramite una semplicissima machera, di cifrare tutti i dati di accesso necessari con un protocollo di cifratura a 256 bit.

Tale processo garantisce che dati sensibili e privati che dobbiamo necessariamente inserire nel file di configurazione di SRUpdater non siano leggibili da chiunque ma solo da chi detiene la chiave di decryptazione. Cosi, per fare un esempio banale, nel campo CredentialUpdatePwd anzichè inserire la password reale che potrebbe essere “VivaLaMiaApplicazione” inseriremo una stringa cryptata del tipo “x87NYshugdu//5HttZTmRm4Mt5iUbIHU07yYw” che solo l’algoritmo di SRUpdater sarà in grado di decifrare.

L’utilizzo è banale. Basta lanciare l’eseguibile SRUpdaterCypher.exe per ottenere la seguente schermata.

Scrivere la stringa da cifrare nel primo campo, premere il bottone Crypta stringa e copiare il risultato che esce nel secondo campo, quindi incollare i dati sul rispetto tag del file di configurazione come già spiegato.

  • Creazione collegamento tra SRUpdater e Applicativo da gestire:

Per collegare SRUpdater all’applicativo da gestire occorre :

  1. creare un collegamento al file SRUpdater.exe
  2. Rinominare il collegamento appena creato assegnandogli il nome dell’applicativo principale (ad esempio se voglio collegare il software MiaApplicazione che ha l’eseguibile MiaApplicazione.exe rinominerò il collegamento come MiaApplicazione)
  3.  Andare sulle proprietà del collegamento rinominato e assegnare l’icona dell’applicazione principale (ad esempio MiaApplicazione).

Eseguiti questi step avremo un file collegamento che punta a SRUpdater ma che porta il nome dell’applicativo principale da noi desiderato con tanto di medesima icona, quindi indistinguibile per l’utente finale dal collegamento normalmente creato durante l’installazione di qualunque software.

Il collegamento lancerà SRUpdater che si occuperà di cercare gli aggiornamenti e di scaricarli se presenti; in ogni caso una volta terminato il suo lavoro SRUpdater passerà l’azione all’eseguibile del software principale sfruttando il nome del processo inserito nel file di configurazione XML.

SRUpdater comparirà sempre ad ogni esecuzione ma occuperà la scena pochissimi secondi salvo quando presenti aggiornamenti che richiedono necessariamente tempo.

 

  • Configurazione della cartella remota dalla quale scaricare gli aggiornamenti:

Sul server remoto le necessità sono minime in quanto basta avere:

  1. Cartella accessibile dalla quale poter scaricare files da chiamare come si vuole; al suo interno dovrà essere posizionato tutto cio’ che vogliamo venga scaricato sul client. E’ importante anche la struttura delle directory in quanto durante l’aggiornamento tale struttura sarà mantenuta fedelmente.
  2. Un file di texto (formato .txt) con scritto il numero di versione disponibile per gli aggiornamenti. Il numero deve essere di tipo intero (quindi senza punti o virgole). Esempio: 2920 significherà che sul server sono presenti i files da scaricare per chi ha una versione inferiore alla 2920 mentre per tutti gli altri l’aggiornamento sarà ignorato.

 

  • Localizzazione applicazione e lingue tradotte:

Attualmente SRUpdater è tradotto in 5 lingue: Italiano, Inglese, Francese, Spagnolo, Tedesco.

Qualora gli utenti lo richiedessero sarà possibile aggiungere altre lingue.

L’applicativo correlato SRUpdaterCypher è invece distribuito nella solo lingua inglese dato che si tratta di soli 3 termini molto tecnici e generici per i quali abbiamo ritenuto superflua una traduzione in altre lingue.

 

  • Problemi di sicurezza e rilevazione SRUpdater come virus:

A causa delle procedure di aggancio ad un server esterno al PC dell’utente e del tentativo di scaricare files da remoto, SRUpdater può essere scambiato per un virus.

Ovviamente si tratta di una falsa rilevazione di tipo euristico ma per evitare il blocco da parte del proprio antivirus potrebbe essere necessario inserire il processo SRUpdater.exe tra le esclusioni e/o eccezioni consentite dalla propria suite di sicurezza.