FeatureSetupTypeSet Example

InstallShield 2014 ยป InstallScript Language Reference



* InstallShield Example Script


* Demonstrates the FeatureSetupTypeSet function.


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

*       insert into a project) with several setup types and

*       features. Make sure you specify the setup types'

*       default feature selections.  If you do not include

*       a Compact setup type, then define one of your setup

*       types as SETUP_TYPE in the #define SETUP_TYPE line

*       below.




#define SETUP_TYPE   "Compact"

#define SDSETUPTITLE "Setup Type Selection"

#define SDSETUPMSG   "Select a setup type other than " + SETUP_TYPE + "."

#define SDFEATTITLE  "Feature Selection"

#define SDFEATMSG1   "Feature selection before FeatureSetupTypeSet."

#define SDFEATMSG2   "Feature selection after FeatureSetupTypeSet."

#define MSG1         "FeatureSetupTypeSet will now select all\n"

#define MSG2         "features in the " + SETUP_TYPE + " setup type."


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

#include "Ifx.h"


export prototype ExFn_FeatureSetupTypeSet(HWND);


function ExFn_FeatureSetupTypeSet(hMSI)

    STRING szSetupType, svSetup, svDir;



   // Disable the Back button in setup dialogs.

   Disable (BACKBUTTON);


   // Select a setup type other than SETUP_TYPE to show default

   // selection settings.

   SdSetupTypeEx (SDSETUPTITLE, SDSETUPMSG, "", svSetup, 0);


   // Display the feature selections for the selected setup type.

   svDir = INSTALLDIR;

   SdFeatureMult (SDFEATTITLE, SDFEATMSG1, svDir, "");


   MessageBox (MSG1 + MSG2, INFORMATION);


   // Now change/override the previous setup type selection by

   // selecting SETUP_TYPE's features. All others are deselected.

   szSetupType = SETUP_TYPE;

   if (FeatureSetupTypeSet (MEDIA, szSetupType) < 0) then

       MessageBox ("FeatureSetupTypeSet failed.", SEVERE);



   // Display the new feature selections.

   SdFeatureMult (SDFEATTITLE, SDFEATMSG2, svDir, "");