Archive: 2.09 Bug, or am I missing something?


2.09 Bug, or am I missing something?
Hello all.

Well I just updated from 2.06 to 2.09 and compiled an install script that I have been using for months. According to the 2.09 change log, a Root Directory Install problem was suppose to be fixed.

However I compiled the below code with 2.09 (original and Logging EXE/Stub builds) and in all cases can not install to a root. Check it out, compile the code below, and should see the Install button grays out when you backspace out the directory path to the root. Let me know, thanks.

Jnuw


; NSIS 2.09
!include "MUI.nsh"
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_LANGUAGE "English"

Name "RootTest"
AllowRootDirInstall True
OutFile "RootTest.exe"
InstallDir "$EXEDIR"

Section "-Test"
MessageBox MB_OK "Hi"
SectionEnd

The change log actually said "C:\ " (root directory with a space) is no longer considered valid without AllowRootDirInstall. AllowRootDirInstall worked fine before that fix though, so it's not so much as a fix but a cause :)

Anyway, thanks for bringing this up. I'll fix it tomorrow.


Thanks kichik. Will I be able to get access to the fix then, or will it only be in the next release? Or should I be patient :) and shut up and wait till you find the problem first! Thanks again.

Jnuw


I know what the problem is, I just need to find a better fix to the "C:\ " problem. Once it's done, I'll attach a patch here, but you might want to wait for 2.10. It's not that far away...


Excellent, thanks so much for the info.


Here's a fix. I'm not going to upload it yet, because I want to test it and think about it a bit more. I'd appreciate any comments.


Thanks! I try to test it today.

Jnuw


Hey kichik,

I'm a bit confused on how to test this. I figured I would have a util.c file that I would replace with this one, but I don't have that file. I'm guessing that I would have to re-compile my makensis.exe, but I'm not too familiar with that process.

I'm OK with just waiting to 2.10 for the fix, or if you would like me to test this fix could you post a compiled makensis.exe, that is if I'm correct in how to implement this patch.

On last question, if I just wanted to roll back to 2.06, is it alright that I just rename my current (2.09) NSIS folder and copy back in my 2.06 NSIS folder I backed up before upgrading? Or should I run the uninstaller/installer to roll back to 2.06? Thanks for your time.

Jnuw


It's a patch against the source code of NSIS from CVS. You need to apply it and recompile NSIS.

Here's a compiled version including this fix:

http://stashbox.org/uploads/1128351038/root.zip

To rollback, you can rename the directory and install 2.06 instead. You could also simply install 2.06 to another directory.


Sweet, thanks!

Jon