Sign in to follow this  
Followers 0
AcidCorps

Can't Control Windows

8 posts in this topic

I'm attempting to make a silent installer for Norton 360 using AutoIt so that I can setup my own options but the very first window is giving me a hard time, it's the user agreement window, it's an htm loaded into the setup so I assume it's IE based, AutoIt detects the window but I can't for the live of me click the I agree button.

Run('Setup.exe')
Opt('WinTextMatchMode', 2)

$Title = 'Norton 360 Setup'
$Text = 'SYMANTEC SOFTWARE SERVICE LICENSE AGREEMENT'

WinWaitSend($Title, $Text, 'Button5', '{ENTER}')

Func WinWaitSend($iTitle, $iText, $iControl, $iString = Default)
    WinWait($Title, $Text)
    If Not WinActive($Title, $Text) Then WinActivate($Title, $Text)
    WinWaitActive($Title, $Text)
    If $iString = Default Then ControlClick($iTitle, $iText, $iControl)
    If $iString <> Default Then ControlSend($iTitle, $iText, $iControl, $iString)
EndFunc

This is my original script which makes the most sense to me but I've also tried: send, controlsend, controlclick,

I can't even move the window with winmove but I've put commands like If WinActive then MsgBox(0,'','Active') and the msgbox will so up.

Share this post


Link to post
Share on other sites



If it's HTML, try attaching to the embedded IE control, and use the IE UDF to click the button.

Share this post


Link to post
Share on other sites

#3 ·  Posted (edited)

Ok this is what I have now

#include <ie.au3>

Run('Setup.exe')
Opt('WinTextMatchMode', 2)

$Title = 'Norton 360 Setup'
$Text = 'SYMANTEC SOFTWARE SERVICE LICENSE AGREEMENT'

WinWait($Title, $Text)
If Not WinActive($Title, $Text) Then WinActivate($Title, $Text)
WinWaitActive($Title, $Text)
$oIE = _IEAttach($Title, 'embedded')
$oLink = _IELinkGetCollection ($oIE, 0)
_IEAction($oLink, 'click')

Func WinWaitSend($iTitle, $iText, $iControl, $iString = Default)
    WinWait($Title, $Text)
    If Not WinActive($Title, $Text) Then WinActivate($Title, $Text)
    WinWaitActive($Title, $Text)
    If $iString = Default Then ControlClick($iTitle, $iText, $iControl)
    If $iString <> Default Then ControlSend($iTitle, $iText, $iControl, $iString)
EndFunc

when I used _IELinkGetCollection without the index it showed there was one link but nothing happens when I click the link nothing happens

Edited by AcidCorps

Share this post


Link to post
Share on other sites

Hmm, maybe try using _IELinkClickByIndex() to click the link.

Share this post


Link to post
Share on other sites

Already looked into that and wasn't able to find anything, theres an MSI but it needs to be started from setup so I can't use the command line on it, i searched another forum that helps with unattended windows setup but they didn't have a trend on Norton 360 so I figured it made more sense to ask here since autoit made the most sense for me to use.

long story short, no previous silent/unattended setups i could find

Share this post


Link to post
Share on other sites

Even though it uses setup.exe you can still pass command line to it like...

setup.exe /v"/qn REBOOT=ReallySuppress"

or something like that... I forget right now.

Lar.


f_mrcleansmalm_77ce002.jpgAutoIt has helped make me wealthy

Share this post


Link to post
Share on other sites

I tried looking around for switches but I'll look again. I'll admit I didn't spend much time mostly because I wanted to customize the installation here and there but it may be more trouble then it's worth.

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0