Link to home
Start Free TrialLog in
Avatar of ADenney
ADenney

asked on

microsoft, visual basic, 6.0, trying to create a working CAB install file, invalid command line.patrameters. Unable to continue.

I have a VB6 project, processed by the Package & Development wizard. I unzip the CAB contents, then try to run the SETUP1.exe. Get the message "invalid command line parameters. . Unable to continue." (I can execute the unzippwd program, which accesses an unzipped data file) But I'd like to have potential bvuyers be able to download the app, and install it as simply as possible.
ASKER CERTIFIED SOLUTION
Avatar of Priest04
Priest04
Flag of Serbia image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Hi!

You should not to run the Setup1.exe, instead run the Setup.exe

Vb 6.0 B&D made setup project has files: Setup.exe the yorapp.cab and setup.lst these should be in same folder, don't try to unpack the cab.

Matti
Avatar of Ark
Here is how PDW works:
Setup.exe unzip cab file into temp folder, read and validate .lst file and then call Setup1.exe with some some command-line parameters (see http://support.microsoft.com/kb/q189738/)
Investigation of Setup1.exe (located at VSPath\Wizards\PDWWizard\Setup1 folder) give following:
'module=basSetup1.bas, function ProcessComandLine
'===========================================================
    strSrcPath = strExtractFilenameArg(strCommand, fErr)
    If fErr Then GoTo BadCommandLine
   
    strAppRemovalLog = strExtractFilenameArg(strCommand, fErr)
    If fErr Then GoTo BadCommandLine
   
    strAppRemovalEXE = strExtractFilenameArg(strCommand, fErr)
    If fErr Then GoTo BadCommandLine
'===========================================================
So, it should be at least 3 command line arguments for Setup1.exe
<QUOTE>    ' We expect to find the source directory,
    ' name/path of the logfile, and name/path
    ' of the app removal executable, separated only by
    ' spaces  </QUOTE>
There can be also fourth element (BTW, not widely documented by MS) - silent installation switch with silent logfile path

So, correct call to Setup1.exe is
Setup1.exe "C:\Temp\" "install.log" "uninstall.exe"
or
Setup1.exe "C:\Temp\" "C:\Temp1\install.log" "C:\Temp2\uninstall.exe"
All these 3 cmd parameters are created by Setup.exe and bypass to Setup1 automatically

For silent installation:
via setup.exe:
setup.exe /s c:\anylogfilename.log
via setup1
setup.exe /s c:\anylogfilename.log C:\Temp install.log uninstall.exe

Note: quotes in file names/path required if they contain spaces

Ark
Avatar of ADenney
ADenney

ASKER

okay so far.. When I run the PDW, it generates:
setup.exe
setup.lst
mypaogram.cab

Does the user have to download all three, and then run setup? Is there anyway to create one module which will  install the program?
 
Yes, setup require all 3 files. There are some ways of work around
1. Run setup.exe directly from web link - in this case all 3 filse must be placed in 1 folder at web server
2. Use self-extracting zip/rar - they allow start setup.exe after extracting into temp folder
3. Use third party setup tool, like InnoSetup, InstallShield, Wise Install etc.