Skip to content
⌘ NSIS Forum Archive

2.09 Bug, or am I missing something?

10 posts

Jnuw#

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
kichik#
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.
Jnuw#
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
kichik#
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...
kichik#
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.
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
kichik#
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:



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