LongPathToQuote Example
InstallShield 2023 » 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 LongPathToQuote function.
*
* This script calls LongPathToQuote to place double quotation
* marks around a long file name. The result is displayed in
* in a dialog. Then, LongPathToQuote is called again to
* remove the quotation marks and the result displayed in a
* dialog.
*
\*--------------------------------------------------------------*/
// Define a constant for the base path (a long file name).
#define BASE_PATH "C:\\Program Files"
// Include Ifx.h for built-in InstallScript function prototypes.
#include "Ifx.h"
export prototype ExFn_LongPathToQuote(HWND);
function ExFn_LongPathToQuote(hMSI)
STRING svPath, szMainDirectory, szMsg;
begin
// Set up parameter for call to LongPathToQuote.
svPath = BASE_PATH;
// Place double quotation marks around the long file name in svPath.
if (LongPathToQuote (svPath, TRUE) < 0) then
MessageBox ("First call to LongPathToQuote failed.", SEVERE);
abort;
endif;
// Display the quoted long file name in svPath.
szMsg = "The quoted long file name:\n\n" + svPath;
MessageBox (szMsg, INFORMATION);
// Remove the quotation marks from the long file name in svPath.
if (LongPathToQuote (svPath, FALSE) < 0) then
MessageBox ("Second call to LongPathToQuote failed.", SEVERE);
abort;
endif;
// Display the long file name with quotation marks removed.
szMsg = "The unquoted long file name is shown below: \n\n" + svPath;
MessageBox (szMsg, INFORMATION);
end;