Jump to content

Recommended Posts

Posted (edited)

Good day,
I am developing an application installation script - wherein, everything is functioning as it should – with the EXCEPTION of the selection of the closing "Finish" button.

I have tried a number of approaches for selecting this option – all without any success.

Interestingly, I AM ABLE to exit the final  dialog manually - via the [Enter] key - just NOT programmatically!

Can anyone please tell me what I doing wrong here?
Here is the script:

Spoiler
; -----------------------------------------------
#include <AutoItConstants.au3>
; -----------------------------------------------
Opt("MustDeclareVars", 1)
; -----------------------------------------------
Global $iTimeOut = 100
; ---------------------
Global $sSrcAppInstallPathInstRegGR5 = "D:\App_Install\Digital_Audio\2_GR5\Assets\NI_InstReg_GR5.exe"
Global $sSrcAppInstallPathGR5 = "D:\App_Install\Digital_Audio\2_GR5\Assets\GuitarRig5\Setup.exe"
; -----------------------------------------------
Install_SAW()
; -----------------------------------------------
Func Install_SAW()
    Local $sSrcPath1 = $sSrcAppInstallPathInstRegGR5
    Local $sSrcPath2 = $sSrcAppInstallPathGR5
    ; -----------------------------------------------
    ; Navigate through the dialogs
    Run($sSrcPath1)
    WinWaitActive("NI InstReg Guitar Rig 5 Setup")
    Send("{TAB}Sleep($iTimeOut){ENTER}")
    ; ---------------------
    Sleep($iTimeOut)
    Run($sSrcPath2)
    WinWaitActive("Native Instruments Guitar Rig 5 - InstallAware Wizard")
    Send("{ENTER 4}")
    ; ---------------------
    Sleep($iTimeOut)
    Send("{ALTDOWN}")
    Send("a")
    Send("{ALTUP}")
    Send("{ENTER}")
    ; ---------------------
    Sleep($iTimeOut)
    MouseClick($MOUSE_CLICK_LEFT, 776, 490, 1, 0)
    Send("{DOWN 2}{ENTER 2}")
    ; ---------------------
    ; Installation is now executed!
    Sleep($iTimeOut)
    Send("{TAB}{ENTER}{ENTER}")
    ; ---------------------
    ; Finish
    WinWaitActive("Native Instruments Guitar Rig 5 - InstallAware Wizard")
    Send("{ENTER}")
EndFunc   ;==>Install_SAW
; -----------------------------------------------

 

 Interestingly, the final "Finish" dialog is already active! However, attempting both with this line commented out and not - still no success!!!
• A MouseClick($MOUSE_CLICK_LEFT, 776, 490, 1, 0) does not work either!

As always...any assistance in this matter would be greatly appreciated!

Thank you all for your time!

Edited by mr-es335
Posted

Good day,
I discovered that the script is exiting just after...

; Installation is now executed!
    Sleep($iTimeOut)
    Send("{TAB}{ENTER}{ENTER}")

...and before the following is reached..

; Finish
    WinWaitActive("Native Instruments Guitar Rig 5 - InstallAware Wizard")
    Send("{ENTER}")

Thus, how can I ensure that the last 2 lines will be executed?

Posted (edited)

Hello,
So, I discovered that the following "works" - though NOT very elegant!!...

; ---------------------
    ; Installation is now executed!
    Sleep($iTimeOut)
    Send("{TAB}{ENTER}{ENTER}")
    ; ---------------------
    ; Finish
    Sleep(6000) ; Pause the script for 6 seconds!!! Why???
    Send("{ENTER}")

As to "Why?" - this application, on first launch, imports a number of data file - probably via a ZIp extraction of some sort. I have not means of ascertaining exactly how to determine what is going during that time - as I am unable to determine the background processes that are occurring at that time? It would be great to know how to determine this?
 

 

Edited by mr-es335
  • Solution
Posted (edited)

Hello!

Am I being "black-listed" here?

I have some "pressing" issues here that need some kind of resolve! All of the scripts I am developing "WORK" - with the exception of the final dialog.

The final windows is active, and the "Finish" button is active=,l but "Send("{ENTER}") IS NOT WORKING - though "Send("{ENTER}")  s working everywhere else!!

Following is another example:

; -----------------------------------------------
#include <AutoItConstants.au3>
; -----------------------------------------------
Opt("MustDeclareVars", 1)
; -----------------------------------------------
Global $iTimeOut = 100
; ---------------------
Global $sSrcAppInstallPathvPlate = "D:\App_Install\Digital_Audio\3_Valhalla\Apps\ValhallaPlate.exe"
;~ Global $hSM_TITLEvPlate = "C:\Users\RML_User\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Software Audio Console"
; -----------------------------------------------
Install_vPlate()
; -----------------------------------------------
Func Install_vPlate()
    Local $sSrcPath1 = "C:\RML\SAC\VST_PlugIns\Reverb"
    Local $sSrcPath2 = $sSrcAppInstallPathvPlate
    ; -----------------------------------------------
    ClipPut($sSrcPath1)
    ; ---------------------
    Run($sSrcPath2)
    ; ---------------------
    WinWaitActive("Setup - ValhallaPlate version 1.6.3b3")
    Sleep($iTimeOut)
    Send("{TAB}+{DOWN}+{SPACE}+{DOWN}+{SPACE}")
    Sleep($iTimeOut)
    Send("{ENTER}") ; WORKS!!
    ; ---------------------
    Sleep($iTimeOut)
    Send("{ALTDOWN}")
    Send("a")
    Send("{ALTUP}")
    Send("{ENTER}")  ; WORKS!!
    ; ---------------------
    Sleep($iTimeOut)
    Send("^v")
    Send("{ENTER}") ; DOES NOT WORK!!!!
EndFunc   ;==>Install_vPlate
; -----------------------------------------------

I really would really appreciate someone...amyp0mne assisting me here!! What is it that I am doing WRONG!!

Edited by mr-es335
Posted (edited)

Hello,

So, both of these now work...the real question is, "Why the need for "Sleep()"??

; -----------------------------------------------
#include <AutoItConstants.au3>
; -----------------------------------------------
Opt("MustDeclareVars", 1)
; -----------------------------------------------
Global $iTimeOut = 100
; ---------------------
Global $sSrcAppInstallPathvPlate = "D:\App_Install\Digital_Audio\3_Valhalla\Apps\ValhallaPlate.exe"
; -----------------------------------------------
Remove_vPlate()
; -----------------------------------------------
Func Remove_vPlate()
    Local $sSrcPath1 = "C:\RML\SAC\VST_PlugIns\Reverb"
    Local $sSrcPath2 = $sSrcAppInstallPathvPlate
    ; -----------------------------------------------
    ClipPut($sSrcPath1)
    ; ---------------------
    Run($sSrcPath2)
    ; ---------------------
    WinWaitActive("Setup - ValhallaPlate version 1.6.3b3")
    Sleep($iTimeOut)
    Send("{TAB}+{DOWN}+{SPACE}+{DOWN}+{SPACE}")
    Sleep($iTimeOut)
    Send("{ENTER}")
    ; ---------------------
    Sleep($iTimeOut)
    Send("{ALTDOWN}")
    Send("a")
    Send("{ALTUP}")
    Send("{ENTER}")
    ; ---------------------
    Sleep($iTimeOut)
    Send("{CTRLDOWN}")
    Send("v")
    Send("{CTRLUP}")
    Send("{ENTER}")
    Sleep($iTimeOut)
    Send("{ENTER}")
    Sleep(500)  ; HERE!!!
    Send("{ENTER}")
EndFunc   ;==>Remove_vPlate
; -----------------------------------------------

...and...

; -----------------------------------------------
#include <AutoItConstants.au3>
; -----------------------------------------------
Opt("MustDeclareVars", 1)
; -----------------------------------------------
Global $iTimeOut = 100
; ---------------------
Global $sSrcAppRemovePathvPlate = "C:\ProgramData\Valhalla DSP, LLC\ValhallaPlate\InstallerFiles\unins000.exe"
; -----------------------------------------------
Remove_vPlate()
; -----------------------------------------------
Func Remove_vPlate()
    Local $sSrcPath = $sSrcAppRemovePathvPlate
    ; -----------------------------------------------
    Run($sSrcPath)
    ; ---------------------
    WinWaitActive("ValhallaPlate Uninstall")
    Sleep($iTimeOut)
    Send("y")
    Sleep(2000) ; AND HERE!!!
    Send("{ENTER}")
EndFunc   ;==>Remove_vPlate
; -----------------------------------------------

 

Edited by mr-es335

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
×
×
  • Create New...