Jump to content

Automate Installation


Recommended Posts

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
Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

alcarr,

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

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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")

Link to comment
Share on other sites

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

Link to comment
Share on other sites

  • Moderators

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

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

"Profanity is the last vestige of the feeble mind. For the man who cannot express himself forcibly through intellect must do so through shock and awe" - Spencer W. Kimball

How to get your question answered on this forum!

Link to comment
Share on other sites

  • 2 weeks later...

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?

Link to comment
Share on other sites

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
Link to comment
Share on other sites

  • 3 months later...

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?

Link to comment
Share on other sites

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}")

Link to comment
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
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...