Jump to content
Sign in to follow this  
alcarr

Automate Installation

Recommended Posts

alcarr

I'm trying to automate an installation using Autoit, however i'm stuck on a windows within the installation. The window have two buttons: Install and close, after i click install the installation will start and disables the two buttons but when is done the Close button is active again in the same windows but my code is not able to click the button.

WinWaitActive ("Window", "Please select to install")

Send ("!i")

WinWait ("Window", "")

ControlClick("Window", "", "[CLASS:Button; TEXT:Close; INSTANCE:2")

Please help!!!

Edited by alcarr

Share this post


Link to post
Share on other sites
somdcomputerguy

It may work with this function - ControlCommand. Try it like this (not tested).

WinWaitActive ("Window", "Please select to install")
Send ("!i")
Sleep(100)
Do
 Sleep(100)
Until ControlCommand("Window", "", "[CLASS:Button; TEXT:Close; INSTANCE:2", "IsEnabled")
ControlClick("Window", "", "[CLASS:Button; TEXT:Close; INSTANCE:2")
Edited by somdcomputerguy

- Bruce /*somdcomputerguy */  If you change the way you look at things, the things you look at change.

Share this post


Link to post
Share on other sites
guinness

somdcomputerguy,

Don't you mean Do...Until?


UDF List:

 
_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_ArrayFilter/_ArrayReduce_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 22/04/2018

Share this post


Link to post
Share on other sites
alcarr

Sorry that still didnt work.

Share this post


Link to post
Share on other sites
somdcomputerguy

somdcomputerguy,

Don't you mean Do...Until?

Oops. I've edited my earlier post. Thanks, guinness

- Bruce /*somdcomputerguy */  If you change the way you look at things, the things you look at change.

Share this post


Link to post
Share on other sites
timi1014

what Software you want to install? if it is freeware maybe i can have a closer look on it.

Share this post


Link to post
Share on other sites
somdcomputerguy

I don't know what I was thinking.. I've edited my code above, again. It might actually work this time.


- Bruce /*somdcomputerguy */  If you change the way you look at things, the things you look at change.

Share this post


Link to post
Share on other sites
alcarr

Here is the code that i used to fix the issue, might help someone like me one day.

opt ("WinWaitDelay", 100)

Do

sleep (50)

Until ControlCommand("Window", "", "[CLASS:Button; INSTANCE:2]", "IsEnabled", "")

Do

Local $Success = ControlClick("Window", "", "[CLASS:Button; INSTANCE:2]")

sleep (50)

Until $Success = 1

Share this post


Link to post
Share on other sites
guinness

alcarr,

It's best to specify the application you were automating as "Window" is a pretty generic term.

  • Like 1

UDF List:

 
_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_ArrayFilter/_ArrayReduce_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 22/04/2018

Share this post


Link to post
Share on other sites
alcarr

opt ("WinWaitDelay", 100)

Do

sleep (50)

Until ControlCommand("Microsoft Dynamics GP 10", "", "[CLASS:Button; INSTANCE:2]", "IsEnabled", "")

Do

Local $Success = ControlClick("Microsoft Dynamics GP 10", "", "[CLASS:Button; INSTANCE:2]")

sleep (50)

Until $Success = 1

Share this post


Link to post
Share on other sites
alcarr

here is another issue im having when i tried to install a msi file from share folder im getting this error.

setup.au3 (1) : ==> Expected a "=" operator in assignment statement.:

here is the code im using.

RunWait ("msiexec.exe /i ServerClient Installmyfile.msi")

Share this post


Link to post
Share on other sites
guinness

alcarr,

That code you provided doesn't even correlate to the error message, are you sure that was the only one line you used?


UDF List:

 
_AdapterConnections()_AlwaysRun()_AppMon()_AppMonEx()_ArrayFilter/_ArrayReduce_BinaryBin()_CheckMsgBox()_CmdLineRaw()_ContextMenu()_ConvertLHWebColor()/_ConvertSHWebColor()_DesktopDimensions()_DisplayPassword()_DotNet_Load()/_DotNet_Unload()_Fibonacci()_FileCompare()_FileCompareContents()_FileNameByHandle()_FilePrefix/SRE()_FindInFile()_GetBackgroundColor()/_SetBackgroundColor()_GetConrolID()_GetCtrlClass()_GetDirectoryFormat()_GetDriveMediaType()_GetFilename()/_GetFilenameExt()_GetHardwareID()_GetIP()_GetIP_Country()_GetOSLanguage()_GetSavedSource()_GetStringSize()_GetSystemPaths()_GetURLImage()_GIFImage()_GoogleWeather()_GUICtrlCreateGroup()_GUICtrlListBox_CreateArray()_GUICtrlListView_CreateArray()_GUICtrlListView_SaveCSV()_GUICtrlListView_SaveHTML()_GUICtrlListView_SaveTxt()_GUICtrlListView_SaveXML()_GUICtrlMenu_Recent()_GUICtrlMenu_SetItemImage()_GUICtrlTreeView_CreateArray()_GUIDisable()_GUIImageList_SetIconFromHandle()_GUIRegisterMsg()_GUISetIcon()_Icon_Clear()/_Icon_Set()_IdleTime()_InetGet()_InetGetGUI()_InetGetProgress()_IPDetails()_IsFileOlder()_IsGUID()_IsHex()_IsPalindrome()_IsRegKey()_IsStringRegExp()_IsSystemDrive()_IsUPX()_IsValidType()_IsWebColor()_Language()_Log()_MicrosoftInternetConnectivity()_MSDNDataType()_PathFull/GetRelative/Split()_PathSplitEx()_PrintFromArray()_ProgressSetMarquee()_ReDim()_RockPaperScissors()/_RockPaperScissorsLizardSpock()_ScrollingCredits_SelfDelete()_SelfRename()_SelfUpdate()_SendTo()_ShellAll()_ShellFile()_ShellFolder()_SingletonHWID()_SingletonPID()_Startup()_StringCompact()_StringIsValid()_StringRegExpMetaCharacters()_StringReplaceWholeWord()_StringStripChars()_Temperature()_TrialPeriod()_UKToUSDate()/_USToUKDate()_WinAPI_Create_CTL_CODE()_WinAPI_CreateGUID()_WMIDateStringToDate()/_DateToWMIDateString()Au3 script parsingAutoIt SearchAutoIt3 PortableAutoIt3WrapperToPragmaAutoItWinGetTitle()/AutoItWinSetTitle()CodingDirToHTML5FileInstallrFileReadLastChars()GeoIP databaseGUI - Only Close ButtonGUI ExamplesGUICtrlDeleteImage()GUICtrlGetBkColor()GUICtrlGetStyle()GUIEventsGUIGetBkColor()Int_Parse() & Int_TryParse()IsISBN()LockFile()Mapping CtrlIDsOOP in AutoItParseHeadersToSciTE()PasswordValidPasteBinPosts Per DayPreExpandProtect GlobalsQueue()Resource UpdateResourcesExSciTE JumpSettings INISHELLHOOKShunting-YardSignature CreatorStack()Stopwatch()StringAddLF()/StringStripLF()StringEOLToCRLF()VSCROLLWM_COPYDATAMore Examples...

Updated: 22/04/2018

Share this post


Link to post
Share on other sites
timi1014

Try this

Run(@ComSpec & " /c ServerFile.msi -switch")

Switch can be -qb -silent -verysilent depends on msi.

Share this post


Link to post
Share on other sites
JLogan3o13

If the application you are running is an MSI, this should work for you.

ShellExecuteWait("msiexec.exe", '/i "<FULL PATH TO MSI>" /qb')

√-1 2^3 ∑ π, and it was delicious!

Share this post


Link to post
Share on other sites
alcarr

@ Mass Spammer.

Thank you for your code, that fixed my issue.

Share this post


Link to post
Share on other sites
alcarr

so now i have created the installation package, however when i tried to rolled it out to the clients using group policy, some workstation already have it installed and the installation will stop. not sure how to terminate the installation automatically, any suggestions?

Share this post


Link to post
Share on other sites
Chimaera

Maybe look for the .exe on a If Filexists basis

like this eg

If FileExists( "path to exe") Then
MsgBox(0, "Update error", "Update has already been installed")
Else
;install your stuff here
EndIf

Share this post


Link to post
Share on other sites
alcarr

back to the drawing board i hope someone can help me with this issue.

I'm trying to automate and installation which i already did all the code for it, however during the installation i get warning pop ups about dll conflict and i have to ignore them but they are not consistent some workstation will only popped once and some other ones will popped 10 time, same box so the automate installation will sit there. is there any way to tell the install to continue?

Share this post


Link to post
Share on other sites
alcarr

here is the code

Run ('mgtdb01MGTClient InstallFilesSoftwareMGT 4.5MGT OK Ver4.5.1.15setup.exe')

WinWaitActive ("MGT Offer Kiosk Ver4.5.1.15 Setup", "")

Send ("{ENTER}")

WinWaitActive ("MGT Offer Kiosk Ver4.5.1.15 Setup", "")

Send ("{ENTER}")

WinWaitActive ("MGT Offer Kiosk Ver4.5.1.15 - Choose Program Group", "")

Send ("{ALTDOWN}C{ALTUP}")

WinWaitActive ("MGT Offer Kiosk Ver4.5.1.15 Setup","The destination file")

If Not WinWaitActive("MGT Offer Kiosk Ver4.5.1.15 Setup","The destination file") Then WinWaitActive("MGT Offer Kiosk Ver4.5.1.15 Setup","The destination file")

Send ("{ALTDOWN}i{ALTUP}")

WinWaitActive("MGT Offer Kiosk Ver4.5.1.15 Setup", "C:\Windows\System32\psapi")

If Not WinWaitActive ("MGT Offer Kiosk Ver4.5.1.15 Setup", "C:\Windows\System32\psapi") Then WinWaitActive("MGT Offer Kiosk Ver4.5.1.15 Setup", "C:\Windows\System32\psapi")

Send ("{ALTDOWN}y{ALTUP}")

WinWaitActive ("Version Conflict", "")

Send ("{ALTDOWN}y{ALTUP}")

WinWaitActive ("Version Conflict", "")

Send ("{ALTDOWN}y{ALTUP}")

WinWaitActive ("Version Conflict", "")

Send ("{ALTDOWN}y{ALTUP}")

WinWaitActive ("Version Conflict", "")

Send ("{ALTDOWN}y{ALTUP}")

WinWaitActive ("MGT Offer Kiosk Ver4.5.1.15 Setup","")

If Not WinWaitActive ("MGT Offer Kiosk Ver4.5.1.15 Setup","") Then WinWaitActive("MGT Offer Kiosk Ver4.5.1.15 Setup","")

Send("{ENTER}")

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  

×