Skip to content
⌘ NSIS Forum Archive

NSIS 2 - Beta 0 is out!

202 posts

kichik#
Yes, it supports all of the static controls in NSIS (icons and bitmaps are static controls too).
dselkirk#
I tried it on the license dialog and nothing.

Function .onStaticCtlBkColor
    Push $1
    GetDlgItem $1 $HWNDPARENT 1006
    StrCmp $1 $0 0 +3
      StrCpy $0 0x00FFFFFF
      Goto done
    StrCpy $0 -1
    done: Pop $1
FunctionEnd 
Any suggestions
kichik#
1006 is not under $HWNDPARENT...
use
FindWindow $1 "#32770" "" $HWNDPARENT 
to get the handle of the inner window first.
R@m00n#
Thanks for the abilitiy to set the language on .OnInit. 👍
But which command is used?
I looked at the source but I dind't find it. 😢

Can you post an example?

Thanks
kichik#
Sure.

Function .onInit
  ; prompt the user for a language somehow
  ; you can't use InstallOptions because the dialog wasn't created yet
  Pop $0 ; pop result into $0
  StrCmp $0 "" default ; did the user choose?
    StrCpy $LANGUAGE $0
    Goto done
  ; else use default language
  default:
    StrCpy $LANGUAGE 1033
  done:
FunctionEnd 
R@m00n#
Thanks for the example, but it doesn't work.
I get always on of these errors:

Invalid command: Pop $0
Invalid command:  StrCmp $0 "" default
Invalid command:    StrCpy $LANGUAGE $0
Invalid command: Goto done

StrCpy $LANGUAGE 1033
works, but there's no way to put an other var there.
kichik#
Hmm... That's weird. Try rewriting these lines of code. For some reason makensis thinks "Pop $0" is the command name instead of Pop. I asure you you can treat $LANGUAGE as any other variable and copy anything into it.
kichik#
Bug alert (pre alpha 7 only): don't use silent install or uninstall! It may crash the installer. I will fix this ASAP.
R@m00n#
Hi kichik,

I looked again at the code and I chose another solution:

I made a seperate .EXE in which you can select the language.
Now it uses the LANGID as a param and NSIS sets the language to this code.

It stores the Language in the registry and uses it in Uninstaller, too.

I attached the EXE and the NSI file so that you can look at it.

Will it be possible to have a dialoh like this without using an external EXE?
kichik#
No, it will not be possible. You would have to use a DLL/EXE. I will include a more generic DLL with the release of alpha 7.
kichik#
CopyFiles bug solved (link to newest libs)
Replaced .onStaticBkColor with .onInitDialog
Added SetStaticBkColor
Threads problems solved
CopyFiles script message no longer always prints (silent)
Summary now counts the required sections right
(old) ChangeUI can now change IDD_VERIFY

All in the CVS

You can now safely ignore the warning above 🙂
kichik#
Ladies and gentlemen,

We have all been waiting for this great moment, and it has finally come. Please allow me to present, right out of the oven, steaming hot (it has been there a long time), NSIS 2 alpha 7! It is so new and so hot that this page can't even contain all the new features (this one can 😁). Feast your eyes (no drooling allowed!) on the modern NSIS! So powerful, so beautiful, and yet so small!

Get your copy today! Only 99.95$ (before vat). Yes you heard me, this great product with all of those great features just for 99.95$. Buy your copy today!

Or, you can just download it from here for free 😁

Note: please look at the examples (examples\languages.nsi and exmaples\modern ui) before you ask "how do I use that?".

I would like to thank Joost and Rainwater for writing the new UI, and for their help in making this version.
Sunjammer#
An impressive list of fixes/changes/additions/new contributions. Well done everyone involved 👍
kichik#
A small update:
Fixed a bug with CallInstDLL and no /NOUNLOAD.
Updated InstallOptions test.nsi to get the new IO dll (in the plugins dir).
Yathosho#
- Added yi-pixel.ico and yi-pixel-uninstall.ico by killahbite

aka Jan T. Sott 😁

would prefer this!
MoNKi#
Is there a posibility to change the language of "Unpacking data: x%" and "Please wait while setup is loading..." with one that match the current system (if i have included it in the script) or english instead? I think this translations must be included in *.nfl files.
kichik#
Nope. These dialogs appear before the installer data is ready (where all the strings are), so there is no way to change it other then changing the source. You can however easily change "Please wait while setup is loading..." by editing the UI with Resource Hacker, but it will be the same for all languages.
Joost Verburg#
Updated version of alpha 7 is available

This version is available as a release @ SF.NET and on CVS and contains a small change to my Modern UI.

The Finish header for the uninstaller can also be set using the MUI_FINISHHEADER macro.

Update your scripts, because MUI_FINISHHEADER requires an additional parameter.
MoNKi#
Ok. Yes i can change it whit a resource editor but this isn't what i want 😢 Maybe having two separate data blocks, one with this translations only (very very small), that can be unpacked fast before display this dialog and a second 'normal'.
kichik#
I have finally succeeded in contacting Justin! He put a link at the official NSIS homepage to the SourceForge page and he will be going over it in order to release NSIS 2 final!!! 😁