How to run an .exe file (Install Wizard)

I've been thrown into Powershell knowing nothing about it and having to learn via the web alone, so please be kind.  I'm putting together a script that will build a Windows 7 PC (SP 1 with just the basic operating system and Admininstrator account), adding user accounts, applications, printers, FTP, SSH, et al as it goes.  The very first thing I need to do is install AutoIt, which will be used to run some portions of the install.  The script is autoit-v3-setup.exe which brings up an Install Wizard.  Since it's an .exe and not an .msi, how do I have Powershell run through the Wizard (defaults all the way) and finish before moving on to the next item?

Thank you

Parents
  • According to varios posts AutoIT supports /S (capital) for silent installation, therefore: 

    $result = Start-Process -Wait -FilePath 'C:\sources\autoIt\autoit-v3-setup.exe' -ArgumentList '/S' -PassThru 

    should be enough to run and install the software. 

     

    Anyway they also wrote there you don't need the full runtime on each station to run the scripts you compiled. Not sure if you are aware of it. I never used AutoIt myself.

  • nohandle said:

    According to varios posts AutoIT supports /S (capital) for silent installation, therefore: 

    $result = Start-Process -Wait -FilePath 'C:\sources\autoIt\autoit-v3-setup.exe' -ArgumentList '/S' -PassThru 

    should be enough to run and install the software. 

     

    Anyway they also wrote there you don't need the full runtime on each station to run the scripts you compiled. Not sure if you are aware of it. I never used AutoIt myself.


    Just ran an Uninstall of AutoIt on my development PC, tested your line as a single line script, and it worked just great!  Thank you for your help!  (I'm sure I'll be back to the forums soon, hope you all don't get sick of me)

Reply
  • nohandle said:

    According to varios posts AutoIT supports /S (capital) for silent installation, therefore: 

    $result = Start-Process -Wait -FilePath 'C:\sources\autoIt\autoit-v3-setup.exe' -ArgumentList '/S' -PassThru 

    should be enough to run and install the software. 

     

    Anyway they also wrote there you don't need the full runtime on each station to run the scripts you compiled. Not sure if you are aware of it. I never used AutoIt myself.


    Just ran an Uninstall of AutoIt on my development PC, tested your line as a single line script, and it worked just great!  Thank you for your help!  (I'm sure I'll be back to the forums soon, hope you all don't get sick of me)

Children
  • Great!

    BiggRedd said:
    (I'm sure I'll be back to the forums soon, hope you all don't get sick of me)

    I am sure we won't :) 

  • I should probably open a separate thread for this, but I'm now trying to use the same command for another setup.exe, but this file has an msi file used during the .exe and I think that's why I'm getting hung up with this message box coming up halfway through it's execution:

    *******************************************************************

    Windows ® Installer. V 5.0.7601.17514

    msiexec /Option <Required Parameter> [Optional Parameter]

    Install Options
        </package | /i> <Product.msi>
            Installs or configures a product
        /a <Product.msi>
            Administrative install - Installs a product on the network
        /j<u|m> <Product.msi> [/t <Transform List>] [/g <Language ID>]
            Advertises a product - m to all users, u to current user
        </uninstall | /x> <Product.msi | ProductCode>
            Uninstalls the product
    Display Options
        /quiet
            Quiet mode, no user interaction
        /passive
            Unattended mode - progress bar only
        /q[n|b|r|f]
            Sets user interface level
            n - No UI
            b - Basic UI
            r - Reduced UI
            f - Full UI (default)
        /help
            Help information
    Restart Options
        /norestart
            Do not restart after the installation is complete
        /promptrestart
            Prompts the user for restart if necessary
        /forcerestart
            Always restart the computer after installation
    Logging Options
        /l[i|w|e|a|r|u|c|m|o|p|v|x|+|!|*] <LogFile>
            i - Status messages
            w - Nonfatal warnings
            e - All error messages
            a - Start up of actions
            r - Action-specific records
            u - User requests
            c - Initial UI parameters
            m - Out-of-memory or fatal exit information
            o - Out-of-disk-space messages
            p - Terminal properties
            v - Verbose output
            x - Extra debugging information
            + - Append to existing log file
            ! - Flush each line to the log
            * - Log all information, except for v and x options
        /log <LogFile>
            Equivalent of /l* <LogFile>
    Update Options
        /update <Update1.msp>[;Update2.msp]
            Applies update(s)
        /uninstall <PatchCodeGuid>[;Update2.msp] /package <Product.msi | ProductCode>
            Remove update(s) for a product
    Repair Options
        /f[p|e|c|m|s|o|d|a|u|v] <Product.msi | ProductCode>
            Repairs a product
            p - only if file is missing
            o - if file is missing or an older version is installed (default)
            e - if file is missing or an equal or older version is installed
            d - if file is missing or a different version is installed
            c - if file is missing or checksum does not match the calculated value
            a - forces all files to be reinstalled
            u - all required user-specific registry entries (default)
            m - all required computer-specific registry entries (default)
            s - all existing shortcuts (default)
            v - runs from source and recaches local package
    Setting Public Properties
        [PROPERTY=PropertyValue]

    Consult the Windows ® Installer SDK for additional documentation on the
    command line syntax.

    Copyright © Microsoft Corporation. All rights reserved.
    Portions of this software are based in part on the work of the Independent JPEG Group.

    ****************************************************************************

     

    My one guess is that in running the setup.exe manually, there is an "I Accept" checkbox agreement that pops up.  Need to put the check in that checkbox, otherwise the remaining install is once again just using the defaults. 

    Or am I looking at this wrong?

     

  • The output you see is what msiexec outputs when there are none or wrong parameters provided. You run the second setup.exe and recieve this after a while? Immediately? Or do you run an .msi?

  • It is a setup.exe file that I believe first searches to see whether certain files are installed, then calls an msi to continue. So I believe that message is popping up when the setup.exe calls the msi.

  • nohandle said:

    The output you see is what msiexec outputs when there are none or wrong parameters provided. You run the second setup.exe and recieve this after a while? Immediately? Or do you run an .msi?

    Just verified - setup.exe first looks to see if Microsoft.NET is installed.  If it is not, it installs it for us first, then runs data.msi and that .msi file is what installs our application.  So is there a way for me to pass .msi arguments/params within the

    $result = Start-Process -Wait -FilePath 'C:\sources\autoIt\autoit-v3-setup.exe' -ArgumentList '/S' -PassThru

    command?