Archive: ERROR: Illegal Pathname detected! Spaces inside Pathname are not allowed


ERROR: Illegal Pathname detected! Spaces inside Pathname are not allowed
Hi!

After not successfully search the web for view hours I decided to post my problem.

I'm using MakeNSIS v2.14 (log version). Previously I was using a 1.x Version.

In the Directory Page, when I push the "browse" button a message box appears (3 times) with following contents:

ERROR
Illegal Pathname detected!
Spaces inside Pathname are not allowed

After confirming that message box three times I can select a path.

That behavior is only present on Windows 2K and XP but not on NT.

Previous MakeNSIS Version does not shows such a messagebox.

What am I doing wrong?

Does new version handle paths different as the previous version?

I did not found any flags to tell NSIS to ignore that, nor to specify the rigth path string.

Help will be appreciated. See attachment for scriptfile.

Adolfo


I didn't see any PAGE commands in your attached NSI file. How were you even getting a directory page? Are you sure this is the right NSI file?


According to my syntax highlighting editor, single quotes in the !define messes with the rest of the file.

Try replacing the following line

!define INSTALLPATH '$PROGRAMFILES\Controlware\Supervisor_${SV_VER}\'

with

!define INSTALLPATH "$PROGRAMFILES\Controlware\Supervisor_${SV_VER}\"

and see if that helps.


IMHO MessageBox in 4.7.2.1.10 .onVerifyInstDir is not good. It's MessageBox may look crazy. And $PROGRAMFILES in your default path includes blank spaces.


At first, thanks for answers :up: !

@Mr Inches

What editor are you using?

I'm using HM NIS Editor http://hmne.sourceforge.net/ and its coloring is OK.


@Comperio

I agree, I do not know :confused: way it is working without PAGE commands but it is. That script was written by other peoples not more here. I'm just trying to adapt it to work with the new version of NSIS. Till now it works fine, only the behavior problem with "browse" buttom is wrong.


@Takhir

I tried to print the $INSTDIR in the MessageBox and it is "C:\Dokumente und Einstellungen\alucha\desktop" (inglish: "C:\documents and settings\alucha\desktop") in the first box. It is "C:\Dokumente und Einstellungen\alucha\Eigene Dateien" in the other three message boxes. But I did not set it to that string. Where is it set to it? And why is it poping up four times, and with different path strings?

I tried to set $INSTDIR in followiung code

Function .onInit
StrCpy $INSTDIR "${INSTALLPATH}"
FunctionEnd

But it does not change the behavior.

Why is the behavior other under XP as under NT?


I fixed it with a workaround. I check the Windows Version in the .onVerifyInstDir and allow spaces inside paths when XP.

Thanks again for all your answers.


Good to hear you managed to sort it out, or at least have the workaround.

I use UltraEdit-32 with the NSIS wordfile extension for my editor and your file was the first one I have seen in it that marked all of the file after that !define as a string, which I found odd.

NSIS seemed to compile it OK (except for the obvious missing files!), but it looked unusual enough for me to highlight it.


TextPad latest with nsis2 file - i code myself w/o help - only with wiki and chm help :)