InstallShield 2015 ยป InstallScript Language Reference
/*--------------------------------------------------------------*\
*
* InstallShield Example Script
*
* Demonstrates the FeatureAddItem, FeatureSetData,
* FeatureCompareSizeRequired, and SdFeatureMult functions.
*
* Notes: DESTDIR must reference a drive with very little space
* available, such as a floppy drive. Remember to put a
* diskette into the floppy drive before running this
* script.
*
\*--------------------------------------------------------------*/
#define FEAT1 "CAD Prog. Files"
#define FEAT1SIZE 25000000
#define FEAT1DESC "CAD program EXEs and DLLs."
#define FEAT2 "CAD Templates"
#define FEAT2SIZE 18000000
#define FEAT2DESC "CAD template files."
#define SUBFEAT1 "Industrial"
#define SUBFEAT1SIZE 7000000
#define SUBFEAT1DESC "CAD industrial engineering template files."
#define SUBFEAT2 "Civil"
#define SUBFEAT2SIZE 5000000
#define SUBFEAT2DESC "CAD civil engineering template files."
#define SUBFEAT3 "Mechanical"
#define SUBFEAT3SIZE 6000000
#define SUBFEAT3DESC "CAD mechanical engineering template files."
#define DESTDIR "a:\\"
#define SDFEATTITLE "Displaying Script-created Features"
#define SDFEATMSG "Make sure all features are selected."
#define FEATSIZEERRMSG "Make sure target drive is accessible."
// Include Ifx.h for built-in InstallScript function prototypes.
#include "Ifx.h"
export prototype ExFn_FeatureCompareSizeRequired(HWND);
function ExFn_FeatureCompareSizeRequired(hMSI)
STRING svDir, svTarget;
NUMBER nvSize, nData;
begin
// Disable the Back button in setup dialogs. Disable (BACKBUTTON);
// Make a script-created feature set that includes subfeatures
// and give it the media name "Run-time CAD".
MEDIA = "Run-time CAD";
FeatureAddItem (MEDIA, FEAT1, FEAT1SIZE, TRUE);
FeatureSetData (MEDIA, FEAT1, FEATURE_FIELD_DESCRIPTION,
nData, FEAT1DESC);
FeatureAddItem (MEDIA, FEAT2, FEAT1SIZE, TRUE);
FeatureSetData (MEDIA, FEAT2, FEATURE_FIELD_DESCRIPTION, nData, FEAT2DESC);
FeatureAddItem (MEDIA, FEAT2 + "\\" + SUBFEAT1, SUBFEAT1SIZE, TRUE);
FeatureSetData (MEDIA, FEAT2 + "\\" + SUBFEAT1, FEATURE_FIELD_DESCRIPTION,
nData, SUBFEAT1DESC);
FeatureAddItem (MEDIA, FEAT2 + "\\" + SUBFEAT2, SUBFEAT2SIZE, TRUE);
FeatureSetData (MEDIA, FEAT2 + "\\" + SUBFEAT2, FEATURE_FIELD_DESCRIPTION,
nData, SUBFEAT2DESC);
FeatureAddItem (MEDIA, FEAT2 + "\\" + SUBFEAT3, SUBFEAT3SIZE, TRUE);
FeatureSetData (MEDIA, FEAT2 + "\\" + SUBFEAT3, FEATURE_FIELD_DESCRIPTION,
nData, SUBFEAT3DESC);
// Display the script-created features and subfeatures.
SdFeatureMult (SDFEATTITLE, SDFEATMSG, svDir, "");
// Set INSTALLDIR to DESTDIR, which, if you define as a floppy drive
// (with a diskette in it), causes FeatureCompareSizeRequired
// to display its 'not enough space' message.
nvSize = 0;
INSTALLDIR = DESTDIR;
if (FeatureCompareSizeRequired(MEDIA, svTarget, nvSize) < 0) then
MessageBox (FEATSIZEERRMSG, SEVERE);
endif;
end;
InstallShield 2015 Help LibraryJune 2015 |
Copyright Information | Contact Us |