Archive: ExecWait with double quote


ExecWait with double quote
  the command fails with double quotes with the command area.

all fail:

 ExecWait '"${DOTNETPATH20}regasm /nologo /codebase "${JROOT}bin\board.dll"" x -y' 

 ExecWait '"${DOTNETPATH20}regasm /nologo /codebase \"${JROOT}bin\board.dll\"" x -y' 

  StrCpy$0 '"${JROOT}bin\board.dll"'  

>ExecWait '"${DOTNETPATH20}regasm /nologo /codebase $0" x -y'

Re: ExecWait with double quote
 

ExecWait '"${DOTNETPATH20}regasm" /nologo /codebase "${JROOT}bin\board.dll" x -y' 


Well, yes - of course they do. You have surrounded both the executable name and some of the parameters in a single set of double quotes - that will never work, as the quotes tell the shell to treat the contained part as a single element (since it's the first part, it'd be treated as the full executable name). Obviously, you wouldn't expect there to actually be a file with this name (hell, the Win32 subsystem doesn't even ALLOW that name).

Move the ending " to just after regasm, and it will likely work just fine.

(I'm assuming you have verified that ${JROOT} and ${DOTNETPATH20} actually contain what they're supposed to, but if they don't, then that's obviously going to be a problem as well.)


You can use escape sequence $\" - now you'll be able to use quotes as many times as you want :) .


Originally posted by Static_VoiD
You can use escape sequence $\" - now you'll be able to use quotes as many times as you want :) .
Thanks, I was doing \" not $\"

There are spaces in ${JROOT} that is why I needed the second set of quotes.