Install shield LaunchAppAndWait is not picking up my return codes from .vbs scripts

I am running the attached Install shield function in Installshield professional 2008.

It is not picking up the return codes that I return from the .vbs script using the



Any idea what is wrong?
function NUMBER ProcessInstall(path, key, direction, drive, log)
	STRING szDirectory, szProgram, CommandOptions, szCmdLine, vbscriptPath;
	STRING sdirection, temp;
	NUMBER result;
	szDirectory = TARGETDIR;    //temp
	LongPathToQuote (szDirectory,TRUE);  
	LongPathToQuote (path,TRUE);   
	NumToStr ( sdirection, direction); 
	szProgram = "cscript.exe";
	CommandOptions =  " -Drive " + drive + " -key " + key + " -dir "  + sdirection;
	vbscriptPath =  TARGETDIR ^"\\ProcessInstall.vbs"  ;
	LongPathToQuote (vbscriptPath,TRUE);
	szCmdLine =vbscriptPath + CommandOptions + " -p " + path; 
	//MessageBox("Install command line:  " + szCmdLine ,WARNING);
	result = LaunchAppAndWait ( szProgram, szCmdLine, WAIT);
	return result;

Open in new window

Christopher ScheneSystem Engineer/Software EngineerAsked:
Who is Participating?
Vadim RappCommented:
Return Values                                       
Return Value                   

0                   Indicates that the application was launched successfully.                                             
< 0                   Indicates that the application was not launched successfully.
It does not say anything about return code.

When running an MS-DOS program you cannot determine the return resultDOS_ERRORLEVEL. However, you can place an MS-DOS application in a batchfile and have the batch file recognize the error and then createanother file that contains the returned error code. You can then readthe file and determine the error code returned from the MS-DOSapplication.

that's what you probably have to do.
Christopher ScheneSystem Engineer/Software EngineerAuthor Commented:
I wonder if I could place the response code in an environment variable anbd pick it up that way?
Vadim RappCommented:
Sure, only it has to be machine-wide environment, not user.
Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

Christopher ScheneSystem Engineer/Software EngineerAuthor Commented:
Hi, If you can give me an example of reading  an error code and error text from a file, I will add 200 points.
Vadim RappCommented:
sorry, I'm not familiar with installsript.
HI cschene,

How did u fix your installshield problem? how did u get LaunchAppAndWait.htmto return your vb results? can u please let me know. THANKS...
Christopher ScheneSystem Engineer/Software EngineerAuthor Commented:
I used a file to communcate errors between installshield and the VB application.  I can upload the code if you wish.
what I am trying to do is to save the query result to a file by doing :
launchappandwait ("sqlcmd.exe", " -S serverip - d database -E /Q "select version from versiontable" > vlog.txt" , ....)
... check the result and openfile ...

it returns zero but the file is not there .. not sure why. could u upload your code so I see what am I missing ?
Christopher ScheneSystem Engineer/Software EngineerAuthor Commented:
What I believe happens is that you see a bad return (non zero) only if the command itself fails.  So, I was running msiexex.exe and even if the >msi install failed, the msiexec command itself  worked (it ran).

I will have to look around for the code
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.