Home | Chi sono | Contattami
 

Progr. lineare

Delphi
 
Componenti
  Database
 
Miei articoli

Windows

Miei articoli 

 

Installare un applicativo senza intervento da parte dell' utente
 

Con VBScript è possibile simulare la pressione di tasti sulla tastiera con semplici chiamate alla funzione WshShell.SendKeys. Per un elenco dei parametri di tale funzione con l' elemento della tastiera corrispondente andare all' url

SendKeys Method

Detto questo si può simulare la pressione dei tasti nel contesto di un wizard di installazione, rendendo il medesimo "unattended". Una cosa importante è fare una stima (naturalmente abbondantemente per eccesso) dei tempi che intercorrono tra una maschera e l' altra del programma di installazione. Un esempio di installazione "unattended" può essere fatto prendendo in esame il ".Net framework 1.1" scaricabile all' url

http://www.microsoft.com/downloads/details.aspx?FamilyID=262d25e3-f589-4842-8157-034d1e7cf3a3&displaylang=it

Si effettua una installazione e si prende nota dei vari passaggi (con le tempistiche tra un passaggio ed il successivo).

 

Wshshell.Sendkeys "{ENTER}"


Mi fermo per 30 secondi (ho calcolato che dovrebbero essere sufficienti per avere la schermata successiva)

Il focus è sul controllo che contiene il testo del contratto di licenza

Wshshell.Sendkeys "{TAB}"

Wshshell.Sendkeys "{UP}"

Wshshell.Sendkeys "{ENTER}"


Mi fermo per 5 minuti (anche qui dovrebbero bastare) cioè 300 secondi

Wshshell.Sendkeys "{ENTER}"

 

Ed ecco quindi lo script che automatizza il tutto:

set WshShell = CreateObject("WScript.Shell") Wshshell.Run "dotnetfx.exe" WScript.Sleep 5000 Wshshell.Sendkeys "{ENTER}" WScript.Sleep 30000 Wshshell.Sendkeys "{TAB}" WScript.Sleep 500 Wshshell.Sendkeys "{UP}" WScript.Sleep 500 Wshshell.Sendkeys "{ENTER}" WScript.Sleep 300000 Wshshell.Sendkeys "{ENTER}" WScript.Sleep 500 WScript.Quit() set WshShell = nil



 

Disinstallazione

Stringa di disinstallazione:

MsiExec.exe /X{CB2F7EDD-9D1F-43C1-90FC-4F52EAE172A1}

 

Wshshell.Sendkeys "{ENTER}"

 

Ed ecco quindi lo script che automatizza la disinstallazione:

set WshShell = CreateObject("WScript.Shell") Wshshell.Run "MsiExec.exe /X{CB2F7EDD-9D1F-43C1-90FC-4F52EAE172A1}" WScript.Sleep 5000 Wshshell.Sendkeys "{ENTER}" WScript.Sleep 500 WScript.Quit() set WshShell = nil

 

 

 

 
 
 
Your Ad Here