ENG2ITA Community

Hardware e software => Programmazione e scripting => Topic aperto da: Mr.X - 17/06/2012, 16:19

Titolo: [GUIDA] Automatizzare un installer con Autoit
Inserito da: Mr.X - 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 (http://autoitscript.com/files/autoit3/autoit-v3-setup.exe) e Scite4Autoit3 (http://autoitscript.com/autoit3/scite/download/SciTE4AutoIt3.exe) 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: [Seleziona]
; Script Start - Add your code below hereDunque, le righe che seguono possono essere valide per tutti gli script di automazione, cioè per automatizzare altri installer:
Codice: [Seleziona]
#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: [Seleziona]
$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 (http://www.autoitscript.com/autoit3/docs/intro/au3spy.htm) tool che è compreso in Autoit.
Si è deciso di iniziare l'automazione con:
Codice: [Seleziona]
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:

https://www.youtube.com/watch?v=HC_zRI8n1rs&feature=plcp

Abbiamo finito, o quasi, ricordiamoci di inserire:
Codice: [Seleziona]
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: [Seleziona]
BlockInput(0) ; blocco OFF di tastiera e mouse Come ultima riga possiamo inserire
Codice: [Seleziona]
Exit anche se lo script, al termine, uscirebbe comunque.
Ecco quindi come risulterà lo script completo:

Codice: [Seleziona]
#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
Titolo: Re: [GUIDA] Automatizzare un installer con Autoit
Inserito da: Fantoman - 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.
Titolo: Re: [GUIDA] Automatizzare un installer con Autoit
Inserito da: BAT - 18/06/2012, 08:53
Inizia con la documentazione in linea
http://www.autoitscript.com/autoit3/docs/
Titolo: Re: [GUIDA] Automatizzare un installer con Autoit
Inserito da: Fantoman - 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: [Seleziona]
#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 ---
Titolo: Re: [GUIDA] Automatizzare un installer con Autoit
Inserito da: Mr.X - 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: [Seleziona]
#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: [Seleziona]
Run("vuex6490.exe","") ma... il percorso sarebbe bene specificarlo sempre:
Codice: [Seleziona]
$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: [Seleziona]
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: [Seleziona]
WinWait("VueScan 9 x64 (9.1.05)","")
WinClose("VueScan 9 x64 (9.1.05)")
oppure scriviamo questo:
Codice: [Seleziona]
WinWait("VueScan 9 x64","")
WinClose("VueScan 9 x64")
in tal modo molto probabilmente funzionerà pure con la versione successiva del programma.
Quindi riepiloghiamo:

Codice: [Seleziona]
#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ì  :)
Ciao


Titolo: Re: [GUIDA] Automatizzare un installer con Autoit
Inserito da: Fantoman - 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.
Titolo: Re: [GUIDA] Automatizzare un installer con Autoit
Inserito da: Mr.X - 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.
Titolo: Re: [GUIDA] Automatizzare un installer con Autoit
Inserito da: Jack_Sparrow82 - 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: [Seleziona]
#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...

Titolo: Re: [GUIDA] Automatizzare un installer con Autoit
Inserito da: Mr.X - 03/01/2013, 01:55
Ciao Jack_Sparrow82, te lo guarderò in giornata e vedremo dove e perchè si blocca  :)
Quindi... a più tardi.
Titolo: Re: [GUIDA] Automatizzare un installer con Autoit
Inserito da: Jack_Sparrow82 - 03/01/2013, 11:24
Grazie mille Mister X sei grande!!!
Titolo: Re: [GUIDA] Automatizzare un installer con Autoit
Inserito da: Mr.X - 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  :)
Titolo: Re: [GUIDA] Automatizzare un installer con Autoit
Inserito da: Jack_Sparrow82 - 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: [Seleziona]
#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!
Titolo: Re: [GUIDA] Automatizzare un installer con Autoit
Inserito da: Mr.X - 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: [Seleziona]
WinWait("Installazione di SoftMaker Office Professional 2012 ", "Programma di installazione di SoftMaker Office Professional 2012.") si può sempre scrivere 
Codice: [Seleziona]
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: [Seleziona]
#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
Titolo: Re: [GUIDA] Automatizzare un installer con Autoit
Inserito da: Mr.X - 04/01/2013, 01:55
CCleaner:

Codice: [Seleziona]
#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
Titolo: Re: [GUIDA] Automatizzare un installer con Autoit
Inserito da: Jack_Sparrow82 - 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!!! ;)
Spero di imparare il più possibile su questo splendido programma
Titolo: Re: [GUIDA] Automatizzare un installer con Autoit
Inserito da: Mr.X - 04/01/2013, 20:39
Sei sempre benvenuto Jack_Sparrow82   ;D
Titolo: Re: [GUIDA] Automatizzare un installer con Autoit
Inserito da: Jack_Sparrow82 - 06/01/2013, 00:10
Grazie della tua disponibiltà Mister X®,
non vorrei abusare della tua gentilezza,prima di chiedere ho provato a guardare le guide in linea di Autoit ma non ho capito come fare...
se di alcuni software volessi togliere o mettere il flag come si fà? Ci sono alcuni software che a fine installazione ti chiedono avvia software con il quadratino già selezionato e non riesco a rimuovere la spunta....


Un altro problema che a me sembra impossibile da fare con Autoit è l'installazione di Aimp 3...Appena si avvia il sistema chiede la lingua ma ne con tab ne con Down quindi non sò ...

Mi spiace disturbarti ma se riuscissi a spiegarmi queste 2 cose mi faresti un grosso piacere... ;)
Titolo: Re: [GUIDA] Automatizzare un installer con Autoit
Inserito da: Mr.X - 07/01/2013, 00:54
Codice: [Seleziona]
se di alcuni software volessi togliere o mettere il flag come si fà? fai con controlclick, per intercettare il controllo trascini il mirino di autoit windows info sul segno di spunta da togliere e ti darà la descrizione.
Per aimp3 è vero che non accetta comandi da tastiera ma potevi tentare la simulazione del solo mouse ed ecco la parziale soluzione:
Codice: [Seleziona]
#RequireAdmin
AutoItSetOption("MouseCoordMode", 0)
$aimp3_installer = FileGetShortName(@ScriptDir & "\aimp_3.00.976.exe")
Run($aimp3_installer)
BlockInput(1)
WinWait("[title:Select Language; class:TInstallerLanguageDialog]", "")
MouseClick("primary", 118, 88, 2)
; altri comandi....
; altri comandi....
; altri comandi....
BlockInput(0)

Con questo esempio automatizzi solo la prima finestra (quella della lingua), per il resto prova ad andare avanti da solo, poi facci sapere  :D
Titolo: Re: [GUIDA] Automatizzare un installer con Autoit
Inserito da: Jack_Sparrow82 - 07/01/2013, 13:48
ok ti ringrazio molto...
ho provato su seven ma mi dava errore,ho dovuto un pò correggere lo scipt.con seven ho tolto
BlockInput(1)
BlockInput(0)
e và....
Ora ho provato a guardare da dove hai preso i parametri del mouse ma non li ho trovati.Penso che per il resto ci siamo...Ci stò dietro parecchio e stò facendo un sacco di esercizi ( secondo me è tutto)
Se riesci a spiegarmi in parole semplici da dove prendere i parametri del mouse ti ringrazio.Le prove che ho fatto io mi cliccava in punti dello schermo che non c'entravano niente  :D
Sono anni che cerco di imparare un minimo di autoit e ora grazie a te ci stò riuscendo.
Grazie Mister X sei mitico!!!!!!!!!!!!
Titolo: Re: [GUIDA] Automatizzare un installer con Autoit
Inserito da: Jack_Sparrow82 - 07/01/2013, 22:50
Niente da fare...Ci ho provato un sacco di tempo a capire come cavolo hai trovato quei parametri
MouseClick("primary", 118, 88, 2)
Io ho provato questi parametri e funzionano cliccano sul tasto....Ho guardato la guida in linea e altri software x le coordinate del mouse ma niente...
Quando hai un minuto mi spieghi come si trovano le coordinate del mouse con autoit???
Grazie di nuovo
Titolo: Re: [GUIDA] Automatizzare un installer con Autoit
Inserito da: Mr.X - 08/01/2013, 22:38
Le coordinate devono essere relative alla finestra attiva, quindi imposta options --> coord mode come in figura e in seguito trascina il mirino sul bottone "OK" della finestra del programma da automatizzare:

(https://www.eng2ita.net/forum/proxy.php?request=http%3A%2F%2Fi.imgur.com%2Fbi81i.png&hash=bfc043e65f0bcdc09824019d1b932985dda007e5)
Titolo: Re: [GUIDA] Automatizzare un installer con Autoit
Inserito da: Jack_Sparrow82 - 09/01/2013, 01:31
non sò come ringraziarti Mister X®sei veramente un grande!!!!!!!! Un esempio per questo forum.......Finalemnte sono riuscito a capire come funziona a grandi linee Autoit ( Sicuramente tornerò a romperti per delucidazioni  :P )
Ecco il mio installer di Aimp 3.2.0 funzionante!!!!!!!!!!!!!!!!!!!!!!!!
Codice: [Seleziona]
#cs ----------------------------------------------------------------------------

AutoIt Version: 3.3.8.1
Author:         JackSparrow_82

Script Function:
Aimp 3.20
Credits:
Script creato da JackSparrow_82

#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
$aimp3_installer = FileGetShortName(@ScriptDir & "\aimp3.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($aimp3_installer) ; esegui il file.....
If WinWait("[title:Select Language; class:TInstallerLanguageDialog]", "", 10) Then ; attende 10 secondi la finestra di scelta lingua...
;~ Send("{DOWN 3 }")
ControlClick("[title:Select Language; class:TInstallerLanguageDialog]", "", "TMySkinImageComboBox1")
Send("{DOWN 8}")
WinWait("[title:Select Language; class:TInstallerLanguageDialog]", "")
Send("{ENTER}")
MouseClick("primary", 118, 86)
WinWait("[title:AIMP3 Installazione Guidata; class:TInstallerForm]", "PageWelcome")
MouseClick("primary", 464, 398)
WinWait("[title:AIMP3 Installazione Guidata; class:TInstallerForm]", "PageLicense")
MouseClick("primary", 23, 352)
MouseClick("primary", 460, 396)
WinWait("[title:AIMP3 Installazione Guidata; class:TInstallerForm]", "PageSetup")
MouseClick("primary", 466, 395)
WinWait("[title:AIMP3 Installazione Guidata; class:TInstallerForm]", "PageIntegration")
MouseClick("primary", 460, 397)
WinWait("[title:AIMP3 Installazione Guidata; class:TInstallerForm]", "PageFinish")
MouseClick("primary", 199, 153)
MouseClick("primary", 466, 397)




Else
Exit
EndIf
BlockInput(0) ; blocco OFF di tastiera e mouse
Exit

Potrebbe essere utile a qualcuno...l'installer è stato testato con Windows 7 Ultimate  ;)
Titolo: Re: [GUIDA] Automatizzare un installer con Autoit
Inserito da: Mr.X - 09/01/2013, 22:22
JackSparrow_82, sono felice di vedere i primi risultati, continua così    ;D
Titolo: Re: [GUIDA] Automatizzare un installer con Autoit
Inserito da: Jack_Sparrow82 - 10/01/2013, 11:15
grazie!!!!!!!!!!1
ma è solo merito tuo...Adesso continuo ad esercitarmi...poi ti farò sapere come vanno i progressi maestro!!!!  ;)
Titolo: Re: [GUIDA] Automatizzare un installer con Autoit
Inserito da: Jack_Sparrow82 - 10/01/2013, 17:47
Ho fatto un sacco di esperimenti e prove (oltre a leggere la guida in linea che su alcuni aspetti per me è incomprensibile  ;D ) tutti con esito positivo.Volevo chiederti se ti è mai capitato di fare un installazione di un software con autoit tipo Adobe flash player mi risulta difficile capire come fare per installarlo fleggando sulle icone finali.

Poi ho avuto problemi con l'installazione di Office.Tutto ok fino all'inserimento del mio seriale.
Ho provato send ( xxxx-xxxx-xxxx) ma non lo accetta.

Però per il resto mi stò sbizzarrendo e tutti i software creati vanno tutti!!!!!!!!!!
Non smetterò mai di ringraziarti MisterX mi hai aperto un mondo!!!! e mi diverto con questo splendido software!!!!
Titolo: Re: [GUIDA] Automatizzare un installer con Autoit
Inserito da: Mr.X - 10/01/2013, 21:13
Citazione
ti è mai capitato di fare un installazione di un software con autoit tipo Adobe flash player
per flash player non uso autoit: è inutile... ti scarichi il pacchetto msi e sei a posto; comunque presumo che, se usi l'exe per togliere i segni di spunta, tu possa tranquillamente usare il controlclick.
 
Citazione
Ho provato send ( xxxx-xxxx-xxxx) ma non lo accetta.
devi usare controlsend http://www.autoitscript.com/autoit3/docs/functions/ControlSend.htm
Buon... studio!  :D
Titolo: Re: [GUIDA] Automatizzare un installer con Autoit
Inserito da: Jack_Sparrow82 - 10/01/2013, 21:44
grazie ci proverò!!!!!!!!!!!!!
Si forse hai ragione scarico il pacchetto msu e sono a posto!
Però così per essere pignoli non accetta il controlclick perchè viene fatto prima....per capirmi dovresti provarlo  ;D
Titolo: Re: [GUIDA] Automatizzare un installer con Autoit
Inserito da: Jack_Sparrow82 - 16/01/2013, 12:07
Ciao Mister X ®,
dopo tantissime prove ed esperimenti direi che sono arrivato ad un livello accettabile per quello che devo fare io.
Ho un solo problema con un software (ma penso che mi possa tornare utile anche per altri software).
Il software in questione è Xwidget scaricabile dalla fonte quì http://www.xwidget.com/
Sembrava una stupidata l'installazione :D ma arrivato ad un certo punto non riesco più ad andare avanti!
Mi blocco quando arriva una schermata supplementare che andrebbe ad installare le toolbar di babilon se non ricordo male...
Il problema è che se uso il mouseclick questo comando viene eseguito prima e quindi quando si presenta la schermata ,Autoit ha già eseguito i passaggi con il mouse quindi non và avanti.
Tutto questo avviene perchè quando Xwidget carica questa schermata c'è in mezzo un attendere... e quindi non sò come ritardare il mouseclick...
Spero di essermi spiegato bene  :)
Quando hai tempo e voglia di guardarlo ti ringrazio fin d'ora...Buona giornata
Titolo: Re: [GUIDA] Automatizzare un installer con Autoit
Inserito da: Fantoman - 17/01/2013, 11:40
Ciao a tutti

per creare gli script installer bisogna necessariamente installare i programmi e quindi ho creato una macchina virtuale con VMWare per quete installazioni. Vorrei sapere se esiste un sistema più semplice non sò un applicazione che simuli l'installazione del software cosi da poter tracciare tutti i passaggi ma che alla fine non sia installata. Spero di essere stato chiaro nel fare questa domanda perche ogni volta che installi e disinstalli cmq crei dei cambiamenti in win 7 e anche se utilizzo RevoUnistaller, Cclener qualcosina rimane sempre.
Titolo: Re: [GUIDA] Automatizzare un installer con Autoit
Inserito da: Mithril03ita - 17/01/2013, 13:35
C'è un modo che durante l'installazione mi nasconde le finestre di installazione? ho fatto lo script su AutoIt di Adobe Reader XI solo che quando lo installa durante l'installazione di XP mi escono tutte quelle finestre dove clicca da solo i bottoni. C'è qualcosa per nascondere tutto? Grazie in anticipo
Titolo: Re: [GUIDA] Automatizzare un installer con Autoit
Inserito da: Jack_Sparrow82 - 17/01/2013, 14:36
prova a mettere in winrar /s esempio quando lanci il tuo installer ,fai conto che lo hai nominato adobe_script.exe
prova a farlo eseguire con adobe_script.exe /s magari aggiungi /s /verysilent
fammi sapere...

Se non ti scoccia mi passi il tuo script di adobe reader?
io non sono riuscito a renderlo perfettamente silent la versione 11...ciaoooo
Titolo: Re: [GUIDA] Automatizzare un installer con Autoit
Inserito da: BAT - 17/01/2013, 17:36
Non è conveniente catturare le finestre con AutoIT per installare Adobe Reader, si può fare in modo molto più semplice e pulito.
Vi allego un esempio di script AutoIT per Adobe Reader X + patch a 10.0.1.

Lo script prevede che nella cartella dello script ci siano 3 file, che sono:

Per generare AcroRead.mst dovete scaricare Adobe Customization Wizard XI (https://www.adobe.com/support/downloads/detail.jsp?ftpID=5515), avviarlo, impostare tutte le opzioni che volete (per esempio accettazione automatica licenza, regole di sicurezza ecc.) Quando avete finito il programma vi genera il file .mst con tutte le impostazioni per il silent install.
L'esempio che allego è per la versione X non per la XI, ma la sintassi dovrebbe essere simile; alla fine lo script autoit deve solo lanciare l'installazione coi parametri giusti (in effetti neanche ci sarebbe bisogno di AutoIT).

Detto ciò non posso supportarvi oltre, ho abbandonato le installazioni unattended da più di un anno.

P.S.
vi ricordo che le istruzioni che cominciano con un punto e virgola ";" sono disattive. Inoltre se non dovete applicare patch non avete bisogno del file di patch e la sintassi è ancora più semplice.
Titolo: Re: [GUIDA] Automatizzare un installer con Autoit
Inserito da: Jack_Sparrow82 - 17/01/2013, 17:42
ok bat ci guardo...
Però scusa la testardaggine ma come mai sconsigli autoit per adobe reader? In teoria sono 2-3 passaggi (naturalmente per chi è capace)...io non ci sono riuscito  :o
Titolo: Re: [GUIDA] Automatizzare un installer con Autoit
Inserito da: BAT - 17/01/2013, 17:51
Non ho sconsigliato AutoIT, ho detto che non è necessario fare lo script in AutoIT simulando i click che faresti sull'installazione manuale;

cosa fai per esempio quando lanci un'installazione? in genere premi il pulsante "Avanti" ossia clicki con il mouse su un certo pulsante; con lo strumento di cattura AutoIT intercetti questo click e hai un comando per lo script; poi l'installazione prosegue e dovrai accettare una licenza --> nuovo comando autoit per selezionare la casella di accetttazione...
e così via fino alla fine dell'installazione. Costruirai così uno script più o meno lungo E LA FINESTRA COMPARE A VIDEO;

invece puoi sempre usare AutoIT ma per dare direttamente il comando di silent install che, per Adobe Reader è qualcosa di simile a:
AdbeRdrXYZ.msi TRANSFORMS=AcroRead.mst /qn
che in AutoIT scrivi all'incirca così:
RunWait(@SystemDir & '\msiexec /i ' & $setupFile & ' TRANSFORMS="' & $transforms & '" /qn')
c'è da fare un po' d'attenzione ad apici e virgolette doppie per applicare bene i parametri di installazione, ma il concetto è chiaro: invece di simulare l'installazione è meglio farla direttamente unattended.

ma per fare questo prima ti devi generare con l'applicazione che ti dicevo il file AcroRead.mst;
per fare questo basterebbe anche un .cmd ben fatto, io lo feci in AutoIT perché mi era più comodo all'epoca (scaricati lo script AutoIT che ho allegato nel post precedente).

Suggerisco prima di fare l'installazione vera dal propmpt dei comandi per verificare quali sono i parametri giusti e poi di "tradurre" il comando nella sintassi AutoIT.
Titolo: Re: [GUIDA] Automatizzare un installer con Autoit
Inserito da: Jack_Sparrow82 - 17/01/2013, 19:04
ho capito bat e grazie della spiegazione...spero di riuscirci...
Ora aspetto l'amico Mister X per delucidazioni su un software  ;D
Titolo: Re: [GUIDA] Automatizzare un installer con Autoit
Inserito da: BAT - 17/01/2013, 20:51
Ora aspetto l'amico Mister X per delucidazioni su un software  ;D
già che ci sei prova a guardare il tool di MisterX che si chiama AutoX (lo ha scritto con autoIt); crea automaticamente i pack per le installazioni unattended:
http://www.eng2ita.net/forum/index.php/topic,7303.0.html
Titolo: Re: [GUIDA] Automatizzare un installer con Autoit
Inserito da: Mr.X - 17/01/2013, 22:49
Ciao a tutti,
@Jack_Sparrow82 : chiedo scusa ma neppure oggi mi è uscito il tempo per buttare un occhio su quel software, ti prego di pazientare ancora un po'.
@Fantoman : per non sporcare il sistema operativo con varie installazioni e disinstallazioni in alternativa alla vm, macchina virtuale, c'è il software di Acronis, il True Image che lo potremo usare in 2 modi:
l'immagine del sistema è di basilare importanza per ripristinare tutto in pochi minuti ma non è molto adatta per dei rapidi test dei software; è invece molto interessante la funzionalità Try&Decide che ci consente la scelta di applicare o meno le modifiche fatte dal software nel sistema in uso.
@BAT : grazie per i tuoi interventi;
Citazione
già che ci sei prova a guardare il tool di MisterX che si chiama AutoX
va aggiornato  :ashamed:
Titolo: Re: [GUIDA] Automatizzare un installer con Autoit
Inserito da: Jack_Sparrow82 - 17/01/2013, 23:21
figurati Maestro  :)
già è tanto che mi dedichi del tempo...Appena hai tempo .Grazie buona serata
Titolo: Re: [GUIDA] Automatizzare un installer con Autoit
Inserito da: Fantoman - 18/01/2013, 13:31
Ciao a tutti

dopo diverso tempo stò riprendendo, o meglio stò provando a scrivere dei script per fare delle automazioni. Ho ripreso lo script della guida e ( cmq ho fatto a mano e non più con macroRecord) ho creato quello per Cclener326, dopo qualche tentativo è venuto bene parte e si installa e finisce,. Per essere sicuro che funzionasse correttamente l'ho provato in una macchina virtuale pulita ( prima installazione) e qui sono sorti dei problemi, innanzi tutto il UAC che io pensavo non lo chidesse grazie all'istruzione "Requireadmin", ma forse sbaglio. Seconda cosa appare una nuovo messaggio prima dell'installazione vera e propria per decidere se installare crome e la toobar ( cosa che non accadeva nel pc normale), ho provato a deselezionare le voci che però mi appaiono come Static16 tutte e due e controlclick non le deseleziona.
Aggiungo lo script e un'iimagine e per finire non ho capito le due istruzioni finali per cancellare le scorciatoie e link che però ho aggiunto nello script ma sono disabilitate.

Spoiler
(https://www.eng2ita.net/forum/proxy.php?request=http%3A%2F%2Fimg252.imageshack.us%2Fimg252%2F5889%2Ftest01jan181251.jpg&hash=727b0f1d50bbcb4cd6259e7f33e2f7ef90023f73) (http://imageshack.us/photo/my-images/252/test01jan181251.jpg/)

Uploaded with ImageShack.us (http://imageshack.us)
[close]

Codice:
Codice: [Seleziona]
----------------------------------------------------------------------------

 AutoIt Version: 3.3.8.1
 Author:         myName

 Script Function:
Template AutoIt script.

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

; Script Start - Add your code below here

#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
$cc326_installer = FileGetShortName(@ScriptDir & "\CC326.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($cc326_installer) ; esegui il file.....
;~ Adesso parte la vera AUTOMAZIONE.....
If WinWait("[title:Installer Language; class:#32770]", "", 10) Then ; attende 10 secondi questa finestra,
ControlClick("[title:Installer Language; class:#32770]", "", "Button1")
WinWait("Installazione di CCleaner v3.26", "Benvenuti nel programma di installazione di CCleaner v3.26")
ControlClick("Installazione di CCleaner v3.26", "Benvenuti nel programma di installazione di CCleaner v3.26", "Button2")
WinWait("Installazione di CCleaner v3.26", "Licenza d'uso")
ControlClick("Installazione di CCleaner v3.26", "Licenza d'uso", "Button2")
WinWait("Installazione di CCleaner v3.26", "Opzioni di Installazione")
ControlClick("Installazione di CCleaner v3.26", "Opzioni di Installazione", "Button6")
ControlClick("Installazione di CCleaner v3.26", "Opzioni di Installazione", "Button7")
ControlClick("Installazione di CCleaner v3.26", "Opzioni di Installazione", "Button8")
ControlClick("Installazione di CCleaner v3.26", "Opzioni di Installazione", "Button9")
ControlClick("Installazione di CCleaner v3.26", "Opzioni di Installazione", "Button2")
WinWait("Installazione di CCleaner v3.26", "Completamento dell'installazione di CCleaner v3.26.")
ControlClick("Installazione di CCleaner v3.26", "Completamento dell'installazione di CCleaner v3.26.", "Button5")
ControlClick("Installazione di CCleaner v3.26", "Completamento dell'installazione di CCleaner v3.26.", "Button6")
ControlClick("Installazione di CCleaner v3.26", "Completamento dell'installazione di CCleaner v3.26.", "Button2")
WinWait("Installazione di CCleaner v3.26", "Scegli le opzioni aggiuntive")
ControlClick("Installazione di CCleaner v3.26", "Scegli le opzioni aggiuntive", "Static16")
; 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

per il resto sono contento anche se non è nulla di eccezionale.
Grazie a tutti.
Titolo: Re: [GUIDA] Automatizzare un installer con Autoit
Inserito da: BAT - 19/01/2013, 15:58
Un suggerimento di utilità generale: come dicevo nel post precedente su Adobe Reader, spesso non è necessario catturare i passi dell'installazione; Ccleaner ha già sul sito una versione "portable" in formato zip, ti conviene automatizzare quella, basta dare in autoit i comandi di copia e/o estrazione del file zip.
Titolo: Re: [GUIDA] Automatizzare un installer con Autoit
Inserito da: Fantoman - 19/01/2013, 18:47
Ciao

grazie BAT per la risposta ma la mia era più una prova perchè e stò ancora imparando ad utilizzare Autoit, altrimenti avrei usato i classici parametri silent che però mi avrebbero messo anche collegamenti e quant'altro. Ora il mio problema è capire l'errore e proseguire con altri software per automatizzarli, poi creare regole automatizzate di altro genere eccc... ecc....  , in ultima analisi Ccleaner preferisco la versione da installare.

Aggiornamento:

chiedo scusa ma non mi ero proprio accorto che proprio ccleaner viene trattato nella prima pagina e la stessa versione per di più, ad ogni modo penso che succeda questo perche nel win 7 in macchina virtuale non è ancora stato installato il browser predefinito e quindi chiede se installare chrome e la toobar. Ho notato un altra strana cosa con Autoit 3.2.8 la finestra incriminata mi dava static16 mentre con Autoit 3.3.8 mi dà tutt'altra informazione quindi adesso disinstallo il tutto e riprovo e poi mi faccio sentire. Rimane il propblema dell'UAC pensavo che lo script potesse disabilitarlo oppure basta inserire il comendo nello script normalmente intercettando la finestara e dando si, in questo caso per chi ce l'ha già disabilitato succede qualcosa ?
Altre domanda ho notato che negli script di CCleaner trattato da MisterX e da me ci sono delle info diverse come se fossero abbreviazioni es:

MisterX

Citazione
ControlClick("Installazione di CCleaner v3.26", "Completamento dell'installazione di CCleaner v3.26.", "Button5")
   ControlClick("Installazione di CCleaner v3.26", "Completamento dell'installazione di CCleaner v3.26.", "Button6")
   ControlClick("Installazione di CCleaner v3.26", "Completamento dell'installazione di CCleaner v3.26.", "Button2")

mentre nel mio

Citazione
WinWait("Installazione di CCleaner v3.26", "Opzioni di Installazione")
   ControlClick("Installazione di CCleaner v3.26", "Opzioni di Installazione", "Button6")
   ControlClick("Installazione di CCleaner v3.26", "Opzioni di Installazione", "Button7")
   ControlClick("Installazione di CCleaner v3.26", "Opzioni di Installazione", "Button8")
   ControlClick("Installazione di CCleaner v3.26", "Opzioni di Installazione", "Button9")
   ControlClick("Installazione di CCleaner v3.26", "Opzioni di Installazione", "Button2")

oltre alle abbreviazioni in completamento non capisco perche lo scirpt sia cosi diverso. Ribadisco che funziona benissimo ma solo nel PC che uso normalmente dove in Browser è installato e quindi non esce la finestra che vedete nell'immagine perche in quel caso si blocca e devo chiuderlo da taskbar.

MisterX non avevo visto che la risposta l'ho trovata cmq.


Ulterioere ggiornamento:

Dopo aver reinstallato Autoit e Scite aggiorno con un immagine forse si capirà meglio il problema:

Spoiler
(https://9fsleg.bay.livefilestore.com/y1pSUS1ob_z99f9Moty36ga_gP_4Q_B73t24XBD-WWhXwuvuU4aGt5Vukz8uahxnwMIwPdsm1fUpBaf0PFnq5YT3EDf05rTrZXp/test02%20Jan.%2022%2020.4.jpg?psid=1)
[close]

Nuovo Aggiornamento:

in pratica lo script creato nella maniera classica ( guida di MisterX) funziona benissimo anche nella macchina virtuale perche dopo aver fatto gli aggiornamenti di win 7 e deciso quale browser utilizzare la finestra incriminata non esce più. Per me è una misera consolazione perche se prepari delle installazioni e non hai prima installato gli aggiornamenti non mi funzioneranno... beh vedrò il da farsi se però c'è una soluzione ditemelo che sono curioso.
Ciao a tutti (notte)
Titolo: Re: [GUIDA] Automatizzare un installer con Autoit
Inserito da: Mr.X - 24/01/2013, 18:06
@Jack_Sparrow82 : finalmente sono riuscito a ritagliare un minimo di tempo per vedere l'installazione di XWidget.... devo dire che l'installer è terribile; ecco l'automazione:

Codice: [Seleziona]
#cs ----------------------------------------------------------------------------

AutoIt Version: 3.3.8.1
Author:         MISTER X ®

Script Function:
XWidget automazione dell'installer
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", 3) ; 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
$xwidget_installer = FileGetShortName(@ScriptDir & "\xwidget_setup180.exe") ; FileGetShortName mi serve per ottenere il percorso breve 8.3 del file
Run($xwidget_installer) ; esegui il file.....
;~ Adesso parte la vera AUTOMAZIONE.....
If WinWait("[title:XWidget Ver1.80 Install; class:TWizardForm]", "", 10) Then ; attende 10 secondi questa finestra,
;  se la finestra non appare allo scadere dei 10 secondi termina lo script
ControlClick("[title:XWidget Ver1.80 Install; class:TWizardForm]", "", "TNewButton1") ; clicca il "TNewButton1"...
WinWait("XWidget Ver1.80 Install", "Select Destination Location") ;...
ControlClick("XWidget Ver1.80 Install", "Select Destination Location", "TNewButton3") ; ...
WinWait("XWidget Ver1.80 Install", "Select Additional Tasks") ; ...
Send("{SPACE}") ; con la simulazione della tastiera deselezioniamo  'Create a desktop icon'
Send("{DOWN}") ; con la simulazione della tastiera spostiamoci sulla checkbox sottostante
Send("{SPACE}") ; con la simulazione della tastiera deselezioniamo  'More widget'
Send("{DOWN}") ; con la simulazione della tastiera spostiamoci sulla checkbox sottostante
Send("{SPACE}") ; con la simulazione della tastiera deselezioniamo  'Create a Quick Launch icon'
ControlClick("XWidget Ver1.80 Install", "Select Additional Tasks", "TNewButton3") ; ...
WinWait("[title:InstallManager Setup; class:#32770]", "< &Back") ; attendi finestra Babylon o Wajam
WinActivate("[title:InstallManager Setup; class:#32770]", "Nullsoft")
WinWaitActive("[title:InstallManager Setup; class:#32770]", "Nullsoft")
;~ ControlClick("InstallManager Setup", "", "[CLASS:Internet Explorer_Server; INSTANCE:1]", "main", 1, 30, 177) ; deseleziona 'Installa la barra Babylon su....'
;~ ControlClick("InstallManager Setup", "", "[CLASS:Internet Explorer_Server; INSTANCE:1]", "main", 1, 30, 193) ; deseleziona 'Imposta Babylon come la tua.....'
;~ ControlClick("InstallManager Setup", "", "[CLASS:Internet Explorer_Server; INSTANCE:1]", "main", 1, 30, 208) ; deseleziona 'Fai Babilonia cercare la home...'
;~ ControlClick("InstallManager Setup", "", "[CLASS:Internet Explorer_Server; INSTANCE:1]", "main", 1, 30, 280) ; deseleziona 'Per velocizzare la visualizzazione e la ...'
;~ ControlClick("InstallManager Setup", "", "[CLASS:Internet Explorer_Server; INSTANCE:1]", "main", 1, 446, 344) ; clicca 'Accetta'
;~  le precedenti linee sono commentate (disabilitate) e rappresentano scelte alternative di selezione
ControlClick("InstallManager Setup", "", "[CLASS:Internet Explorer_Server; INSTANCE:1]", "main", 1, 62, 344) ; clicca 'Rifiuta'
WinWait("[title:InstallManager Setup; class:#32770]", "< &Back") ; attendi finestra Lollipop
WinActivate("[title:InstallManager Setup; class:#32770]", "Nullsoft")
WinWaitActive("[title:InstallManager Setup; class:#32770]", "Nullsoft")
ControlClick("InstallManager Setup", "", "[CLASS:Internet Explorer_Server; INSTANCE:1]", "main", 1, 56, 340) ; clicca 'Decline'
WinWait("[title:XWidget Ver1.80 Install; class:TWizardForm]", "Click Finish to exit Setup.")
WinActivate("[title:XWidget Ver1.80 Install; class:TWizardForm]", "Click Finish to exit Setup.")
WinWaitActive("[title:XWidget Ver1.80 Install; class:TWizardForm]", "Click Finish to exit Setup.")
ControlClick("[title:XWidget Ver1.80 Install; class:TWizardForm]", "Click Finish to exit Setup.", "TNewCheckListBox1") ; clicca il "TNewCheckListBox1"...
Sleep(100)
Send("{SPACE}")
ControlClick("[title:XWidget Ver1.80 Install; class:TWizardForm]", "", "TNewButton3") ; clicca il "TNewButton3"...
Else
Exit
EndIf
BlockInput(0) ; blocco OFF di tastiera e mouse
Exit

@Fantoman : ti rispondo appena possibile, sorry vado di fretta....
Titolo: Re: [GUIDA] Automatizzare un installer con Autoit
Inserito da: Jack_Sparrow82 - 24/01/2013, 18:27
grazie mille maestro ora me lo studio...così capisco meglio il mio errore  :ap59:
grazie di tutto!!!
Titolo: Re: [GUIDA] Automatizzare un installer con Autoit
Inserito da: Fantoman - 24/01/2013, 19:45
Ciao a tutti

nessuno problema MisterX se non ci sei tu per noi niub.... la mia è più una curiosità perche non riesco a capire come toglere le selezioni.
Titolo: Re: [GUIDA] Automatizzare un installer con Autoit
Inserito da: Mr.X - 28/01/2013, 00:46
@Fantoman,
ho aperto un topic per parlare dell'installer di CCleaner giusto per mantenere un minimo di ordine nel forum: http://www.eng2ita.net/forum/index.php/topic,8006.html  :)
Titolo: Re: [GUIDA] Automatizzare un installer con Autoit
Inserito da: Jack_Sparrow82 - 08/05/2013, 12:29
Ciao Mister X,
è un pò che non ci sentiamo!!! :P
Torno a romperti perchè stò testando Windows 8 ...
Odio il menu metro di questo sistema ed uso classic shell perchè preferisco la vecchia interfaccia di Windows 7.
Ho trovato un software chiamato Skip Metro suite  (non sò se lo conosci)
e selezionando tutto e cliccando su Save al primo riavvio disabilita completamente il menu metro e tutti fli angoli di Windows 8.
Ho provato ad eseguire lo script con autoit ma non ci riesco...Non è che mi daresti una mano?
Grazie mille ;)
Titolo: Re: [GUIDA] Automatizzare un installer con Autoit
Inserito da: Mr.X - 08/05/2013, 16:47
Ciao Jack_Sparrow82,
piacere di risentirti; Windows 8 in test.... wow :) ... Skip Metro suite, ahimè, non lo conosco;
Citazione
Ho provato ad eseguire lo script con autoit ma non ci riesco...
ehm, eseguire quale script? Uno in particolare oppure qualsiasi exe di autoit?
Che correlazione c'è con il software chiamato Skip Metro suite?
Potresti dettagliare maggiormente per favore?
Titolo: Re: [GUIDA] Automatizzare un installer con Autoit
Inserito da: Jack_Sparrow82 - 08/05/2013, 17:17
ciao grandissimo!!!!
allora il programma è questo http://winaero.com/comment.php?comment.news.103
come vedi dallo screenshoot ci sono dei quadratini da fleggare (tutti nel mio caso) e poi premere save in basso a sinistra...
al primo riavvio metro è disabilitato definitivamente....
il programma parte anche con windows 7 (anche se naturalmente non funziona perchè non ha metro)...
Nel test che ho fatto con tab e space mi selezionava tutto ma dopo la compilazione dell'exe non và più.
Il programma parte ma non seleziona niente!
Grazie MisterX ;)
Titolo: Re: [GUIDA] Automatizzare un installer con Autoit
Inserito da: Jack_Sparrow82 - 09/05/2013, 20:13
ho risolto...non so perché ma con questo programma non funziona integrare tutto in un archivio rar
comunque grazie lo stesso alla prossima!!!! ;)
Titolo: Re: [GUIDA] Automatizzare un installer con Autoit
Inserito da: Sosuke - 19/01/2018, 21:53
Buonasera a tutti,

sono nuovo sia del Forum che nell'utilizzare Autoit, quindi spero che mi possiate aiutare nel caso sbagli qualcosa.

io ho un problema con Autoit che non riesco a risolvere. Ho bisogno di automatizzare delle procedure su Excel ma non riesco in nessun modo a fargli selezionare le voci del menu (Ribbon).
(https://www.eng2ita.net/forum/proxy.php?request=http%3A%2F%2Fwww.engineerexcel.com%2Fwp-content%2Fuploads%2F2016%2F02%2F022316_2105_HowtoEnable6.png&hash=8880f4b1d814b9a4e8547ca3d677edba157a2f58)
Ho provato con le scorciatoie per la tastiera, funzionerebbe anche se non fosse che l'Add-in che mi interessa lanciare ad ogni computer cambia, e quindi non è sicuro, devo far girare questa patch su centinaia di PC per semplificarmi un po' la vita, ma per Autoit la barra del menu sembrerebbe non esistere.
stessa cosa succede anche quando cerco di fare modifiche alle preferenze della lingua di Office 2016, sorrei poter automatizzare anche questo.
(https://support.content.office.net/it-it/media/e6260500-de4b-45e7-82fa-0fbf07cb02b2.png)

esiste per caso qualche comando che non sia Send o MouseClick che mi permetta di avviare e gestire quel tipo di selezioni senza margine di errore?

grazie mille a tutti
Titolo: Re: [GUIDA] Automatizzare un installer con Autoit
Inserito da: BAT - 20/01/2018, 14:28
Per automatizzare operazioni in Excel ti conviene registrare una macro, metterla in uno script .vbs (il visual basic for applications integrato in MS-Office) e poi lanciare lo script sui computer dove devi farlo.
Il che ovviamente richiede che tutti i PC abbiano la stessa versione di Excel per stare sicuri
Titolo: Re: [GUIDA] Automatizzare un installer con Autoit
Inserito da: Sosuke - 20/01/2018, 15:38
Per automatizzare operazioni in Excel ti conviene registrare una macro, metterla in uno script .vbs (il visual basic for applications integrato in MS-Office) e poi lanciare lo script sui computer dove devi farlo.
Il che ovviamente richiede che tutti i PC abbiano la stessa versione di Excel per stare sicuri

buongiorno e grazie

si la versione è la stessa su tutte le macchine, ma non saprei da che parte incominciare per lo script in .vbs :-[ tu sapresti darmi una mano?
Titolo: Re: [GUIDA] Automatizzare un installer con Autoit
Inserito da: BAT - 20/01/2018, 20:36
Non ho più nessuna versione Excel in casa per cui non posso nemmeno farti un esempio al volo (ho Libreoffice), comunque la procedura è la seguente (la usavo con Excel 2003 in azienda):

devi fare delle prove con una macro stupidissima come quella che ti dicevo, fin quando non riesci a capire se tutto funziona come deve;
se funziona su un PC funzionerà per tutti.
A quel punto ti metti di buona lena a registrare la macro più o meno complessa che ti serve;
nota che puoi fare anche tante macro ognuna con una azione, poi metti il codice tutto insieme.
Titolo: Re: [GUIDA] Automatizzare un installer con Autoit
Inserito da: Sosuke - 20/01/2018, 21:11
Grazie mille, sei stato molto chiaro e gentilissimo, farò alcune prove e ti faccio sapere.

A presto