alcarr Posted July 20, 2012 Posted July 20, 2012 hello all, Im having issues creating a auto installation packages, I have coded the entired installation, however i get dll conflict pop ups during installation and the number of pop ups not always the same so sometimes i get 3 and sometimes i get 10 depends on the software installed on PC, is there any way to bypass this? here is the code: Run ("\\mgtdb01\MGT\Client Install\Files\Software\MGT 4.5\Import2DrawME Ver4502\Setup.exe") WinWaitActive("Import2DrawME Setup", "OK") Send ("{ENTER}") WinWaitActive ("Import2DrawME Setup", "Directory") Send("{ENTER}") WinWaitActive("Import2DrawME - Choose Program Group","MGT") Send ("{ALTDOWN}c{ALTUP}") WinWaitActive("Import2DrawME - Choose Program Group", "") If Not WinWaitActive("Import2DrawME - Choose Program Group", "No to") Then WinActivate("Import2DrawME - Choose Program Group", "No to") Send ("{ALTDOWN}y{ALTUP}") WinWaitActive ("Version Conflict", "") if Not WinWaitActive("Version Conflict", "") Then WinWaitActive("Version Conflict", "") Send ("{ALTDOWN}y{ALTUP}") WinWaitActive ("Version Conflict", "") if Not WinWaitActive("Version Conflict", "") Then WinWaitActive("Version Conflict", "") Send ("{ALTDOWN}y{ALTUP}") WinWaitActive ("Version Conflict", "") if Not WinWaitActive("Version Conflict", "") Then WinWaitActive("Version Conflict", "") Send ("{ALTDOWN}y{ALTUP}") WinWaitActive ("Version Conflict", "") if Not WinWaitActive("Version Conflict", "") Then WinWaitActive("Version Conflict", "") Send ("{ALTDOWN}y{ALTUP}") WinWaitActive("Import2DrawME Setup", "Import2DrawME") Send ("{ENTER}")
MrMitchell Posted July 21, 2012 Posted July 21, 2012 You can use AdLibRegister() to have a function that will look for that window and click the button on the popup that you need clicked. In your code that clicks the button, I would avoid using Send() and instead use ControlClick(). Attckdog 1
alcarr Posted July 23, 2012 Author Posted July 23, 2012 Im using the following code and still not by passing the conflict window any ideas what i did wrong?? AdlibRegister("test") ;... Exit Func test() If WinActive("Version Conflict") Then ControlClick("Version Conflict", "", "[iD:3; Class:ThunderRT6FormDC]") EndIf EndFunc
MrMitchell Posted July 23, 2012 Posted July 23, 2012 (edited) Yea that probably wasn't the best idea because your script is still going to halt at some point. Maybe try a loop that continuously looks for the DLL conflict window and clicks whatever button you want. Have the loop look for the window that supposed to come up after all the DLL conflict windows so it can break the loop when it's time to continue the script. Edit: Add psuedo-ish code While 1 If Conflict Window is active then click Yes do whatever Else EndIf Sleep(250) If Setup window is active then ExitLoop WEnd Edited July 23, 2012 by MrMitchell
alcarr Posted July 23, 2012 Author Posted July 23, 2012 So i did this and works with the first pop up then stops. Thank you for all your help. While 1 If WinWaitActive ("Version Conflict","")then ControlClick("Version Conflict", "", "[iD:3; Class:ThunderRT6FormDC]") Else EndIf Sleep(250) If WinWaitActive ("MGT Promo Ver 4.5 Setup","MGT Promo Ver ") then ExitLoop Wend
MrMitchell Posted July 23, 2012 Posted July 23, 2012 I think because WinWaitActive is waiting for MGT Promo...window. Change the WinWaitActive to WinActive...both of them
alcarr Posted July 26, 2012 Author Posted July 26, 2012 here is another one that is failing finish, after the application is install locally it requires to configuration, i create the script to configured however the application will open after the configuration is completed and on the script event though i specified to close the window it will just sit there. here is the code: Opt("WinTitleMatchMode", 2) Run('C:Program FilesMGTMGTUserMGTUser.exe') If WinWaitActive("Invalid Server Connection","") Then Send("{ALTDOWN}y{ALTUP}") WinWaitActive("MGT Configuration Screen","") Send("{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}") Send("mgtdb01") Send("{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{TAB}{ENTER}") Send ("{ALTDOWN}f{ALTUP}e") WinWaitActive ("Save Changes?","") Send ("{ALTDOWN}y{ALTUP}") Else WinClose("MGT User Editor Login","") EndIf
MrMitchell Posted July 26, 2012 Posted July 26, 2012 (edited) Wait for that window to become active before trying to close it... WinWaitActive() then WinClose() Edit: And for greater reliability try to use ControlSend() instead of Send() whenever possible Edited July 26, 2012 by MrMitchell
Moderators JLogan3o13 Posted July 26, 2012 Moderators Posted July 26, 2012 (edited) I'd be curious, since these products are distributed by Micro Gaming Technologies, what you're using them for? I tried installing on a virtual machine, but Avast quarantined both immediately. Edited July 26, 2012 by JLogan3o13 "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!
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