alles unattended installieren mit Makros in AutoIt 3

Beispielvideo

VLC wird vollkommen automatisch installiert: 

wir starten

die Erste Zeile enthält den Startbefehl der Installation:

run("vlc-0.8.6c-win32.exe")


(am einfachsten das AutoIt Script ins selbe Verzeichnis legen damit du keine Pfadangaben machen musst)

wenn du diese 1te Zeile ausführst (mit Tools/Go) startet die Installation:

Download 

wir starten zusätzlich das "AutoIt v3 Window Info" Fenster:
("Start" "Alle Programme" "AutoIt v3" "AutoIt v3 Window Info")

wenn du jetzt deine Maus auf den "OK" Button bewegst zeigt dir der AutoIt Window Info:

 

Download




im Auto IT Script geben wir folgendes ein

WinWait("Installer Language","Please select a language.")


heißt soviel wie: warte auf das Fenster "Installer Language" mit Text "Please select a language." (zu finden in Visible Text im AutoIt Window Info)
der Text kann auch nur ein Ausschnitt vom Fenster sein: Wichtig ist dass der Text nur in diesem Fenster vorkommt, damit das Script wirklich nur das macht was es soll!

dann mit:

WinActivate("Installer Language","Please select a language.")


das Fenster in den Vordergrund bringen
und mit:

ControlClick("Installer Language","Please select a language.", "OK", "left")


auf "OK" klicken (der genaue Button Text kann unter "Control" im AutoIt Window Info gefunden werden, funktionieren würde auch: "1" anstelle von OK weil der Button die ID 1 hat

Download


dem Bild entsprechend weiter mit:

WinWait("VideoLAN VLC media player 0.8.6c Installation","Willkommen beim ")
WinActivate("VideoLAN VLC media player 0.8.6c Installation","Willkommen beim ")
ControlClick("VideoLAN VLC media player 0.8.6c Installation","Willkommen beim ", 1, "left")

Download

 




WinWait("VideoLAN VLC media player 0.8.6c Installation", "Komponenten")
WinActivate("VideoLAN VLC media player 0.8.6c Installation", "Komponenten")


um bei der Installationsmethode "Full" auszuwählen:

ControlCommand("VideoLAN VLC media player 0.8.6c Installation", "Komponenten", 1017, "SelectString", "Full")


um z.B. den Desktop Shortcut nicht zu verwenden mit der Tastatur 2* "runter" drücken und die "Leertaste":

ControlFocus("VideoLAN VLC media player 0.8.6c Installation", "Komponenten", 1032)
ControlSend("VideoLAN VLC media player 0.8.6c Installation", "Komponenten", 1032, "{DOWN 2}" & "{SPACE}")


dann normal weiter:

ControlClick("VideoLAN VLC media player 0.8.6c Installation","Komponenten", 1, "left")

 

 

Download

 

WinWait("VideoLAN VLC media player 0.8.6c Installation", "Zielverzeichnis")
WinActivate("VideoLAN VLC media player 0.8.6c Installation", "Zielverzeichnis")


mit ControlSetText kann z.B. das Zielverzeichnis geändert werden:

ControlSetText("VideoLAN VLC media player 0.8.6c Installation", "Zielverzeichnis",1019,"c:\vlc")
ControlClick("VideoLAN VLC media player 0.8.6c Installation","Zielverzeichnis", 1, "left")

 

Download



WinWait("VideoLAN VLC media player 0.8.6c Installation", "wurde auf Ihrem Computer installiert")
WinActivate("VideoLAN VLC media player 0.8.6c Installation", "wurde auf Ihrem Computer installiert")


um den Start von VLC zu verhindern VideoLan VLC media Player ausführen deaktivieren:

ControlCommand("VideoLAN VLC media player 0.8.6c Installation", "wurde auf Ihrem Computer installiert", 1203, "UnCheck", "")
ControlClick("VideoLAN VLC media player 0.8.6c Installation","wurde auf Ihrem Computer installiert", 1, "left")

 

Zusätzliche Kontrolle über den Ablauf:


mit blockinput(1) kann Maus und Tastatur gesperrt werden
kann mit blockinput(0) oder durch drücken von Strg Alt Entf wieder aktiviert werden

zum überwachen ob ein Fenster kommt bzw. wenn ev. ein 2tes erwartet wird (wenn die Software beispielsweise schon installiert ist und ev. andere Schritte gesetzt werden müssen:

$fensterda=WinWait("Installer Language","Please select a language.",20)


wartet 20 Sekunden auf das "Installer Language" Fenster, wenn aber VLC bereits installiert ist wird dieses nie kommen sondern folgendes:

Download




in diesem Fall wird die Variable $fensterda auf "0" gesetzt
würde das erwartete Fenster auftachen wäre $fensterda auf "1"

nochmal alles zusammen:

blockinput(1)
run("vlc-0.8.6c-win32.exe")

$fensterda=WinWait("Installer Language","Please select a language.",20)

if $fensterda=1 Then
  WinActivate("Installer Language","Please select a language.")
  ControlClick("Installer Language","Please select a language.", 1, "left")

  WinWait("VideoLAN VLC media player 0.8.6c Installation","Willkommen beim ")
  WinActivate("VideoLAN VLC media player 0.8.6c Installation","Willkommen beim ")
  ControlClick("VideoLAN VLC media player 0.8.6c Installation","Willkommen beim ", 1, "left")

  WinWait("VideoLAN VLC media player 0.8.6c Installation","Lizenzabkommen")
  WinActivate("VideoLAN VLC media player 0.8.6c Installation","Lizenzabkommen")
  ControlClick("VideoLAN VLC media player 0.8.6c Installation","Lizenzabkommen", 1, "left")

  WinWait("VideoLAN VLC media player 0.8.6c Installation", "Komponenten")
  WinActivate("VideoLAN VLC media player 0.8.6c Installation", "Komponenten")
  ControlCommand("VideoLAN VLC media player 0.8.6c Installation", "Komponenten", 1017, "SelectString", "Full")
  ControlFocus("VideoLAN VLC media player 0.8.6c Installation", "Komponenten", 1032)
  ControlSend("VideoLAN VLC media player 0.8.6c Installation", "Komponenten", 1032, "{DOWN 2}" & "{SPACE}")
  ControlClick("VideoLAN VLC media player 0.8.6c Installation","Komponenten", 1, "left")

  WinWait("VideoLAN VLC media player 0.8.6c Installation", "Zielverzeichnis")
  WinActivate("VideoLAN VLC media player 0.8.6c Installation", "Zielverzeichnis")
  ControlSetText("VideoLAN VLC media player 0.8.6c Installation", "Zielverzeichnis",1019,"c:\vlc")
  ControlClick("VideoLAN VLC media player 0.8.6c Installation","Zielverzeichnis", 1, "left")

  WinWait("VideoLAN VLC media player 0.8.6c Installation", "wurde auf Ihrem Computer installiert")
  WinActivate("VideoLAN VLC media player 0.8.6c Installation", "wurde auf Ihrem Computer installiert")
  ControlCommand("VideoLAN VLC media player 0.8.6c Installation", "wurde auf Ihrem Computer installiert", 1203, "UnCheck", "")
  ControlClick("VideoLAN VLC media player 0.8.6c Installation","wurde auf Ihrem Computer installiert", 1, "left")
EndIf

if $fensterda=0 Then
  WinWait("VideoLAN VLC media player 0.8.6c Installation","VLC media player has already been installed")
  WinActivate("VideoLAN VLC media player 0.8.6c Installation","VLC media player has already been installed")
  ControlClick("VideoLAN VLC media player 0.8.6c Installation","VLC media player has already been installed", 7, "left")

  WinWait("Installer Language","Please select a language.",20)
  WinActivate("Installer Language","Please select a language.")
  ControlClick("Installer Language","Please select a language.", 2, "left")
EndIf
blockinput(0)

 

positive Bewertung({{pro_count}})
Beitrag bewerten:
{{percentage}} % positiv
negative Bewertung({{con_count}})

DANKE für deine Bewertung!


veröffentlicht am 21.08.2012 von Bernhard
geändert am 05.06.2016 von Bernhard



Kommentare


(sortiert nach Bewertung / Datum) [alle Kommentare(neueste zuerst)]
✍anonym
erstellt am 31.05.2019 08:05
User: hans 
Hallo Kess,
einfach den letzten Button bestätigen lassen, dann sollte er beenden

✍anonym
erstellt am 02.09.2015 14:09
User: Kess 
Hi ich habe das Problem, dass meine Installation nicht abgeschlossen wird. Das heisst, dass er den letzte Button nicht betätigt. Könnt ihr mir vielleicht helfen?

✍anonym
erstellt am 18.05.2014 16:05
User: Tira 
Nette Anleitung um das Prinzip von AutoIT mal vorzustellen.  

VLC installiert man unattended/silent rigens so:
vlc-0.8.6c-win32.exe /L= /S

:) 

✍anonym
erstellt am 19.09.2013 14:09
User: Aju 
kzer: Run("C:\temp\setup.exe" & " /L=1013 /S")

✍anonym
erstellt am 27.04.2012 07:04
User: Gogy 
Super Anleitung!

✍anonym
erstellt am 06.05.2011 14:05
User: stiwie 
Eine einfache sehr gut verständliche Anleitung mit der auch ein Anfänger eine unattended Installation erstellen kann. Super und Danke!!!

✍anonym
erstellt am 21.08.2009 11:08
User: ted 
einige sehr nützliche Ansätze! danke

Diese Website verwendet  Cookies. Mehr Details