Old 12th May 2014, 00:02   #1
Anders
Moderator
 
Anders's Avatar
 
Join Date: Jun 2002
Location: ${NSISDIR}
Posts: 5,116
Lightbulb 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

IntOp $PostCount $PostCount + 1
Anders is offline   Reply With Quote
Old 10th June 2014, 23:59   #2
Collector9999
Junior Member
 
Join Date: Mar 2009
Posts: 41
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.
Collector9999 is offline   Reply With Quote
Old 11th June 2014, 19:42   #3
Anders
Moderator
 
Anders's Avatar
 
Join Date: Jun 2002
Location: ${NSISDIR}
Posts: 5,116
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:
Quote:
[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.

IntOp $PostCount $PostCount + 1
Anders is offline   Reply With Quote
Old 12th June 2014, 13:44   #4
Yathosho
Forum King
 
Yathosho's Avatar
 
Join Date: Jan 2002
Location: AT-DE
Posts: 3,363
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!

https://sublime.wbond.net/browse/labels/nsis
Yathosho is offline   Reply With Quote
Old 12th June 2014, 13:54   #5
Anders
Moderator
 
Anders's Avatar
 
Join Date: Jun 2002
Location: ${NSISDIR}
Posts: 5,116
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...

IntOp $PostCount $PostCount + 1
Anders is offline   Reply With Quote
Old 13th June 2014, 05:54   #6
Collector9999
Junior Member
 
Join Date: Mar 2009
Posts: 41
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?
Collector9999 is offline   Reply With Quote
Old 13th June 2014, 12:24   #7
Anders
Moderator
 
Anders's Avatar
 
Join Date: Jun 2002
Location: ${NSISDIR}
Posts: 5,116
Quote:
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?

IntOp $PostCount $PostCount + 1
Anders is offline   Reply With Quote
Old 13th June 2014, 18:55   #8
Collector9999
Junior Member
 
Join Date: Mar 2009
Posts: 41
Again, this is from the unaltered "WelcomeFinish.nsi" example script from the 3.0b0 download compiled directly without any third party GUI or IDE.

http://sierrahelp.com/download.php?f...comeFinish.exe

Clarification. This was an ANSI build. If I set it Unicode it will display the image.
Collector9999 is offline   Reply With Quote
Old 13th June 2014, 19:41   #9
Anders
Moderator
 
Anders's Avatar
 
Join Date: Jun 2002
Location: ${NSISDIR}
Posts: 5,116
Quote:
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.

http://sierrahelp.com/download.php?f...comeFinish.exe

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.

IntOp $PostCount $PostCount + 1
Anders is offline   Reply With Quote
Old 14th June 2014, 01:40   #10
Collector9999
Junior Member
 
Join Date: Mar 2009
Posts: 41
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.
Collector9999 is offline   Reply With Quote
Old 16th June 2014, 12:01   #11
TrifonovS
Senior Member
 
Join Date: Apr 2009
Location: Bulgaria
Posts: 190
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?
TrifonovS is offline   Reply With Quote
Old 16th June 2014, 17:24   #12
Anders
Moderator
 
Anders's Avatar
 
Join Date: Jun 2002
Location: ${NSISDIR}
Posts: 5,116
Quote:
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...

IntOp $PostCount $PostCount + 1
Anders is offline   Reply With Quote
Old 17th June 2014, 05:58   #13
TrifonovS
Senior Member
 
Join Date: Apr 2009
Location: Bulgaria
Posts: 190
Thank you Anders!
I made it and it all works fine now. I used the ini-file.
TrifonovS is offline   Reply With Quote
Old 15th July 2014, 23:33   #14
jpderuiter
Major Dude
 
Join Date: Feb 2007
Posts: 672
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":
Quote:
...
+ UsrMgr::CreateAccount
+ UsrMgr::CreateAccountEx
+ UMgr::CreateGroup
+ UsrMgr::DeleteAccount
+ UsrMgr::DeleteGroup
...
UMgr::CreateGroup seems to be an error.
And when I change the plugin filename to UserMgr (original plugin name), I get the following:
Quote:
...
+ UserMgr::ChangeUserPassword
+ UserMgr::CreateAccount
+ UserMgr::CreateAccountEx + UserMgr::CreateGroup
+ UserMgr::DeleteAccount
+ UserMgr::DeleteGroup
...
EDIT: The script is actually compiled OK.
jpderuiter is offline   Reply With Quote
Old 16th July 2014, 00:11   #15
JasonFriday13
Major Dude
 
JasonFriday13's Avatar
 
Join Date: May 2005
Location: New Zealand
Posts: 878
Check my post on the other thread (my fault).

"Only a MouseHelmet will save you from a MouseTrap" -Jason Ross (Me)
NSIS 3 POSIX Ninja
Wiki Profile
JasonFriday13 is offline   Reply With Quote
Old 16th July 2014, 06:44   #16
jpderuiter
Major Dude
 
Join Date: Feb 2007
Posts: 672
Hi Jason,

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

JP
jpderuiter is offline   Reply With Quote
Old 16th July 2014, 20:28   #17
Anders
Moderator
 
Anders's Avatar
 
Join Date: Jun 2002
Location: ${NSISDIR}
Posts: 5,116
Quote:
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.

IntOp $PostCount $PostCount + 1
Anders is offline   Reply With Quote
Old 19th July 2014, 09:41   #18
mrjohn
Member
 
Join Date: Feb 2009
Posts: 66
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
mrjohn is offline   Reply With Quote
Old 19th July 2014, 14:30   #19
Anders
Moderator
 
Anders's Avatar
 
Join Date: Jun 2002
Location: ${NSISDIR}
Posts: 5,116
Quote:
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...

IntOp $PostCount $PostCount + 1
Anders is offline   Reply With Quote
Old 19th July 2014, 18:26   #20
mrjohn
Member
 
Join Date: Feb 2009
Posts: 66
Sorry,not building nsis from sources,I've tried to compile makensis.nsi script V3 (I've added coupe .nsh and plugins files)
Quote:
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...
mrjohn is offline   Reply With Quote
Old 19th July 2014, 19:12   #21
Anders
Moderator
 
Anders's Avatar
 
Join Date: Jun 2002
Location: ${NSISDIR}
Posts: 5,116
Quote:
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...

IntOp $PostCount $PostCount + 1
Anders is offline   Reply With Quote
Old 19th July 2014, 21:36   #22
mrjohn
Member
 
Join Date: Feb 2009
Posts: 66
thanks
Quote:
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...
mrjohn is offline   Reply With Quote
Old 24th July 2014, 19:55   #23
shadowpoa
Member
 
Join Date: Jun 2011
Posts: 52
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
shadowpoa is offline   Reply With Quote
Old 24th July 2014, 21:44   #24
Anders
Moderator
 
Anders's Avatar
 
Join Date: Jun 2002
Location: ${NSISDIR}
Posts: 5,116
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...

IntOp $PostCount $PostCount + 1
Anders is offline   Reply With Quote
Reply
Go Back   Winamp & Shoutcast Forums > Developer Center > NSIS Discussion

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump