View Full Version : Problem with prerequisite command line and whitespacing

12-07-2009, 12:53 PM

I have a slight problem with the command line for setting up my prerequisite.
basically what I'm doing is, creating a prerequisite from a msi-based setup. the other setup is also created by installshield and i tried to run the setup silently but calling the setup.exe directly doesn't work, it always aborts the setup if there some prerequisites in the second setup.
I entered the following line in the command line field for the prerequisite. and it supposed to be executed with the setup.exe
/s /w /instance=default /v"/qn /l*v c:\LogFile.log CUSTOMISE=1 INSTALLDIR=\"%ProgramFiles%\ThirdPartyProductName\""

running this from the regular command line (cmd) works fine but not from within installshield.
I know there is similar issue with .net 3.5 install and that's why installshield is using a helper.exe. I took the same exe and tried to launch the setup that way. having another exe to pass some command line parameters makes the quoting more complicated. this is what I got to work so far:
helper.exe /p setup.exe /v "/s /w /instance=default /v\"/qn /l*v c:\LogFile.log CUSTOMISE=1 INSTALLDIR=\"%ProgramFiles%\ThirdPartyProductName\"\""

Unfortunatly, the quoting is not quite correct so I end up with the program installed under: C:\Program
which means the installation path is cut of within "C:\Program Files\ThirdPartyProductName".
I changed some quoting to get it to work on the regular command line and this is what I ended up with:
Helper.exe /p setup.exe /v "/s /w /instance=default /v\"/qn /l*v \\\"%temp%\CocoonProLabInstall.log\\\" CUSTOMISE=1 INSTALLDIR=\\\"%ProgramFiles%\Phonak\Cocoon\\\"\""

But again. it seems like installshield doesn't parse the backslashes and quotes properly. I could remove the additional quotes if the install dir wouldn't include whitespaces.

Does anyone have an idea how to install a thirdparty setup (basic msi) as a prerequisite with a installdir including whitespaces?
or is there atleast a way to see which command is being executed to install the prerequisite?