AskOptions Example

InstallShield 2016 » InstallScript Language Reference

Project • This information applies to the following project types:

InstallScript
InstallScript MSI

/*-----------------------------------------------------------*\

*

* InstallShield Example Script

*

* Demonstrates the AskOptions function.

*

* The AskOptions dialog is displayed twice. First, it is

* displayed with check boxes; then it is displayed with option

* buttons.  The example shows the maximum number of options

* allowed--nine.

*

\*----------------------------------------------------------*/

 

// Include Ifx.h for built-in InstallScript function prototypes.

#include "Ifx.h"

 

export prototype ExFn_AskOptions(HWND);

 

function ExFn_AskOptions(hMSI)

    STRING szMsg, szText1, szText2, szText3, szText4, szText5;

    STRING szText6, szText7, szText8, szText9;

    NUMBER nReturn, nValue,  nvCheck1, nvCheck2, nvCheck3, nvCheck4;

    NUMBER nvCheck5, nvCheck6, nvCheck7, nvCheck8, nvCheck9;

begin

 

    szMsg = "Select from the options below.";

 

    szText1 = "Option 1";

    szText2 = "Option 2";

    szText3 = "Option 3";

    szText4 = "Option 4";

    szText5 = "Option 5";

    szText6 = "Option 6";

    szText7 = "Option 7";

    szText8 = "Option 8";

    szText9 = "Option 9";

 

    nvCheck1 = TRUE;

    nvCheck2 = FALSE;

    nvCheck3 = FALSE;

    nvCheck4 = FALSE;

    nvCheck5 = FALSE;

    nvCheck6 = FALSE;

    nvCheck7 = FALSE;

    nvCheck8 = FALSE;

    nvCheck9 = FALSE;

 

    // Display the check box (NONEXCLUSIVE) dialog.

    nValue = NONEXCLUSIVE;

 

    AskOptions (nValue, szMsg,

               szText1, nvCheck1,

               szText2, nvCheck2,

               szText3, nvCheck3,

               szText4, nvCheck4,

               szText5, nvCheck5,

               szText6, nvCheck6,

               szText7, nvCheck7,

               szText8, nvCheck8,

               szText9, nvCheck9);

 

    // Display the option button (EXCLUSIVE) dialog.

    nValue = EXCLUSIVE;

    AskOptions (nValue, szMsg,

               szText1, nvCheck1,

               szText2, nvCheck2,

               szText3, nvCheck3,

               szText4, nvCheck4,

               szText5, nvCheck5,

               szText6, nvCheck6,

               szText7, nvCheck7,

               szText8, nvCheck8,

               szText9, nvCheck9);

 

end;