in the Install Options readme,
(NSIS\Docs\InstallOptions\Readme.html)
"Call the DLL
You can call InstallOptions in a page function, check the NSIS documentation for information about the page system."
the link "NSIS documentation" points to "file:///C:/Program%20Files/NSIS/Docs/Chapter4.html#4.5"
the file does not exist.
OJi.
typos in the docs ...
95 posts
Thanks, fixed.
This is not a typo, but a suggestion for clarity. Under the 4.9.1.5 File section, on the /nonfatal bullet, it currently states:
"If the /nonfatal switch is used and no files are found, a warning will be issued instead of an error."
I think it would be good to add that if the /nonfatal switch is activate or invoked (no files found), the line will no longer be a run-time instruction, and Relative Jumps will not see the line (per jump info below). It would be best to use regular labels around File /nonfatal commands to be safe.
"4.4 Relative jump of +2 will skip one instruction and go to the second instruction from the current instruction...An instruction is every command that is executed at run-time, when the installer is running. MessageBox, Goto, GetDLLVersion, FileRead, SetShellVarContext are all instructions. AddSize, Section, SectionGroup, SectionEnd, SetOverwrite (and everything under Compiler Flags), Name, SetFont, LangString, are not instructions because they are executed at compile time."
Thanks for your time!
"If the /nonfatal switch is used and no files are found, a warning will be issued instead of an error."
I think it would be good to add that if the /nonfatal switch is activate or invoked (no files found), the line will no longer be a run-time instruction, and Relative Jumps will not see the line (per jump info below). It would be best to use regular labels around File /nonfatal commands to be safe.
"4.4 Relative jump of +2 will skip one instruction and go to the second instruction from the current instruction...An instruction is every command that is executed at run-time, when the installer is running. MessageBox, Goto, GetDLLVersion, FileRead, SetShellVarContext are all instructions. AddSize, Section, SectionGroup, SectionEnd, SetOverwrite (and everything under Compiler Flags), Name, SetFont, LangString, are not instructions because they are executed at compile time."
Thanks for your time!
That's a bug, not a documentation problem. Please submit a bug report.
Logged as a bug, 1299100. Thanks for looking at this, and your help on my 2.09 questions from a few minutes ago.
Jnuw
Jnuw
Idea
I know that in the history of NSIS we've always had the "NSIS Examples Directory" shortcut, but I think a "NSIS Directory" shortcut would be more helpful as I myself have my projects in a Projects sub-folder.
-Stu
I know that in the history of NSIS we've always had the "NSIS Examples Directory" shortcut, but I think a "NSIS Directory" shortcut would be more helpful as I myself have my projects in a Projects sub-folder.
-Stu
I don't think that's necessary. The start menu is meant for a quick start and that folder contains nothing that's not already linked. In your case, I think you'd even do better with a direct link to that projects folder.
4.6.1.5 SectionGroup
[/e] Caption [section_group_name index_output]
should be
[/e] section_group_name [index_output]
[/e] Caption [section_group_name index_output]
should be
[/e] section_group_name [index_output]
I found a few typos:
4.8.2.3
Typically the SetCompress flag will effect the commands after it,
should be 'affect'.
Also found that this code changes the compression status:
SetCompress off
SetCompressor lzma
Setcompressor switches SetCompress back to the default compression status (auto). This should be documented or bugfixed.
5.4
!define symbol1 ${symbol2}
After copying and pasting the code, I found that this typo has a 1 after symbol. I thought it was two l's. Maybe it should be changed to symbol_1 and symbol_2 or somthing similar (for clarity).
B2
To ask the user for a reboot if required,
should be 'To ask the user for a reboot, if required,' or 'If required, you can ask the user for a reboot.'
D2
For Windows NT (NT4/2000/XP), it's also possible to create the key in the HKCU hive,
Should this be hive, or should it be changed to folder/directory?
4.8.2.3
Typically the SetCompress flag will effect the commands after it,
should be 'affect'.
Also found that this code changes the compression status:
SetCompress off
SetCompressor lzma
Setcompressor switches SetCompress back to the default compression status (auto). This should be documented or bugfixed.
5.4
!define symbol1 ${symbol2}
After copying and pasting the code, I found that this typo has a 1 after symbol. I thought it was two l's. Maybe it should be changed to symbol_1 and symbol_2 or somthing similar (for clarity).
B2
To ask the user for a reboot if required,
should be 'To ask the user for a reboot, if required,' or 'If required, you can ask the user for a reboot.'
D2
For Windows NT (NT4/2000/XP), it's also possible to create the key in the HKCU hive,
Should this be hive, or should it be changed to folder/directory?
Thanks, fixed.
SetCompress off followed by SetCompressor worked fine for me. Please include a complete example.
It should indeed be HKCU hive. That's how the registry objects are called [MSDN].
SetCompress off followed by SetCompressor worked fine for me. Please include a complete example.
It should indeed be HKCU hive. That's how the registry objects are called [MSDN].
My bad on SetCompressor. It does work. Maybe instead of saying 'Using lzma compression', it could say 'Using no compression', because I look at this line when I compile my installers with SetCompress off, and I think 'Oh, it's using lzma compression' when it is really not compressed.
From MUI doc:
...Is this correct? I think this is must be:
Language Selection Dialog Settings
To remember to users preference, you can define a registry key.
...
To remember the...
4.9.13.1 SectionSetFlagsI suggest "enabled" --> "selected"
... The first bit (lowest) represents whether the section is currently enabled,
This will also make it consistent with wording in Sections.nsh, e.g. SF_SELECTED
Thanks, fixed.
In section 4.9.14.2, CreateFont :
GetDlgItem $$0 $HWNDPARENT 1
Should there really be two '$' signs ?
And if yes, then why ?
GetDlgItem $$0 $HWNDPARENT 1
Should there really be two '$' signs ?
And if yes, then why ?
nope there should not, its definetly a typo.
Thanks, fixed.
foul language
In section 4.8.1.30, Name :
'CrapSoft MyApp'
==> 'MySoft MyApp'
In section C.1, Get parent directory :
; input, top of stack (e.g. C:\Program Files\Poop)
==> ; input, top of stack (e.g. C:\Program Files\foo)
In section 4.8.1.30, Name :
'CrapSoft MyApp'
==> 'MySoft MyApp'
In section C.1, Get parent directory :
; input, top of stack (e.g. C:\Program Files\Poop)
==> ; input, top of stack (e.g. C:\Program Files\foo)
Aannd there was also some poo in the examples.
In these files:
Examples\bigtest.nsi
Examples\InstallOptions\test.ini
Examples\InstallOptions\testnotify.ini
(Not sure if the bigtest.nsi needs fixin)
StrCpy $1 "POOOOOOOOOOOP"
==> StrCpy $1 "FOOOOOOOOOOOO"
Heres a patch anyway.
In these files:
Examples\bigtest.nsi
Examples\InstallOptions\test.ini
Examples\InstallOptions\testnotify.ini
(Not sure if the bigtest.nsi needs fixin)
StrCpy $1 "POOOOOOOOOOOP"
==> StrCpy $1 "FOOOOOOOOOOOO"
Heres a patch anyway.
Not actually a typo, but missing documentation. The LockWindow command is supported but not documented anywhere.
What exactly does it do? I am guessing it enables or prevents window repainting.
Why would it be needed in an installer? I am not quite sure.
What exactly does it do? I am guessing it enables or prevents window repainting.
Why would it be needed in an installer? I am not quite sure.
It's documented.
Yes, I realized I was looking at an older CHM file.
I have every release of NSIS installed on my PC (I use them for regression testing), and I suppose I must have opened an old version of NSIS.chm by mistake.
Even though the command has been supported since 2.0, it was not documented until 2.07.
(But you already knew that).
I have every release of NSIS installed on my PC (I use them for regression testing), and I suppose I must have opened an old version of NSIS.chm by mistake.
Even though the command has been supported since 2.0, it was not documented until 2.07.
(But you already knew that).
OK, I'm pretty sure I didn't mess up this time. 🙂
SetCompressionLevel is not documented. It is supported, since running
makensis /cmdhelp setcompressionlevel
yields:
SetCompressionLevel is not documented. It is supported, since running
makensis /cmdhelp setcompressionlevel
yields:
MakeNSIS v2.14 - Copyright 1999-2006 Nullsoft, Inc.Same with Nop:
Portions Copyright (C) 1995-1998 Jean-loup Gailly and Mark Adler (zlib).
Portions Copyright (C) 1996-2002 Julian R Seward (bzip2).
Portions Copyright (C) 1999-2003 Igor Pavlov (lzma).
Contributors: nnop@newmail.ru, Ryan Geiss, Andras Varga, Drew Davidson, Peter Windridge, Dave Laundon, Robert Rainwater,
Yaroslav Faybishenko, Jeff Doozan, Amir Szekely, Ximon Eighteen, et al.
Usage: SetCompressionLevel level_0-9
MakeNSIS v2.14 - Copyright 1999-2006 Nullsoft, Inc.I just did a search, and these commands were discussed in this thread. LockWindow made it into the docs, the other two didn't.
Portions Copyright (C) 1995-1998 Jean-loup Gailly and Mark Adler (zlib).
Portions Copyright (C) 1996-2002 Julian R Seward (bzip2).
Portions Copyright (C) 1999-2003 Igor Pavlov (lzma).
Contributors: nnop@newmail.ru, Ryan Geiss, Andras Varga, Drew Davidson, Peter Windridge, Dave Laundon, Robert Rainwater,
Yaroslav Faybishenko, Jeff Doozan, Amir Szekely, Ximon Eighteen, et al.
Usage: Nop
SetCompressionLevel doesn't work. Nop added, thanks.
Nop ?!
"Does nothing."
What is it useful for?!?!
why is this one implemented?
is Nop simply the same as an empty script line?
then, why do you include it? (overhead!)
"Does nothing."
What is it useful for?!?!
why is this one implemented?
is Nop simply the same as an empty script line?
then, why do you include it? (overhead!)
Nop is a blank instruction which takes up a line. Stands for Null Operation. Simply there for relative jumps for example.
It won't add to overhead though because it's just for the compiler.
-Stu
It won't add to overhead though because it's just for the compiler.
-Stu
ah, i think i got it ...
so:
Goto +3
Nop
is the same as
Goto +2
thats the revolution we all waited for .. lol
so:
Goto +3
Nop
is the same as
Goto +2
thats the revolution we all waited for .. lol
It actually adds an instruction to the code as well. It is not just for the compiler. It adds a jump to the next instruction, which is esentially the same as doing nothing.
I discovered this one in the compiler:
Error: invalid charaters in variable name "Hello'", use only charaters [a-z][A-Z][0-9] and '_'
Did someone copy and paste lol?
-Stu
Error: invalid charaters in variable name "Hello'", use only charaters [a-z][A-Z][0-9] and '_'
Did someone copy and paste lol?
-Stu
In Section:
4.9.1.8 RMDir
The line: RMDir /r /REBOOTOK $INSTIDR
Should be: RMDir /r /REBOOTOK $INSTDIR
4.9.1.8 RMDir
The line: RMDir /r /REBOOTOK $INSTIDR
Should be: RMDir /r /REBOOTOK $INSTDIR