InstallScript Syntax or Compiler Errors

InstallShield 2019 » InstallScript Language Reference

Syntax errors prevent the file Setup.inx from being created and cause the compiler to display one of the error messages in the list below. A single syntax error can cause the compiler to generate more than one error message. The first error message is triggered by the syntax error. The others are triggered because the compiler is not able to resolve the statement or statements that follow the error.

Tip • If your script generates more than one syntax error, correct the first one in the list and then recompile. By correcting the first error, you might eliminate one or more of the others.

InstallScript Syntax or Compiler Errors

Error Number

Message

C8001

multiple main programs defined

C8002

function name expected

C8003

function has no prototype declaration

C8004

identifier already declared

C8005

function was declared as DLL function

C8006

missing '(' after function name

C8007

comma expected

C8008

identifier expected

C8009

too many parameters

C8010

missing right parenthesis

C8011

missing 'begin' at start of function

C8012

semicolon expected

C8013

unexpected end of source file

C8014

identifier already defined

C8015

member name already defined

C8016

undefined label:

C8017

expected typedef (struct) name

C8018

typedef object illegal in this context

C8019

expected type declaration

C8020

parameter list expected

C8021

missing 'begin' after 'typedef'

C8022

comma or semicolon expected

C8023

right bracket expected

C8024

invalid array/string size

C8025

undefined identifier

C8026

invalid use of identifier

C8027

missing operand

C8028

unresolved operator

C8031

uncalled function

C8032

missing member reference

C8033

unsubscripted array

C8034

missing expression

C8035

statement label required

C8036

too many arguments

C8037

variable required

C8038

numeric value required

C8039

string value required

C8040

incomplete argument list

C8042

string or array type required

C8043

typedef pointer type required

C8044

typedef type required

C8045

member name not found

C8046

numeric variable required

C8047

can only take address of variable

C8048

macro name missing

C8049

missing expression for #if/#elif

C8050

invalid expression for #if/#elif

C8051

missing end of string literal

C8052

macro expansion text too large

C8053

identifier not a #define macro

C8054

include file name missing

C8055

#elif not preceded by #if

C8057

#else not preceded by #if

C8058

#endif not preceded by #if

C8059

unrecognized preprocessor command

C8062

constant operand required

C8063

input line too long

C8064

unterminated comment

C8065

string literal exceeds 255 characters

C8066

missing #endif statement at end of file

C8067

integer constant too large

C8068

unrecognized character encountered

C8069

preprocessor command must be first on line

C8070

string constant expected

C8071

colon expected

C8072

'elseif' cannot follow 'else'

C8073

missing 'then' keyword

C8074

'else' clause already encountered

C8075

'default' label already encountered

C8076

multiple case labels for statement

C8077

label already defined

C8078

label illegal in this 'for' loop

C8079

invalid statement

C8080

missing arguments for function

C8081

invalid result for assignment

C8082

missing '(' after switch

C8083

missing ')' after switch

C8084

missing 'case' after switch

C8085

missing '='

C8086

missing 'to' or 'downto'

C8087

cannot return value from program

C8088

not inside if statement

C8089

not inside for statement

C8090

not inside repeat statement

C8091

not inside while statement

C8092

function called but not defined

C8093

size required for string in typedef

C8097

syntax error

C8098

missing '.name' after DLL name

C8099

DLL function name expected

C8100

function not defined for this DLL

C8101

must specify DLL for this function

C8112

typedef includes instance of self

C8113

local variables cannot be external

C8114

preprocessor user define error

C8126

'text' : string variable required

C8127

label illegal within try/catch/endcatch

C8128

goto illegal within try/catch/endcatch

C8522

Access is denied.

See Also