Archive: !system not recognizing short file name ?


!system not recognizing short file name ?
I use !system but end up with following error :

!system: "C:\Program Files\NSIS\Bin\lzma "e" "C:\Program Files\NSIS\Contrib\DcryptDll\Ncrypt\Ncrypt.exe" "C:\Program Files\NSIS\Contrib\DcryptDll\Ncrypt.lza" "
'C:\Program' is not recognized as an internal or external command,
operable program or batch file.
!system: returned 1, aborting
Error in script "stdin" on line 214 -- aborting creation process

The script is :
!system '${NSISDIR}\Bin\lzma "e" "${NSISDIR}\Contrib\DcryptDll\Ncrypt\Ncrypt.exe" \
"${NSISDIR}\Contrib\DcryptDll\Ncrypt.lza" ' = 0

Advice carefully please...
thanks in advance...


Sorry wrong title, it should be :
!system not recognizing long file name ?


You're missing quotes around the first ${NSISDIR} path.

You have: !system '${NSISDIR}\Bin\lzma "e".....

And it should be: !system '"${NSISDIR}\Bin\lzma" "e".....


Already fix that...
But it still have the same error...

Advice more please...


Oh, probably because you have:

${NSISDIR}\Bin\lzma

That's not pointing to an actual file, it's just point to a directory. The errors says mentions it's not a valid internal or external command, OPERABLE PROGRAM or batch file.


I have already change to

${NSISDIR}\Bin\lzma.exe

and check that lzma.exe is exist and running well on command prompt.

Another possibility... ???


For debugging e.g. silent installs (or yours) a messagebox with displaying the variables at that moment my come in very handy:

strcpy $0 "${NSISDIR}\Bin\lzma.exe"
MessageBox MB_OK "My value is now: $0"

BTW you are not confusing INSTALLTIME with BUILDTIME variables and locations are you?


That would require compilation of the installer of course, so I'd recommend using !error "${NSISDIR}\Bin\lzma.exe"

-Stu


BTW you are not confusing INSTALLTIME with BUILDTIME variables and locations are you?
nope, he's not, but you are! :)
afrow's solution should work.

I am having the same problem here, I am trying to call Cabwiz.exe to create a cab..


!system '"C:\Program Files\Windows CE Tools\wce420\POCKET PC 2003\Tools\cabwiz.exe" "${APPINF}.inf"'

APPINF is already defined by the way...

'C:\Program' is not recognized as an internal or external command, operable program or batch file.

Try:
!system '"%COMSPEC%" /C "C:\Program Files\Windows CE Tools\wce420\POCKET PC 2003\Tools\cabwiz.exe" "${APPINF}.inf"'

-Stu


Use !execute instead. It's some weird fetish of the command line processor to remove the first set of quotes, if the command line contains any other quotes. Alternatively, you can use a short file name for the executable.


Originally posted by Afrow UK
[B]Try:
!system '"%COMSPEC%" /C "C:\Program Files\Windows CE Tools\wce420\POCKET PC 2003\Tools\cabwiz.exe" "${APPINF}.inf"'
That worked with a bit of modification...

!system '"$%COMSPEC% /C" "C:\Program Files\Windows CE Tools\wce420\POCKET PC 2003\Tools\cabwiz.exe" "${APPINF}.inf"'


So thank you for your efforts everybody :)