Solved

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

Posted on 2008-09-29
9
3,257 Views
Last Modified: 2013-11-14
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

      WScript.Quit(-5)

method.

Any idea what is wrong?
function NUMBER ProcessInstall(path, key, direction, drive, log)

	STRING szDirectory, szProgram, CommandOptions, szCmdLine, vbscriptPath;

	STRING sdirection, temp;

	NUMBER result;

begin     

	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;

	

end;

Open in new window

0
Comment
Question by:cschene
  • 4
  • 3
  • 2
9 Comments
 
LVL 40

Accepted Solution

by:
Vadim Rapp earned 300 total points
Comment Utility
http://helpnet.acresso.com/robo/projects/DevStudio9HelpLangref/LangrefLaunchAppAndWait.htm
===============================
Return Values                                       
Return Value                   

Description                                             
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.
0
 

Author Comment

by:cschene
Comment Utility
I wonder if I could place the response code in an environment variable anbd pick it up that way?
0
 
LVL 40

Expert Comment

by:Vadim Rapp
Comment Utility
Sure, only it has to be machine-wide environment, not user.
0
 

Author Comment

by:cschene
Comment Utility
Hi, If you can give me an example of reading  an error code and error text from a file, I will add 200 points.
0
Threat Intelligence Starter Resources

Integrating threat intelligence can be challenging, and not all companies are ready. These resources can help you build awareness and prepare for defense.

 
LVL 40

Expert Comment

by:Vadim Rapp
Comment Utility
sorry, I'm not familiar with installsript.
0
 

Expert Comment

by:atash1
Comment Utility
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...
0
 

Author Comment

by:cschene
Comment Utility
I used a file to communcate errors between installshield and the VB application.  I can upload the code if you wish.
0
 

Expert Comment

by:atash1
Comment Utility
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 ?
0
 

Author Comment

by:cschene
Comment Utility
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
0

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

Welcome, welcome!  If you are new to the series and haven't been following along, please take a brief moment to review the first three installments: Part 1 (http://www.experts-exchange.com/Programming/Languages/Visual_Basic/VB_Script/A_266-VBScri…
If you don't know how to downgrade, my instructions below should be helpful.
It is a freely distributed piece of software for such tasks as photo retouching, image composition and image authoring. It works on many operating systems, in many languages.
This video demonstrates how to create an example email signature rule for a department in a company using CodeTwo Exchange Rules. The signature will be inserted beneath users' latest emails in conversations and will be displayed in users' Sent Items…

743 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now