GeorgeVasil Posted May 17, 2009 Share Posted May 17, 2009 (edited) Hello guys..I am trying to make a Silent install of the latest Avira Antivirus version.I Follow this guide..posted here : http://www.itstuff.ca/2009/05/unattended-i...-antivirus.htmlFirst of all I setup autoit v3 (AutoIt Full Installation) downloaded from here.. http://www.autoitscript.com/autoit3/downloads.shtmlI copy the guide's plain view that looks like this :If WinExists(@ScriptName) Then ExitAutoItWinSetTitle(@ScriptName)AutoItSetOption("TrayIconDebug", 1); AutoItSetOption("SendKeyDelay", 20)global $title='Avira AntiVir Personal - Free Antivirus', $file='avira_antivir_personal_en.exe'Run ( @ScriptDir&'\'&$file )WinWaitActive("Avira AntiVir Personal - Free Antivirus", "")ControlClick ($title, "Continue", "Button1")WinWaitActive("Avira AntiVir Personal - Free Antivirus", "This wizard will install Avira AntiVir Personal on your computer.")send ("!n")WinWaitActive("Avira AntiVir Personal - Free Antivirus", "")ControlClick ($title, "&Next >", "Button2")WinWaitActive("Avira AntiVir Personal - Free Antivirus", "Licence agreement Avira AntiVir Personal - Free AntiVirus")send ("!a")ControlClick ($title, "&Next >", "Button3")WinWaitActive("Avira AntiVir Personal - Free Antivirus", "Please confirm that you will use the Avira AntiVir Personal - Free Antivirus only for private and not for commercial purposes.")ControlClick ($title, "", "Button2")ControlClick ($title, "&Next >", "Button5")WinWaitActive("Avira AntiVir Personal - Free Antivirus", "Select the program features you want to install")ControlClick ($title, "C&omplete", "Button1")ControlClick ($title, "&Next >", "Button7")WinWaitActive("Avira AntiVir Personal - Free Antivirus", "Yes, I would like to subscribe to the Avira newsletter")ControlClick ($title, "", "Button2")ControlClick ($title, "&Next >", "Button5")WinWaitActive("Avira AntiVir Personal - Free Antivirus", "Installation complete")ControlClick ($title, "Show readme.txt", "Button1")ControlClick ($title, "Finish", "Button12")DoWinWait("Configuration wizard")ControlClick("Configuration wizard", "", "Button2")WinWaitActive("Configuration wizard", "")ControlClick("Configuration wizard", "", "Button6")WinWaitActive("Configuration wizard", "")ControlClick("Configuration wizard", "", "Button8")WinWaitActive("Configuration wizard", "")ControlClick("Configuration wizard", "", "Button10")WinWaitActive("Configuration wizard", "")ControlClick("Configuration wizard", "", "Button1")WinWaitActive("Configuration wizard", "")ControlClick("Configuration wizard", "", "Button11")WinWaitActive("Configuration wizard", "You have now specified the basic configuration of Avira AntiVir Personal - Free Antivirus")ControlClick("Configuration wizard", "", "Button12")Until 1=2Then i open ''SciTE Script Editor'' and i paste the code inside it. I save & compile the file. The ''Autoit3Wrapper Window'' doesn't appear as shown at the guide.Anyway,I've used the compiled exe file with WPI...the avira_antivir_personal_en gets unpacked but it stacked to the first ''next button''.Any help is appreciated because i am not familiar with AutoIt..;? Edited May 17, 2009 by GeorgeVasil Link to comment Share on other sites More sharing options...
MHz Posted May 18, 2009 Share Posted May 18, 2009 Then i open ''SciTE Script Editor'' and i paste the code inside it. I save & compile the file. The ''Autoit3Wrapper Window'' doesn't appear as shown at the guide.If you have the full Scite4AutoIt3 editor installed then selecting "Compile" (Ctrl+F7) will show the dialog else selecting "Build" (F7) will compile without prompt (as long as no errors are detected).Anyway,I've used the compiled exe file with WPI...the avira_antivir_personal_en gets unpacked but it stacked to the first ''next button''.Any help is appreciated because i am not familiar with AutoIt..;?With some changes to the code you posted, the script worked for me.Stopping at the 1st window may have been because the window did not activate. My changes to the code forces the window to activate.The Do Untill loop is illogical as 1 will never equal 2 and no condition allows the exit of the loop so the loop will forever loop. i replaced the loop as I do not see a need for a loop with the code.The code shows a lack of using the text parameters and I would advise the use of them to ensure the script operates with the correct window with each execution. I have not done the previous mention of text parameter changes so you can use some time to improve on this.Posted script with changes made#RequireAdminIf WinExists(@ScriptName) Then ExitAutoItWinSetTitle(@ScriptName)AutoItSetOption("TrayIconDebug", 1); AutoItSetOption("SendKeyDelay", 20)Global $title = 'Avira AntiVir Personal - Free Antivirus'Global $file = 'avira_antivir_personal_en.exe'; Use quoted double quotes to prevent issues with spaces in the path$pid = Run('"' & @ScriptDir & '\' & $file & '"')If @error Then Exit 1; WinWait is usually adequate for Control* functions to operate correctWinWait($title, "")ControlClick($title, "Continue", "Button1")WinWait($title, "This wizard will install Avira AntiVir Personal")Send("!n")WinWait($title, "")ControlClick($title, "&Next >", "Button2"); Ensure window is active for Send function to operate correct_WinWaitActive($title, "Licence agreement Avira AntiVir Personal")Send("!a")ControlClick($title, "&Next >", "Button3")WinWait($title, "Please confirm that you will use"); ...not for commercial useControlClick($title, "", "Button2")ControlClick($title, "&Next >", "Button5")WinWait($title, "Select the program features you want to install")ControlClick($title, "C&omplete", "Button1")ControlClick($title, "&Next >", "Button7")WinWait($title, "Yes, I would like to subscribe to the Avira newsletter")ControlClick($title, "", "Button2")ControlClick($title, "&Next >", "Button5")WinWait($title, "Installation complete")ControlClick($title, "Show readme.txt", "Button1")ControlClick($title, "Finish", "Button12"); Wait for up to 60 seconds for config windowIf WinWait("Configuration wizard", "", 60) Then ControlClick("Configuration wizard", "", "Button2") WinWait("Configuration wizard", "") ControlClick("Configuration wizard", "", "Button6") WinWait("Configuration wizard", "") ControlClick("Configuration wizard", "", "Button8") WinWait("Configuration wizard", "") ControlClick("Configuration wizard", "", "Button10") WinWait("Configuration wizard", "") ControlClick("Configuration wizard", "", "Button1") WinWait("Configuration wizard", "") ControlClick("Configuration wizard", "", "Button11") WinWait("Configuration wizard", "You have now specified the basic configuration") ControlClick("Configuration wizard", "", "Button12")EndIf; Wait up to 60 seconds for previous Run process to closeProcessWaitClose($pid, 60)ExitFunc _WinWaitActive($title, $text = '') ; Window wait, activate and then wait until active WinWait($title, $text) WinActivate($title, $text) WinWaitActive($title, $text)EndFunc Link to comment Share on other sites More sharing options...
ZileXa Posted May 18, 2009 Share Posted May 18, 2009 Why don't you just use the already known method, see the topic about avira 8.. there is a switch Link to comment Share on other sites More sharing options...
GeorgeVasil Posted May 18, 2009 Author Share Posted May 18, 2009 (edited) Then i open ''SciTE Script Editor'' and i paste the code inside it. I save & compile the file. The ''Autoit3Wrapper Window'' doesn't appear as shown at the guide.If you have the full Scite4AutoIt3 editor installed then selecting "Compile" (Ctrl+F7) will show the dialog else selecting "Build" (F7) will compile without prompt (as long as no errors are detected).Anyway,I've used the compiled exe file with WPI...the avira_antivir_personal_en gets unpacked but it stacked to the first ''next button''.Any help is appreciated because i am not familiar with AutoIt..;?With some changes to the code you posted, the script worked for me.Stopping at the 1st window may have been because the window did not activate. My changes to the code forces the window to activate.The Do Untill loop is illogical as 1 will never equal 2 and no condition allows the exit of the loop so the loop will forever loop. i replaced the loop as I do not see a need for a loop with the code.The code shows a lack of using the text parameters and I would advise the use of them to ensure the script operates with the correct window with each execution. I have not done the previous mention of text parameter changes so you can use some time to improve on this.Posted script with changes made#RequireAdminIf WinExists(@ScriptName) Then ExitAutoItWinSetTitle(@ScriptName)AutoItSetOption("TrayIconDebug", 1); AutoItSetOption("SendKeyDelay", 20)Global $title = 'Avira AntiVir Personal - Free Antivirus'Global $file = 'avira_antivir_personal_en.exe'; Use quoted double quotes to prevent issues with spaces in the path$pid = Run('"' & @ScriptDir & '\' & $file & '"')If @error Then Exit 1; WinWait is usually adequate for Control* functions to operate correctWinWait($title, "")ControlClick($title, "Continue", "Button1")WinWait($title, "This wizard will install Avira AntiVir Personal")Send("!n")WinWait($title, "")ControlClick($title, "&Next >", "Button2"); Ensure window is active for Send function to operate correct_WinWaitActive($title, "Licence agreement Avira AntiVir Personal")Send("!a")ControlClick($title, "&Next >", "Button3")WinWait($title, "Please confirm that you will use"); ...not for commercial useControlClick($title, "", "Button2")ControlClick($title, "&Next >", "Button5")WinWait($title, "Select the program features you want to install")ControlClick($title, "C&omplete", "Button1")ControlClick($title, "&Next >", "Button7")WinWait($title, "Yes, I would like to subscribe to the Avira newsletter")ControlClick($title, "", "Button2")ControlClick($title, "&Next >", "Button5")WinWait($title, "Installation complete")ControlClick($title, "Show readme.txt", "Button1")ControlClick($title, "Finish", "Button12"); Wait for up to 60 seconds for config windowIf WinWait("Configuration wizard", "", 60) Then ControlClick("Configuration wizard", "", "Button2") WinWait("Configuration wizard", "") ControlClick("Configuration wizard", "", "Button6") WinWait("Configuration wizard", "") ControlClick("Configuration wizard", "", "Button8") WinWait("Configuration wizard", "") ControlClick("Configuration wizard", "", "Button10") WinWait("Configuration wizard", "") ControlClick("Configuration wizard", "", "Button1") WinWait("Configuration wizard", "") ControlClick("Configuration wizard", "", "Button11") WinWait("Configuration wizard", "You have now specified the basic configuration") ControlClick("Configuration wizard", "", "Button12")EndIf; Wait up to 60 seconds for previous Run process to closeProcessWaitClose($pid, 60)ExitFunc _WinWaitActive($title, $text = '') ; Window wait, activate and then wait until active WinWait($title, $text) WinActivate($title, $text) WinWaitActive($title, $text)EndFuncThanks for your time!I think i have found where the problem is:Both avira scripts (the one i have posted and yours)..work on Windows 7 EN x64 and Vista SP1 EN x32 but NOT to my XP SP3 GR (x32) (@!~#~!#@~#)Does it matter that the ''next'' or cancel buttons are transated to Greek?Any tip to force the installer to use EN language?Why don't you just use the already known method, see the topic about avira 8.. there is a switch Link me please ?In which one of this threads switch is located at?http://www.msfn.org/board/index.php?showto...mp;#entry734770http://www.msfn.org/board/Avira-Antivir-8-...ed-t116123.html (this needs internet connection)?I'll try this one when i have free time:http://www.msfn.org/board/index.php?s=&...st&p=699852 edit <-- worked fine Edited May 18, 2009 by GeorgeVasil Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now