Logo Eng2ita
ENG2ITA Community Versione lo-fi
16/10/2018, 23:39 *
Benvenuto, Visitatore. Per favore, effettua il login o registrati.
Hai perso la tua email di attivazione?

Login con username, password e lunghezza della sessione
E' stata disabilitata la ricerca ai visitatori! 
   Home   Sitemap Regolamento del forum Login Registrati  
Pagine: 1 2 3 4
  Stampa  
Voto topic corrente: *****
Non hai ancora votato questo topic. Seleziona una valutazione:
Autore Topic: [GUIDA] Automatizzare un installer con Autoit  (Letto 118729 volte)
0 Utenti e 1 Visitatore stanno guardando questo topic.
MISTER X ®
Eng2ita Staff
***

Karma: 77
Offline Offline

Post: 546



« il: 17/06/2012, 16:19 »

Salve,
con questo post vorrei cercare di spiegare in linea di massima come poter automatizzare l'installazione di un programma, nel caso presente proveremo ad automatizzare ProgDvb6 a 64 bit (http://update-progdvb.com/prerelease/ProgDVB6.85.3c.x64.exe).
Andiamo per gradi...
Installiamo Autoit e Scite4Autoit3 se ancora non lo abbiamo fatto; scarichiamo inoltre ProgDvb6 a 64 bit.
Creiamo una nuova cartella, per esempio sul desktop, e nominiamola, per esempio "progdvb".
Nella cartella "progdvb" mettiamoci l'installer del programma che, per comodità, avremo rinominato "ProgDVB6_x64.exe"
Creiamo nella cartella "progdvb" un file nuovo di script: con il tasto destro clicchiamo "Nuovo" --> "Autoit v3 Script"
Adesso clicchiamo con il destro su "Nuovo AutoIt v3 Script.au3" e dal menu scegliamo (e clicchiamo) "Edit Script"
Si aprirà l'editor Scite, avremo le prime righe generiche comprese fra "#cs" e "#ce" che se vogliamo possiamo editare, oppure lasciarle come sono; ma ciò che a noi interessa è editare lo script vero e proprio, dalla riga 12 in poi subito dopo
Codice:
; Script Start - Add your code below here
Dunque, le righe che seguono possono essere valide per tutti gli script di automazione, cioè per automatizzare altri installer:
Codice:
#RequireAdmin ; essenziale se lo script deve girare anche sotto Vista o Seven i quali richiedono l'UAC
BlockInput(1) ; blocco ON di tastiera e mouse, importante nelle automazioni per evitare che l'utente prema i tasti in concomitanza con lo script, in caso di
; problemi usa la combinazione di tasti Alt X per uscire
Opt("WinTitleMatchMode", 4) ; metodo che viene utilizzato per abbinare i titoli della finestra durante le operazioni di ricerca
AutoItSetOption("MouseCoordMode", 0) ; metodo che usa il click del mouse con le coordinate relative alla finestra attiva
HotKeySet("!x", "HotExit") ; combinazione di tasti Alt X per uscire
Func HotExit() ; funzione per la hotkey
Exit
EndFunc   ;==>HotExit
Adesso lo script dovrà far eseguire l'installer che si trova nello stesso percorso:
Codice:
$progdvb6_installer = FileGetShortName(@ScriptDir & "\ProgDVB6_x64.exe") ; FileGetShortName mi serve per ottenere il percorso breve 8.3 del file
; da eseguire (premi F1 per info) all'occorrenza edita questa riga oppure rinomina il file....
Run($progdvb6_installer) ; esegui il file.....
Da qui in poi dobbiamo automatizzare le finestre dell'installer... adesso abbiamo necessità di utilizzare il Autoit Window Info tool che è compreso in Autoit.
Si è deciso di iniziare l'automazione con:
Codice:
If WinWait("[title:ProgDVB x64 Setup; class:#32770]", "", 10) Then
......
......
......
Else
Exit
EndIf
che tradotto significa questo:
se la finestra di titolo "ProgDVB x64 Setup" e classe "#32770" viene intercettata in un tempo di 10 secondi allora prosegui con l'automazione, altrimenti esci dallo script.
Eseguiamo il "ProgDVB6_x64.exe" e cerchiamo di rifare gli stessi passi fatti nel video seguente:

<a href="http://www.youtube.com/watch?v=HC_zRI8n1rs" target="_blank">http://www.youtube.com/watch?v=HC_zRI8n1rs</a>

Abbiamo finito, o quasi, ricordiamoci di inserire:
Codice:
FileDelete(@DesktopCommonDir & "\ProgDVB 6.lnk") ; rimuove scorciatoia al programma sul desktop di all user
FileDelete(@DesktopDir & "\ProgDVB 6.lnk") ; rimuove scorciatoia al programma sul desktop di current user

se vogliamo rimuovere le scorciatoie sul desktop e poi ricordiamoci di ridare i comandi all'utente:
Codice:
BlockInput(0) ; blocco OFF di tastiera e mouse
Come ultima riga possiamo inserire
Codice:
Exit
anche se lo script, al termine, uscirebbe comunque.
Ecco quindi come risulterà lo script completo:

Codice:
#cs ----------------------------------------------------------------------------

AutoIt Version: 3.3.8.1
Author:         MISTER X ®

Script Function:
ProgDVB 6 automazione dell'installer a 64 bit
installer utilizzato: "http://update-progdvb.com/prerelease/ProgDVB6.85.3c.x64.exe"
Credits:
gli amministratori e lo staff al completo di Eng2Ita

#ce ----------------------------------------------------------------------------

#RequireAdmin ; essenziale se lo script deve girare sotto Vista o Seven
BlockInput(1) ; blocco ON di tastiera e mouse, importante nelle automazioni per evitare che l'utente prema i tasti in concomitanza con lo script, in caso di
; problemi usa la combinazione di tasti Alt X per uscire
Opt("WinTitleMatchMode", 4) ; metodo che viene utilizzato per abbinare i titoli della finestra durante le operazioni di ricerca
AutoItSetOption("MouseCoordMode", 0) ; metodo che usa il click del mouse con le coordinate relative alla finestra attiva
HotKeySet("!x", "HotExit") ; combinazione di tasti Alt X per uscire
Func HotExit() ; funzione per la hotkey
Exit
EndFunc   ;==>HotExit
$progdvb6_installer = FileGetShortName(@ScriptDir & "\ProgDVB6_x64.exe") ; FileGetShortName mi serve per ottenere il percorso breve 8.3 del file
; da eseguire (premi F1 per info) all'occorrenza edita questa riga oppure rinomina il file....
Run($progdvb6_installer) ; esegui il file.....
;~ Adesso parte la vera AUTOMAZIONE.....
If WinWait("[title:ProgDVB x64 Setup; class:#32770]", "", 10) Then ; attende 10 secondi questa finestra,
;  se la finestra non appare allo scadere dei 10 secondi termina lo script
ControlClick("[title:ProgDVB x64 Setup; class:#32770]", "", "Button2") ; clicca il "Button2"
WinWait("ProgDVB x64 Setup ", "License Agreement")
ControlClick("ProgDVB x64 Setup ", "License Agreement", "Button2")
WinWait("ProgDVB x64 Setup ", "Choose Install Location") ;
ControlClick("ProgDVB x64 Setup ", "Choose Install Location", "Button2")
WinWait("ProgDVB x64 Setup", "Multi-user settings")
ControlClick("ProgDVB x64 Setup", "Multi-user settings", "Button2")
WinWait("ProgDVB x64 Setup", "Adjustment of a source of TV")
ControlClick("ProgDVB x64 Setup", "Adjustment of a source of TV", "Button2")
WinWait("ProgDVB x64 Setup", "Configuration")
Send("{DOWN 6}") ; bisogna simulare la pressione della freccia giù per 6 volte
;~ Send("{TAB 3}") ; per settare HID or Microsoft RC ; opzionale simula la pressione del tasto TAB per 3 volte
;~ Send("{DOWN}") ; per settare HID or Microsoft RC ; opzionale simula la pressione del tasto freccia giù per una volta
;~  per le righe precedenti: per rimuovere ";~" premi - sul tastierino numerico della tastiera.... ";~" serve per commentare la riga simile al REM del DOS
ControlClick("ProgDVB x64 Setup", "Configuration", "Button2")
    WinWait("ProgDVB x64 Setup", "ProgDVB initial configuration")
ControlClick("ProgDVB x64 Setup", "ProgDVB initial configuration", "Button2")
WinWait("ProgDVB x64 Setup", "Choose Components")
ControlClick("ProgDVB x64 Setup", "Choose Components", "Button2")
WinWait("ProgDVB x64 Setup ", "Completing the ProgDVB Setup Wizard")
ControlClick("ProgDVB x64 Setup ", "Completing the ProgDVB Setup Wizard", "Button2") ; abbiamo finito...
FileDelete(@DesktopCommonDir & "\ProgDVB 6.lnk") ; rimuove scorciatoia al programma sul desktop di all user
FileDelete(@DesktopDir & "\ProgDVB 6.lnk") ; rimuove scorciatoia al programma sul desktop di current user
Else
Exit
EndIf
BlockInput(0) ; blocco OFF di tastiera e mouse
Exit
« Ultima modifica: 27/03/2018, 17:57 da Singolarity » Loggato
ENG2ITA Community
« il: 17/06/2012, 16:19 »

 Loggato
Fantoman
Newbie
*

Karma: 0
Offline Offline

Post: 17


« Rispondi #1 il: 18/06/2012, 02:14 »

Ciao a tutti

grazie infinite per questa guida molto esaustiva e grazie anche al video finalmente ho capito come si deve usare l'autoit windows info. Purtroppo la mia poca conoscenza del linguaggio di programmazione si fà sentire anche se per fare semplici script non dovrebbe essere difficile, volevo comunque approfittare per chiedere se c'è una linea guida sui comandi e sul loro utilizzo, oppure dove si possa scaricare tali informazioni. Grazie ancora.
Loggato
BAT
Moderatore cattivo
Eng2ita Staff
***

Karma: 151
Offline Offline

Post: 1540


La conoscenza è potere. La conoscenza rende liberi


WWW
« Rispondi #2 il: 18/06/2012, 08:53 »

Inizia con la documentazione in linea
http://www.autoitscript.com/autoit3/docs/
Loggato

Blog: https://zerozerocent.blogspot.com
Legge di Murphy: SE QUALCOSA PUO' ANDAR MALE CI ANDRA'
Versione quantistica della legge di Murphy: TUTTO VA MALE CONTEMPORANEAMENTE
Fantoman
Newbie
*

Karma: 0
Offline Offline

Post: 17


« Rispondi #3 il: 18/06/2012, 18:58 »

Ciao a tutti

finalmente ho creato il mio primo script ( che funziona) non è elegante come i vostri ma la soddisfazione c'è tutta. Ho dovuto usare Macro Generator di Cmenu perche il AU3Record 3.3 mi crea un sacco di problemi. Inizialmente ho usato Autoit Windows info ma non ho fatto un buon lavoro (non funzionava) nonostante la tua ottima guida, spero nel futuro con la pratica di poter gestire meglio gli script per il momento è quello che mi basta perche li uso là dove i parametri silent no si trovano o si vuole creare una configurazione diversa in fase di installazione , da quella di default. Grazie ancora dell'aiuto e sicuramente ci sentiremo ancora, metto lo script che funziona cosi puoi dirmi dove sono i punti critici di tale script.

Codice:
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Outfile=nuovo.exe
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****

;--- AutoIt Macro Generator V 0.21 beta ---
Opt("WinTitleMatchMode", 4)
Run("vuex6490.exe","")
WinWait("Sicurezza di Windows","")
ControlClick("Sicurezza di Windows","","Button1")
WinWait("Informazioni su VueScan","Customer Number : ")
ControlClick("Informazioni su VueScan","Customer Number : ","Button4")
WinWait("Suggerimento del giorno","Mostra suggerimenti in fase di")
ControlClick("Suggerimento del giorno","Mostra suggerimenti in fase di","Button3")
WinWait("VueScan 9 x64 (9.0.90)","")
WinClose("VueScan 9 x64 (9.0.90)")

;--- End ---
Loggato
MISTER X ®
Eng2ita Staff
***

Karma: 77
Offline Offline

Post: 546



« Rispondi #4 il: 19/06/2012, 00:12 »

Bene Fantoman, se ti trovi bene con Macro Generator usalo pure... cerca però quando hai tempo e voglia di farlo completamente a mano lo script: l'esercitazione è alla base di tutto; allora, gli ho dato un'occhiata e mancano un paio di cose:
Codice:
#RequireAdmin
per OS con Vista  / Seven con UAC abilitato..... mi viene da pensare che tu lo abbia disabilitato questo UAC... e poi:
dal tuo script leggo
Codice:
Run("vuex6490.exe","")
ma... il percorso sarebbe bene specificarlo sempre:
Codice:
$VueScan_path = FileGetShortName(@ScriptDir & "\vuex6491.exe")
Run($VueScan_path)
(il nome del file eseguibile nel mio test è "vuex6491.exe")
ultima cosa: le ultime 2 righe:
Codice:
WinWait("VueScan 9 x64 (9.0.90)","")
WinClose("VueScan 9 x64 (9.0.90)")
andrebbero bene se non avessi scaricato per provare l'ultima versione, la 9.1.05 quindi o si scrive
Codice:
WinWait("VueScan 9 x64 (9.1.05)","")
WinClose("VueScan 9 x64 (9.1.05)")
oppure scriviamo questo:
Codice:
WinWait("VueScan 9 x64","")
WinClose("VueScan 9 x64")
in tal modo molto probabilmente funzionerà pure con la versione successiva del programma.
Quindi riepiloghiamo:

Codice:
#RequireAdmin
Opt("WinTitleMatchMode", 4)
$VueScan_path = FileGetShortName(@ScriptDir & "\vuex6491.exe")
Run($VueScan_path)
WinWait("Sicurezza di Windows", "")
ControlClick("Sicurezza di Windows", "", "Button1")
WinWait("Informazioni su VueScan", "Customer Number : ")
ControlClick("Informazioni su VueScan", "Customer Number : ", "Button4")
WinWait("Suggerimento del giorno", "Mostra suggerimenti in fase di")
ControlClick("Suggerimento del giorno", "Mostra suggerimenti in fase di", "Button3")
WinWait("VueScan 9 x64", "")
WinClose("VueScan 9 x64")

A parte queste puntualizzazioni non vedo problemi, continua così  Smiley
Ciao


Loggato
Fantoman
Newbie
*

Karma: 0
Offline Offline

Post: 17


« Rispondi #5 il: 19/06/2012, 16:33 »

Ciao a tutti

si effettivamente è vero il mio UAC è disabilitato. Vorrei sapere perchè chiami $VueScan_path mentre nell'altro script era $progdvb6_installer  ? c'è differenza tra chiamarlo installer o path ?.
Un altra cosa inizialmente ho usato Autoit Windows Info per trovare i parametri e i nomi delle maschere da scrivere ma non ci sono riuscito, mi spigo meglio in questa riga WinWait("Informazioni su VueScan", "Customer Number : ") io ero riuscito a trovare "informazioni su VueScan" ma "Costomer Number " no.... per la verità lo avevo trovato ma non avevo capito che era il termine da scrivere, anche se il video è fatto bene. Spero che queste mie mancanze siano dovute al fatto che ancora non ho molta pratica spero meglio per il futuro. Per il resto nessun problema continuerò a fare pratica utilizzando meglio le tue linee guida e alla peggio posterò il problema.
Ciao e grazie ancora.
Loggato
MISTER X ®
Eng2ita Staff
***

Karma: 77
Offline Offline

Post: 546



« Rispondi #6 il: 19/06/2012, 22:18 »

Citazione
Vorrei sapere perchè chiami $VueScan_path mentre nell'altro script era $progdvb6_installer  ? c'è differenza tra chiamarlo installer o path ?.
$VueScan_path e $progdvb6_installer sono delle variabili, le variabili possiamo battezzarle a proprio piacimento...
Ti consiglio di approfondire l'argomento sulle variabili con una delle guide in rete.
Loggato
Jack_Sparrow82
Newbie
*

Karma: 1
Offline Offline

Post: 47


« Rispondi #7 il: 02/01/2013, 23:01 »

ciao a tutti eccomi di nuovo a rompere...
Ho guardato quest'ottima guida di Mister X (a mio avviso la più semplice che c'è sul Web quindi complimenti).
Ho provato a creare uno script per vedere il funzionamento.
Lo script parte in automatico ma subito dopo si blocca anche se autoit info mi dice che il pulsante in questione è button 1 il programma non và avanti.
Allego lo script in modo da sapere dove sbaglio!
Codice:
#RequireAdmin ; essenziale se lo script deve girare anche sotto Vista o Seven i quali richiedono l'UAC
BlockInput(1) ; blocco ON di tastiera e mouse, importante nelle automazioni per evitare che l'utente prema i tasti in concomitanza con lo script, in caso di
; problemi usa la combinazione di tasti Alt X per uscire
Opt("WinTitleMatchMode", 4) ; metodo che viene utilizzato per abbinare i titoli della finestra durante le operazioni di ricerca
AutoItSetOption("MouseCoordMode", 0) ; metodo che usa il click del mouse con le coordinate relative alla finestra attiva
HotKeySet("!x", "HotExit") ; combinazione di tasti Alt X per uscire
Func HotExit() ; funzione per la hotkey
Exit
EndFunc   ;==>HotExit
$SoftMackerPro_Installer = FileGetShortName(@ScriptDir & "\ofw2012pro.exe") ;
; da eseguire (premi F1 per info) all'occorrenza edita questa riga oppure rinomina il file....
Run($SoftMackerPro_Installer) ; esegui il file.....
;~ Adesso parte la vera AUTOMAZIONE.....
If WinWait("[title:SoftMaker Office Professional 2012; class:#32770]", "", 10) Then ; attende 10 secondi questa finestra,
;  se la finestra non appare allo scadere dei 10 secondi termina lo script
ControlClick("[title:SoftMaker Office Professional 2012; class:#32770]", "", "Button1") ; clicca il "Button2"
WinWait("Installazione di SoftMaker Office Professional 2012 ", "Programma di installazione di SoftMaker Office Professional 2012.")
ControlClick("Installazione di SoftMaker Office Professional 2012 ", "Programma di installazione di SoftMaker Office Professional 2012", "Button2")
WinWait("Installazione di SoftMaker Office Professional 2012 ", "Scelta del tipo di installazione") ;
ControlClick("Installazione di SoftMaker Office Professional 2012 ", "Scelta del tipo di installazione", "Button3")
WinWait("Installazione di SoftMaker Office Professional 2012", "Installa l'applicazione per tutti gli utenti di questo computer")
ControlClick("Installazione di SoftMaker Office Professional 2012", "Installa l'applicazione per tutti gli utenti di questo computer", "Button1")
WinWait("Installazione di SoftMaker Office Professional 2012", "Pronto per l'installazione di SoftMaker Office Professional 2012.")
ControlClick("Installazione di SoftMaker Office Professional 2012", "Pronto per l'installazione di SoftMaker Office Professional 2012.", "Button1")
WinWait("Installazione di SoftMaker Office Professional 2012", "The first part of the installation of SoftMaker Office Professional 2012 has completed.")
    ControlClick("Installazione di SoftMaker Office Professional 2012", "The first part of the installation of SoftMaker Office Professional 2012 has completed.", "Button1")
    WinWait("SoftMaker Office 2012 Setup ", "Installation of SoftMaker Office Professional 2012 was completed successfully!")
    ControlClick("SoftMaker Office 2012 Setup ", "Installation of SoftMaker Office Professional 2012 was completed successfully!", "Button1") ; abbiamo finito...
    Else
Exit
    EndIf
    BlockInput(0) ; blocco OFF di tastiera e mouse
    Exit

Il software in questione è questo SoftMaker Office Professional 2012 quì il link ufficiale nel rispetto delle regole http://www.softmaker.com/english/ofw_en.htm
grazie a chi mi darà una risposta...

Loggato
MISTER X ®
Eng2ita Staff
***

Karma: 77
Offline Offline

Post: 546



« Rispondi #8 il: 03/01/2013, 01:55 »

Ciao Jack_Sparrow82, te lo guarderò in giornata e vedremo dove e perchè si blocca  Smiley
Quindi... a più tardi.
Loggato
Jack_Sparrow82
Newbie
*

Karma: 1
Offline Offline

Post: 47


« Rispondi #9 il: 03/01/2013, 11:24 »

Grazie mille Mister X sei grande!!!
« Ultima modifica: 03/01/2013, 15:42 da Jack_Sparrow82 » Loggato
MISTER X ®
Eng2ita Staff
***

Karma: 77
Offline Offline

Post: 546



« Rispondi #10 il: 03/01/2013, 14:29 »

Jack_Sparrow82, ti ricordo che scrivere stampatello equivale a urlare e in un forum non è segno di buona educazione  angry
Rileggiti il regolamento http://www.eng2ita.net/forum/index.php/topic,41.0.html  in particolare "linee guida" punto 7)
Per quanto riguarda SoftMaker Office Professional 2012 non è necessario adoperare autoit per l'automazione, basta leggere il file pdf per il deployment: http://www.softmaker.net/down/deployment2012.pdf  tieni presente che la procedura per l'estrazione del msi sotto Windows 8 fallisce probabilmente a causa dello smartscreen integrato; nessun problema invece sotto Windows Seven  Smiley
Loggato
Jack_Sparrow82
Newbie
*

Karma: 1
Offline Offline

Post: 47


« Rispondi #11 il: 03/01/2013, 15:50 »

Conosco bene le regole dei forum...è stata una mia distrazione e mi scuso...
Per quanto riguarda il software cosa c'è di sbagliato nel mio script???

Postato il: 03/01/2013, 14:54


scusa ancora Mister X,
stò provando e riprovando con autoit ma non riesco a capire l'errore...
Ho provato anche con CCleaner ti allego lo script così magari mi dici dov'è l'errore...
Codice:
#cs ----------------------------------------------------------------------------

AutoIt Version: 3.3.8.1
Author:         

Script Function:
CCleaner 3.2.6
installer utilizzato: "
Credits:


#ce ----------------------------------------------------------------------------

#RequireAdmin ; essenziale se lo script deve girare anche sotto Vista o Seven i quali richiedono l'UAC
BlockInput(1) ; blocco ON di tastiera e mouse, importante nelle automazioni per evitare che l'utente prema i tasti in concomitanza con lo script, in caso di
; problemi usa la combinazione di tasti Alt X per uscire
Opt("WinTitleMatchMode", 4) ; metodo che viene utilizzato per abbinare i titoli della finestra durante le operazioni di ricerca
AutoItSetOption("MouseCoordMode", 0) ; metodo che usa il click del mouse con le coordinate relative alla finestra attiva
HotKeySet("!x", "HotExit") ; combinazione di tasti Alt X per uscire
Func HotExit() ; funzione per la hotkey
Exit
  EndFunc   ;==>HotExit
  $ccsetup326_installer = FileGetShortName(@ScriptDir & "\ccsetup326.exe") ; FileGetShortName mi serve per ottenere il percorso breve 8.3 del file
; da eseguire (premi F1 per info) all'occorrenza edita questa riga oppure rinomina il file....
  Run($ccsetup326_installer) ; esegui il file.....
   If WinWait("[title:Apri file - Avviso di sicurezza; class:#32770]", "", 10) Then
ControlClick("[title:Apri file - Avviso di sicurezza; class:#32770]", "", "Button1")
WinWait("Installer Language ", "Please select a language.")
Send("{DOWN 3 }")
ControlClick("Installer Language ", "Please select a language.", "Button1")
WinWait("Installazione di CCleaner v3.26 ", "Questo programma installerà CCleaner v3.26 sul vostro computer.") ;
ControlClick("Installazione di CCleaner v3.26 ", "Questo programma installerà CCleaner v3.26 sul vostro computer.", "Button2")
WinWait("Installazione di CCleaner v3.26 ", "Software License Agreement for Consumers")
ControlClick("Installazione di CCleaner v3.26", "Software License Agreement for Consumers", "Button2")
WinWait("Installazione di CCleaner v3.26", "Opzioni di Installazione")
ControlClick("Installazione di CCleaner v3.26", "Opzioni di Installazione", "Button2")
WinWait("Installazione di CCleaner v3.26", "Scegli le opzioni aggiuntive")
     ControlClick("Installazione di CCleaner v3.26", "Scegli le opzioni aggiuntive", "Button2")
     WinWait("Installazione di CCleaner v3.26 ", "Selezionare Fine per chiudere il programma di installazione.")
ControlClick("Installazione di CCleaner v3.26", "elezionare Fine per chiudere il programma di installazione.", "Button2")

Else
Exit
EndIf
BlockInput(0) ; blocco OFF di tastiera e mouse
Exit
Più che altro è capire dove sbaglio...perchè mi fà come per l'altro script parte l'installazione ma non và avanti...
sicuramente sono io che sono ignorante in questo campo.Grazie per il tempo che mi stai dedicando!
Loggato
MISTER X ®
Eng2ita Staff
***

Karma: 77
Offline Offline

Post: 546



« Rispondi #12 il: 04/01/2013, 00:09 »

Citazione
stò provando e riprovando con autoit ma non riesco a capire l'errore...
non ti preoccupare, a volte l'intercettazione delle finestre fallisce per vari motivi, non resta altro che cercare soluzioni ai problemi; nel nostro caso quando le cose non vanno a buon fine invece di un 
Codice:
WinWait("Installazione di SoftMaker Office Professional 2012 ", "Programma di installazione di SoftMaker Office Professional 2012.")
si può sempre scrivere 
Codice:
WinWait("[title:Installazione di SoftMaker Office Professional 2012; class:MsiDialogCloseClass]", "")
dando perciò una descrizione avanzata della finestra: per approfondire leggi qua: http://www.autoitscript.com/autoit3/docs/intro/windowsadvanced.htm
Con qualche piccola variazione il seguente codice mi lavora bene sotto Xp (non testato in altri Os):

Codice:
#RequireAdmin ; essenziale se lo script deve girare anche sotto Vista o Seven i quali richiedono l'UAC
BlockInput(1) ; blocco ON di tastiera e mouse, importante nelle automazioni per evitare che l'utente prema i tasti in concomitanza con lo script, in caso di
; problemi usa la combinazione di tasti Alt X per uscire
Opt("WinTitleMatchMode", 4) ; metodo che viene utilizzato per abbinare i titoli della finestra durante le operazioni di ricerca
AutoItSetOption("MouseCoordMode", 0) ; metodo che usa il click del mouse con le coordinate relative alla finestra attiva
HotKeySet("!x", "HotExit") ; combinazione di tasti Alt X per uscire
Func HotExit() ; funzione per la hotkey
Exit
EndFunc   ;==>HotExit
$SoftMackerPro_Installer = FileGetShortName(@ScriptDir & "\ofw2012pro.exe") ;
; da eseguire (premi F1 per info) all'occorrenza edita questa riga oppure rinomina il file....
Run($SoftMackerPro_Installer) ; esegui il file.....
;~ Adesso parte la vera AUTOMAZIONE.....
If WinWait("[title:SoftMaker Office Professional 2012; class:#32770]", "", 10) Then ; attende 10 secondi la finestra di scelta lingua...
;  se la finestra non appare allo scadere dei 10 secondi termina lo script
ControlClick("[title:SoftMaker Office Professional 2012; class:#32770]", "", "Button1") ; clicca il "Button1 scelta lingua ita...
WinWait("[title:Installazione di SoftMaker Office Professional 2012; class:MsiDialogCloseClass]", "")
ControlClick("[title:Installazione di SoftMaker Office Professional 2012; class:MsiDialogCloseClass]", "", "Button1") ; step1
WinWait("[title:Installazione di SoftMaker Office Professional 2012; class:MsiDialogNoCloseClass]", "") ;
ControlClick("[title:Installazione di SoftMaker Office Professional 2012; class:MsiDialogNoCloseClass]", "", "Button3") ; step2....scegli installazione completa
WinWait("Installazione di SoftMaker Office Professional 2012", "Additional Options")
ControlClick("Installazione di SoftMaker Office Professional 2012", "Additional Options", "Button1") ; step3
WinWait("Installazione di SoftMaker Office Professional 2012", "Pronto per l'installazione di SoftMaker Office Professional 2012.")
ControlClick("Installazione di SoftMaker Office Professional 2012", "Pronto per l'installazione di SoftMaker Office Professional 2012.", "Button1")
WinWait("Installazione di SoftMaker Office Professional 2012", "The first part of the installation of SoftMaker Office Professional 2012 has completed.")
ControlClick("Installazione di SoftMaker Office Professional 2012", "The first part of the installation of SoftMaker Office Professional 2012 has completed.", "Button1")
WinWait("[title:SoftMaker Office 2012 Setup; class:#32770]", "")
If WinActive("[title:SoftMaker Office 2012 Setup; class:#32770]", "") = 0 Then WinActivate("[title:SoftMaker Office 2012 Setup; class:#32770]", "")
ControlClick("[title:SoftMaker Office 2012 Setup; class:#32770]", "", "Button1")
Else
Exit
EndIf
    BlockInput(0) ; blocco OFF di tastiera e mouse
Exit
Loggato
MISTER X ®
Eng2ita Staff
***

Karma: 77
Offline Offline

Post: 546



« Rispondi #13 il: 04/01/2013, 01:55 »

CCleaner:

Codice:
#RequireAdmin ; essenziale se lo script deve girare anche sotto Vista o Seven i quali richiedono l'UAC
BlockInput(1) ; blocco ON di tastiera e mouse, importante nelle automazioni per evitare che l'utente prema i tasti in concomitanza con lo script, in caso di
; problemi usa la combinazione di tasti Alt X per uscire
Opt("WinTitleMatchMode", 4) ; metodo che viene utilizzato per abbinare i titoli della finestra durante le operazioni di ricerca
AutoItSetOption("MouseCoordMode", 0) ; metodo che usa il click del mouse con le coordinate relative alla finestra attiva
HotKeySet("!x", "HotExit") ; combinazione di tasti Alt X per uscire
Func HotExit() ; funzione per la hotkey
Exit
EndFunc   ;==>HotExit
$ccsetup326_installer = FileGetShortName(@ScriptDir & "\ccsetup326.exe") ; FileGetShortName mi serve per ottenere il percorso breve 8.3 del file
; da eseguire (premi F1 per info) all'occorrenza edita questa riga oppure rinomina il file....
Run($ccsetup326_installer) ; esegui il file.....
If WinWait("[title:Installer Language; class:#32770]", "Please", 10) Then ; attende 10 secondi la finestra di scelta lingua...
;~ Send("{DOWN 3 }")
ControlClick("[title:Installer Language; class:#32770]", "Please", "Button1") ;
WinWait("[title:Installazione di CCleaner; class:#32770]", "Benvenuti nel programma")
ControlClick("[title:Installazione di CCleaner; class:#32770]", "Benvenuti nel programma", "Button2") ;
WinWait("[title:Installazione di CCleaner; class:#32770]", "Licenza d'uso")
ControlClick("[title:Installazione di CCleaner; class:#32770]", "Licenza d'uso", "Button2") ;
WinWait("[title:Installazione di CCleaner; class:#32770]", "Opzioni di Installazione")
ControlClick("[title:Installazione di CCleaner; class:#32770]", "Opzioni di Installazione", "Button2")
If WinWait("[title:Installazione di CCleaner; class:#32770]", "Scegli le opzioni aggiuntive",2) Then ControlClick("[title:Installazione di CCleaner; class:#32770]", "Scegli le opzioni aggiuntive", "Button2")
WinWait("[title:Installazione di CCleaner; class:#32770]", "Completamento ")
ControlClick("[title:Installazione di CCleaner; class:#32770]", "Completamento ", "Button5")
ControlClick("[title:Installazione di CCleaner; class:#32770]", "Completamento ", "Button6")
ControlClick("[title:Installazione di CCleaner; class:#32770]", "Completamento ", "Button2")
Else
Exit
EndIf
BlockInput(0) ; blocco OFF di tastiera e mouse
Exit
Loggato
Jack_Sparrow82
Newbie
*

Karma: 1
Offline Offline

Post: 47


« Rispondi #14 il: 04/01/2013, 15:48 »

grazie mille Mister X ®
sei stato veramente gentile...ora mi sembra di iniziare a capirci un pò di più e solo grazie a te!!! Wink
Spero di imparare il più possibile su questo splendido programma
Loggato
Pagine: 1 2 3 4
  Stampa  
 
Salta a:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines | Sitemap XHTML 1.0 Valido! CSS Valido!

Eng2ita.net - Tutti i diritti riservati ©2006-2015   |   Privacy policy |   Licenza Creative Commons