Forum Discussion

zsloan112's avatar
zsloan112
New Contributor
6 years ago

Test Execute must be closed before installation can continue (MSI)

I am cuurently working on developing a script that will call a powershell script to go through a folder and use msiexec to install a number of different .msi files. To be able to test my software I need to be install all of the correct software first, so I want to automate that part as well.

 

All but one of the MSI files installs correctly. When running this script on my test machine with TestExecute, all but one install correctly. The one that is giving me an issue has a pop up that states that for the installation to continue TestExecute must be closed. However, I need test execute to stay open so I can continue on with the rest of the script once the install is done.

 

Is there anyway to supress this message and keep Test Execute open, or does it really need to be closed? My guess is that TestExecute is using some resource that the MSI needs to complete the install. Is there any way that I can determine what is causing this issue?

 

Other useful information:

  • I am running a Python script that calls a .bat file, which then calls a powershell script. The powershell script is what loops through a folder and calls msiexec on each MSI within the folder.
  • Command used for msiexec: Start-Process -FilePath msiexec.exe -ArgumentList "/I `"$fullPath`"","/qb", "ALLUSERS=TRUE", "/norestart" -Wait

5 Replies

  • tristaanogre's avatar
    tristaanogre
    Esteemed Contributor

    My suggestion:

     

    Instead of making the installation part of your TestExecute test project, run the installation seperately using PowerShell and then invoke your TestExecute test project.  Unless you are actually TESTING the installation, it's not necessary to run it as part of TestExecute. 

    • zsloan112's avatar
      zsloan112
      New Contributor

      I am testing the installation of all the MSI's becasue part of my build steps are copying all the correct MSI's to a cloned VM, install it all (where my issue is now), then continue on with the testing of my application. I need this all to be automated so that is why I have it as part of my test steps.

      • tristaanogre's avatar
        tristaanogre
        Esteemed Contributor

        The problem is this: as noted, there is probably something that TestExecute is using that your MSI needs to update.  So, if you need to skip over that spot, then you will risk your application not being completely installed.

         

        As for suspending the message... that's not a TestComplete/TestExecute question... that's a question for your developers to see if there is a command line switch or something that can be applied to the MSI to continue the installation.  Or perhaps they can tell you what's in use.  

        TestComplete/TestExecute does include a method to RebootAndContinue (https://support.smartbear.com/testcomplete/docs/reference/program-objects/aqenvironment/rebootandcontinue.html) but I'm not sure that applies here.  You need to be able to tell the MSI to ignore the prompt... You can either do that through some sort of UI check OR you need to pass it in as an MSI command switch.

         

        In any case... good luck.  Personally... this particular part of your test suite sounds like something where the ROI on automation is relatively minimal so, for me, I'd relegate that part of the testing to manual regression and continue the automation without it.