Archive: learning nsis


learning nsis
I'm brand new to nsis. I'm looking at a script with

!define MUI_COMPONENTSPAGE
!define MUI_DIRECTORYPAGE
!define MUI_FINISHPAGE
!define MUI_FINISHPAGE_NOREBOOTSUPPORT
!insertmacro MUI_PAGECOMMAND_COMPONENTS
!insertmacro MUI_PAGECOMMAND_DIRECTORY
!insertmacro MUI_PAGECOMMAND_INSTFILES

I would like to learning what MUI_FINISHPAGE_NOREBOOTSUPPORT is or MUI_PAGECOMMAND_INSTFILES is and what they do as well as any other mui_XXX_YYY . I can't find descriptions of these in the NSIS documentation. Can someone point me in the direction of something that gives explanations of this stuff and/or a good nsis tutorial, etc. Thanks in advance!


1) Click Start > Programs > NSIS > Contrib > Modern UI Readme.
2) When html is loaded, click on "Expand All"
3) Press CTRL+F, type "MUI_FINISHPAGE_NOREBOOTSUPPORT", press ENTER.
4) Read.
How hard can it be...


Thanks for you help not for your insult...common sense would be for info like this to be under...."Click Start > Programs > NSIS > NSIS Documentation".


You'll find that it is there; under Appendix A: Modern User Interface.

-Stu


Thanks for your kind response. Previously, I did search the documentation under "Search", "Type in the words you are looking for" and nothing came up at all.

That page doesn't have anything on mui_pagecommand_xxxxxx. It also doesn't answer what is mui_directorypage or mui_finishpage are by themselves. Any other place to go look for a comprehensive listing and explanation of these features.


It's all under the Modern UI readme.

-Stu


And if you can't find something, such as "mui_pagecommand_x" macros, that means there's no such thing in the latest version of MUI (now they're named "MUI_PAGE_X", for quite some time already).


Thanks. Do you know why a script would have mui_directorypage or mui_finishpage by themselves. The documentation refers to mui_directorypage_xxxxx and mui_finishpage_xxxx . Is there any purpose or is this just waste.


In older versions of MUI (around year 2003, IIRC) syntax to set up pages in the script was like this:

!define MUI_DIRECTORYPAGE
!define MUI_FINISHPAGE
...
!insertmacro MUI_PAGECOMMAND_DIRECTORY
!insertmacro MUI_PAGECOMMAND_FINISH


Nowadays it's just:
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_FINISH

etc.

So if you are learning from old examples, expect some minor differences.

Wow! Thanks. That is exactly the case. This project is from 2002. I have been asked to add to it. If need be is it possible to get nsis from 2002.


I would not recommend using older versions of NSIS. Many bugs have been fixed since then.

You should be able to update the scripts quite easily. See Examples\Modern UI. The syntax is much simpler now.

-Stu


Originally posted by nsisnovice
If need be is it possible to get nsis from 2002.
You can find all old releases on NSIS download page ( http://nsis.sourceforge.net/Download ) under *cough* "Old releases".
Although using the latest version is recommended. For example back then there was no LZMA compression support. Which alone, IMHO, is worth some trouble.
I think it shouldn't be too hard to fix these old things into new, there's not that much of them. The pages naming issue described above, maybe some language related macros/defines, etc...

*cough* Congratulations!