Skip to content
⌘ NSIS Forum Archive

ExecWait with double quote

5 posts

jayfox911#

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' 
820815#
Re: ExecWait with double quote

ExecWait '"${DOTNETPATH20}regasm" /nologo /codebase "${JROOT}bin\board.dll" x -y' 
Pidgeot#
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.)
Static_VoiD#
You can use escape sequence $\" - now you'll be able to use quotes as many times as you want 🙂 .
jayfox911#
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.