Hallo
ich schreibe gerade ein Skript welches auf unterschiedlichen Rechnern ein Programm installieren soll...
funktioniert auch soweit, zumindest auf einem Rechner
auf dem anderen leider nicht
Func _install ($fileName, $languageSelect, $welcomeText, $language)
$issue = "sucess"
;starting setup
If TRun(@ScriptDir&"\" & $fileName,"Starting " & $fileName &" Failed") = "failed" Then
;$issue = "failed"
EndIf
sleep(10000)
[/autoit][autoit][/autoit][autoit];Choose New Installation or Update
$windowtext = WinGetText("SYNCING.NET", "")
$searchingfor = "SYNCING.NET is already installed."
$result = StringInStr($windowtext,$searchingfor, 0)
If $result > 0 Then
;Choosing New Installation
If WinWaitActivateClick("SYNCING.NET","",60,"Allready installed","[CLASS:Button; INSTANCE:2]") = "failed" Then
;$issue = "failed"
EndIf
EndIf
;installer language
If WinWaitActivate($languageSelect,"",5,"Installer Language Timeout. Cant locate Installer Language Window") = "failed" Then
;$issue = "failed"
EndIf
If WinActive($languageSelect,"")==0 Then
ProcessClose($fileName)
Failed("Installer Language Timeout. Cant locate Installer Language Window")
Exit
EndIf
ControlCommand($languageSelect,"","[CLASS:ComboBox]","SelectString",$language)
If @error Then
ProcessClose($fileName)
Failed("Cant Select Language "&$language&" at Installer Select Language Screen")
;$issue = "failed"
EndIf
TControlClick($languageSelect,"","[CLASS:Button; INSTANCE:1]","Cant select OK at Select Installer Language Screen")
;check language at Welcome screen
If WinWaitActivate("SYNCING.NET",$welcomeText,60,"Language at welcome screen is not "&$language) = "failed" Then
;$issue = "failed"
EndIf
;Welcome
If WinWaitActivateClick("SYNCING.NET","",5,"Welcome to the SYNCING.NET 2.8 Setup Wizard","[CLASS:Button; INSTANCE:2]") = "failed" then
;$issue = "failed"
EndIf
;License Agreement
If WinWaitActivate("SYNCING.NET","",15,"License Agreement") = "failed" Then
;$issue = "failed"
EndIf
ControlCommand("SYNCING.NET","","[CLASS:Button; INSTANCE:4]","Check","")
If @error==1 Then
Failed("Cant Select Checkbox at License Agreement")
Exit
EndIf
If WinWaitActivateClick("SYNCING.NET","",5,"License Screen after checking box","[CLASS:Button; INSTANCE:2]") = "failed" Then
;$issue = "failed"
EndIf
;Choose Install Location
If WinWaitActivateClick("SYNCING.NET","",5,"Install Location Screen","[CLASS:Button; INSTANCE:2]") = "failed" Then
;$issue = "failed"
EndIf
;.Net Update
If WinWait("SYNCING.NET",".NET Framework",5)==1 Then
If WinWaitActivateClick("SYNCING.NET",".NET",5,".Net Update","[Text:OK]") = "failed" Then
;$issue = "failed"
EndIf
EndIf
;Comlete
sleep(60000)
ControlClick("SYNCING.NET","completed","[CLASS:Button; INSTANCE:2]")
;Firewall Sicherheitswarning
;WinWaitActivateClick("Windows-Sicherheitswarnung","",30,"Firewall nichtmehr blockieren","[CLASS:Button; Instance:4")
;SN Start
;auf prozess warten? dafür window text im nächsten aufruf weglassen....
;If WinWaitActivate("SYNCING.NET","User Account",120,"SN Startup Login Screen") = "failed" Then
[/autoit][autoit][/autoit][autoit];EndIf
[/autoit][autoit][/autoit][autoit]return $issue
EndFunc
Die funktion wird so aufgerufen:
[autoit]$install = _Install($fileName, $languageSelect, $welcomeText, $language)
If $install = "sucess" Then
_SendNext_PeerA($IP)
Else
_SendFailed_PeerA($IP)
Shutdown(6)
Exit
EndIf
Die variablen sind alle vorhanden...
Bin grad echt bischen verwirrt...
Danke schonmal im Voraus für eure Hilfe
Gruß Alex