Archive: Customized text on components page


Customized text on components page
Hey all,
I've started using NSIS (with MUI) for installation and am curious about some of the customizable features. I've found out how to change most of the text on the various pages, but am having trouble with the components page header. It currently says "Choose Components" with some small text after and I'd like to change the small text. However, I can't seem to find the variable to define that does this.

I've found these variable to change various text areas on the page (these work):
MUI_COMPONENTSPAGE_TEXT_TOP MUI_COMPONENTSPAGE_TEXT_COMPLIST

and found several other variables that I thought might work but don't seem to have any effect that I can find:
MUI_COMPONENTSPAGE_TEXT
MUI_${MUI_PAGE_INSTALLER_PREFIX}TEXT_COMPONENTS_TITLE

Does anybody know what variables I need to define to change the text at the top? I'd appreciate any help.

Thanks,
Matthew Zimmer


the defines are all explained at the mui-readme.


!define MUI_PAGE_HEADER_SUBTEXT "Text to appear"
Put this before !insertmacro MUI_PAGE_COMPONENTS.

Comm@nder21, thanks for the suggestion. Unfortunately, I've read that page through while creating my script and while it had a lot of the information I need, the Components Page section only had the following defines:
MUI_COMPONENTSPAGE_CHECKBITMAP MUI_COMPONENTSPAGE_SMALLDESC
MUI_COMPONENTSPAGE_NODESC

I know for a fact (through searching web sites and muddling my way through the nsh file) that there are several other defines that work (see my original message). Now, I'm willing to admit that those other variables may be deprecated and I shouldn't be using them (I don't know if they are or not). However, they do work at this time. I'm wondering if there is a similar work-around for the header.

Thanks,
Matthew Zimmer


Originally posted by deguix
!define MUI_PAGE_HEADER_SUBTEXT "Text to appear"
Put this before !insertmacro MUI_PAGE_COMPONENTS.
Thank you! That was exactly what I needed. I had been looking for a components page specific variable instead of a general one. That changed my text exactly as needed.
Matthew

Anyone know how to change that same text, but in custom page.?

I have this...
------------------------
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_LICENSE "${NSISDIR}\license.txt"

Page custom SetCustom

!insertmacro MUI_PAGE_COMPONENTS
--------------------------

Now, if I insert !define MUI_PAGE_HEADER_SUBTEXT "Text to appear" like this;

------------------------
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_LICENSE "${NSISDIR}\license.txt"

!define MUI_PAGE_HEADER_SUBTEXT "Text to appear" like this
Page custom SetCustom

!insertmacro MUI_PAGE_COMPONENTS
--------------------------

It does not change my custom page header text and sub text but it changes the text of the next MUI page which is the components page? Thanks for any help.


You need to use MUI_HEADER_TEXT on the line just above MUI_INSTALLOPTIONS_DISPLAY for that custome page.

!insertmacro MUI_HEADER_TEXT "$(IO_TITLE)" "$(IO_SUBTITLE)"
!insertmacro MUI_INSTALLOPTIONS_DISPLAY "setcust.ini"


Thanks, that didn't work either but I finally figured it out. Custom pages need a Function Added. If you add that code above the actual page code, it will only affect a MUI_** page name.

This is what I had to do to make it work..
;------------pages------------------------------
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_LICENSE "${NSISDIR}\license.txt"

Page custom SetCustom

!insertmacro MUI_PAGE_COMPONENTS
;-------------------custom page functions-----------
Function SetCustom

!insertmacro MUI_HEADER_TEXT "Main BOLD text is in here" "This is where I did my subtext"

FunctionEnd
;----------------------------------------