Symantec Developer Group

 View Only
Expand all | Collapse all

How to interact with "Cancel" button of Wise Progress Dialog from external process such as setup.exe

  • 1.  How to interact with "Cancel" button of Wise Progress Dialog from external process such as setup.exe

    Posted Dec 23, 2009 01:01 AM
    Hi,

    We have our custom setup.exe program which launches the series of individial MSIs in synchronous manner. Scheme and command use to launch msi is :
    msiexcehandle = CreateProcess("msiexec.exe /i  product.msi /qr")
    WaitForSingleObject(msiexechandle, INFINITE)

    We want to do following : 
    When user pressess the Stop button in setup.exe program then we would like to stop the installation completely. We can control the installation of any product msi which is yet to be started, but we did not find a way to send some event to already running installation (which is already launched using CreateProcess). We want to send Cancel event from the setup.exe to msiexec.exe's created Progress dialog.
    Please suggest some technique to perform this action.


  • 2.  RE: How to interact with "Cancel" button of Wise Progress Dialog from external process such as setup.exe

    Posted Jan 08, 2010 06:45 PM
    Hi Aditya,

    I do not have an answer for what you are trying to do.  But, if you are developing a Solution for the Symantec Management Platform 7 (NS 7), this type of install experience is not supported by Symantec Installation Manager (SIM).  Solution teams contributing to the SMP will only submit an install MSI(s).  SIM will handle the install experience for the user and install the MSI silently.  Because of this there is no need for your own EXE and SIM will not support it.

    If you are not developing for SMP 7, you may want to try asking this question in another forum.  But feel free to continue to post here as well.

    Cheers,

    Riaz


  • 3.  RE: How to interact with "Cancel" button of Wise Progress Dialog from external process such as setup.exe
    Best Answer

    Posted Jan 19, 2010 11:11 AM
    I got the solution for it.

    Actually, I am registering installer event handler callback function using MsiSetExternalUI api. This allows me to trap all the installer event. In this event loop, I can check whether user pressed the 'Stop' button or not, if user pressed the 'Stop' button then simply return IDCANCEL from the event handler function. This return value would cancel the installation.

    Thanks for you reply.

    -Vipin