FeatureSetupTypeEnum Example

InstallShield 2014 ยป InstallScript Language Reference

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

*

* InstallShield Example Script

*

* Demonstrates the FeatureSetupTypeEnum function,

*

* This script enumerates the setup types in the media.

*

* Note:  To run this example script, create a project (or

*        insert into a project) with several setup types

*        defined. The value of DEFTYPE must be the name

*        of one of your setup types.

*

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

 

#define SDSHOWTITLE "Setup Type Enumeration"

#define SDSHOWMSG   MEDIA + " media's enumerated setup types are:"

#define SETUPTITLE  "Setup Type Selection"

#define SETUPMSG    "Select a setup type."

#define DEFTYPE     "Typical"

 

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

#include "Ifx.h"

 

export prototype ExFn_FeatureSetupTypeEnum(HWND);

 

function ExFn_FeatureSetupTypeEnum(hMSI)

    LIST listID;

    STRING svSetupType;

begin

 

    // Disable the Back button in setup dialogs.

    Disable (BACKBUTTON);

 

    // Create a list to store setup types.

    listID = ListCreate ( STRINGLIST );

 

    // Get the setup type names from the media into the list.

    if (FeatureSetupTypeEnum( MEDIA, listID) < 0 ) then

        MessageBox ("FeatureSetupTypeEnum failed.", WARNING);

    endif;

 

    // Display the setup types.

    SdShowInfoList (SDSHOWTITLE, SDSHOWMSG, listID);

 

    // Now show setup types in a selection dialog.

    svSetupType = DEFTYPE;

    SdSetupTypeEx (SETUPTITLE, SETUPMSG, "", svSetupType, 0);

 

    // Release the list from memory.

    ListDestroy (listID);

 

end;