Skip to content
⌘ NSIS Forum Archive

NSIS 3.0 beta 0

24 posts

Anders#

NSIS 3.0 beta 0

NSIS 3.0b0: POSIX builds are back with a bang along with Unicode and preprocessor fixes.

If you find any new issues, report them in this thread or on the SF bug tracker and please include compiler error messages and sample code if possible...


Fixed in trunk:
  • WM_COPYDATA notify messages are CP_ACP encoded unless the host responds to QH_OUTPUTCHARSET.
  • !macroundef and !searchparse bugs
  • MakeNSISW stdout log reader off by one bug
Collector9999#
I don't know how many people that are still using HM NIS Edit, but both the alpha and this beta builds hoses the run button. It throws "Win32 Error. Code: 2. The system cannot find the file specified." This is thrown by the editor itself. NSIS will build according to your script, but HM NIS Edit does not seem to be able get the OutFile directory from the script. It can using the same script with 2.46.

I realize that this is probably more of a matter that should be addressed from HM NIS Edit, but I don't know Pascal. I am puzzled by why it should work with 2.46 but not 3.0x. The editor must get the OutFile directory from NSIS rather than the script.

I like using HM NIS Edit as I am used to its syntax highlighting and I don't need that much of an elaborate editor, even if it is getting a bit long in the tooth, but not having the run button in HM NIS Edit is a bit of a deal breaker for me.
Anders#
The compiler message (WM_COPYDATA) with the path of the generated .exe is now Unicode which is why it breaks. We might be able to add a workaround for old IDE's, in the meantime you can try adding this to the HM Nis Edit .ini:
[Compiler]
UseNotifyWindow=0
(Or whatever the registry equivalent might be)

Edit: The next version will use the old char* string format unless the host responds to the MakensisAPI::QUERYHOST:QH_OUTPUTCHARSET message.
Yathosho#
I remember using HM NIS about a decade ago. It was an easy tool to create InstallOptions dialogs, that's probably the main reason why I used it. However, since the software has been discontinued 9 years ago, I'm wondering why anyone would still use it? There are far better tools to create NSIS scripts, and you'd usually get a suggestion to use nsDialogs over InstallOptions.

My personal setup is Sublime Text 3, with syntax highlighters for NSIS and language files installed. It offers auto-completion, snippets and a build system. I recommend giving it a try!

Anders#
I don't see the problem with using HM Nis Edit, there is a updated syntax file somewhere out there. I never used the wizard or dialog designer but the code editor is alright...
Collector9999#
Thanks Anders, that did it.

I also noticed that the Welcome page image does not show using MUI2. I looked at the MUI2 doc and it didn't show any change in syntax. Even the WelcomeFinish.nsi example from the beta installer with no modifications does not show. This happens even when compiled directly from NSIS. Is this a known issue?
Anders#
Originally Posted by Collector9999 View Post
I also noticed that the Welcome page image does not show using MUI2. I looked at the MUI2 doc and it didn't show any change in syntax. Even the WelcomeFinish.nsi example from the beta installer with no modifications does not show. This happens even when compiled directly from NSIS. Is this a known issue?
No, I have not seen this before. It works fine for me. Could you upload WelcomeFinish.exe somewhere? Are you getting any compiler warnings?
Collector9999#
Again, this is from the unaltered "WelcomeFinish.nsi" example script from the 3.0b0 download compiled directly without any third party GUI or IDE.



Clarification. This was an ANSI build. If I set it Unicode it will display the image.
Anders#
Originally Posted by Collector9999 View Post
Again, this is from the unaltered "WelcomeFinish.nsi" example script from the 3.0b0 download compiled directly without any third party GUI or IDE.



Clarification. This was an ANSI build. If I set it Unicode it will display the image.
Something is wrong with your NSIS installation, your x86-ansi system.dll is the plugin from 2.46! The call to System::Call 'user32::LoadImage(...)' will fail because 2.46 does not support the p type.
Collector9999#
Sorry for the mix up. I had copied over a few things from my 2.46 such as some macros and non-stock plugins and I must have accidentally copied over the system.dll. All is good now, thanks for the help.
TrifonovS#
Hi!
Sorry for my stupid question, but I didn't understand how to solve the problem with the error ""Win32 Error. Code: 2. The system cannot find the file specified." from HM NIS Edit... Which ini-file I have to change? I found some ini-files in the config-folder, but there is no section "[Compiler]". Should I create it somewhere?
Anders#
Originally Posted by TrifonovS View Post
Hi!
Sorry for my stupid question, but I didn't understand how to solve the problem with the error ""Win32 Error. Code: 2. The system cannot find the file specified." from HM NIS Edit... Which ini-file I have to change? I found some ini-files in the config-folder, but there is no section "[Compiler]". Should I create it somewhere?
View>Options: Save in nisedit.ini. Then add the new section in nisedit.ini. Or if you want to keep your settings in the registry it is probably just a string "UseNotifyWindow" = "0" under ...\HM Nis Edit\Compiler...
jpderuiter#
I see someting strange in MakeNSISW 2.3.2 (NSIS 3.0b0).

When I extract both ansi and unicode plugins from http://forums.winamp.com/showpost.ph...8&postcount=51 in their respective folders, and compile with "Unicode true", all is fine.
But when I run with "Unicode false", I get the following under "Processing default plugins":
...
+ UsrMgr::CreateAccount
+ UsrMgr::CreateAccountEx
+ UMgr::CreateGroup
+ UsrMgr:😁eleteAccount
+ UsrMgr:😁eleteGroup
...
UMgr::CreateGroup seems to be an error.
And when I change the plugin filename to UserMgr (original plugin name), I get the following:
...
+ UserMgr::ChangeUserPassword
+ UserMgr::CreateAccount
+ UserMgr::CreateAccountEx + UserMgr::CreateGroup
+ UserMgr:😁eleteAccount
+ UserMgr:😁eleteGroup
...
EDIT: The script is actually compiled OK.
jpderuiter#
Hi Jason,

I don't mean the UserMgr <-> UsrMgr mix-up, but glitches in the log from MakeNSISW.

JP
Anders#
Originally Posted by jpderuiter View Post
I don't mean the UserMgr <-> UsrMgr mix-up, but glitches in the log from MakeNSISW.
Thanks, there was a off by one error in the log reader.
mrjohn#
Hi,I've tried to build v3 with makensis.nsi and I got this:
1 warning:
File: "..\NSIS.exe.manifest" -> no files found. (C:\Program Files\NSIS\Examples\makensis.nsi:159)

thanks
Anders#
Originally Posted by mrjohn View Post
Hi,I've tried to build v3 with makensis.nsi and I got this:
1 warning:
File: "..\NSIS.exe.manifest" -> no files found. (C:\Program Files\NSIS\Examples\makensis.nsi:159)
http://sourceforge.net/p/nsis/code/5010/ so I guess if you are building with VS2005+ the generated NSIS.exe will require the manifest and if not you can ignore that warning...
mrjohn#
Sorry,not building nsis from sources,I've tried to compile makensis.nsi script V3 (I've added coupe .nsh and plugins files)
Originally Posted by Anders View Post
http://sourceforge.net/p/nsis/code/5010/ so I guess if you are building with VS2005+ the generated NSIS.exe will require the manifest and if not you can ignore that warning...
Anders#
Originally Posted by mrjohn View Post
Sorry,not building nsis from sources,I've tried to compile makensis.nsi script V3 (I've added coupe .nsh and plugins files)
NSIS.exe from the official release does not need that .manifest so you can ignore the warning or comment out the line...
mrjohn#
thanks
Originally Posted by Anders View Post
NSIS.exe from the official release does not need that .manifest so you can ignore the warning or comment out the line...
shadowpoa#
For who still on 2.46

with some help of you guys, what you guys can tell about migrating from 2.46?
Is it ready yet? what about the meaningful attention points?

I'm asking because cant find more detailed info about this update, what should I care when migrating, or any plugin not compatible that need an update...

Any info is extremely welcome 😁
Anders#
When migrating you should keep in mind that the plugin folder has changed and is now using subfolders. This should not matter since keeping 3rd-party plugins there is not recommended.

If you are going to compile ANSI installers you might as well stick with v2.46 because it has better MBCS handling for the language selection dialog. The only problem with v2.46 is that WinVer.nsh cannot detect Win8.1 because Windows lies to us. There is a workaround for this though.

If you are going to compile Unicode installers you should upgrade...