InstallShield 2016 » InstallScript Language Reference
Note • To call this function in a Basic MSI setup, you must first create a custom action for the entry-point function, execute the custom action in a sequence or as the result of a dialog's control event, and then build the release.
/*-----------------------------------------------------------*\
*
* InstallShield Example Script
*
* Demonstrates the BatchFileLoad and BatchFileSave functions.
*
* This example script shows how to open a batch file for
* editing, how to create a backup of the original file, and
* how to save and close the edited file.
*
* To demonstrate how the file backup feature of BatchFileSave
* prevents the overwriting of existing files, this script loads
* and saves two different batch files. The first batch file is
* backed up with a specific file name. The second is backed up
* with a wildcard extension so that BatchFileSave will
* generate a unique file extension consisting of three digits.
*
* Note: Before running this script, create two batch files
* (ISExamp1.bat and ISExamp2.bat) in the root of drive C.
* For best effect, you should delete or move any other
* files named ISExamp1.* or ISExamp2.*.
*
\*-----------------------------------------------------------*/
// Names of batch files and backup files used in this example.
#define EXAMPLE1 "ISExamp1"
#define EXAMPLE2 "ISExamp2"
// Full names of batch files.
#define EXAMPLE1_BAT "C:\\" + EXAMPLE1 + ".bat"
#define EXAMPLE2_BAT "C:\\" + EXAMPLE2 + ".bat"
// Include Ifx.h for built-in InstallScript function prototypes.
#include "Ifx.h"
export prototype ExFn_BatchFileSave(HWND);
function ExFn_BatchFileSave(hMSI)
begin
// Load EXAMPLE1_BAT.
if (BatchFileLoad (EXAMPLE1_BAT) < 0) then
MessageBox ("Unable to load " + EXAMPLE1_BAT + ".", SEVERE);
abort;
endif;
// Use other batch file functions here to edit the first file.
// Back up the original file with the extension "bak"; save the
// edited file under its original name. If ISExamp1.bak already
// exists, BatchFileSave will generate a numbered extension.
if (BatchFileSave (EXAMPLE1 + ".bak") < 0) then
MessageBox ("Unable to save " + EXAMPLE1_BAT + ".", SEVERE);
abort;
else
MessageBox (EXAMPLE1_BAT + " saved.",INFORMATION);
endif;
// Load EXAMPLE2_BAT.
if (BatchFileLoad (EXAMPLE2_BAT) < 0) then
MessageBox ("Unable to load " + EXAMPLE2_BAT + ".", SEVERE);
abort;
endif;
// Use other batch file functions here to edit the second file.
// Back up the original batch file with a numbered extension
// and save the edited file under its original name.
if (BatchFileSave (EXAMPLE2 + ".*") < 0) then
MessageBox ("Unable to save " + EXAMPLE2_BAT + ".", SEVERE);
abort;
else
MessageBox (EXAMPLE2_BAT + " saved.",INFORMATION);
endif;
end;
InstallShield 2016 Help LibraryMay 2017 |
Copyright Information | Flexera Software |