Winamp & Shoutcast Forums NSIS 3.0b1

4th February 2015, 16:49   #41
Pawel
Moderator

Join Date: Aug 2004
Location: Poland
Posts: 522
Quote:
 Originally Posted by Anders If anyone has Delphi installed and are able to try that would really help.
I compiled it successfully in Delphi XE7. Here are sources I used.
http://www.meggamusic.co.uk/shup/142...3/NSIS_TEST.7z

Example NSIS script compiled without problems. Works OK. No crash. So, you did it well.

Ps: I changed 1 line, as compiler displayed warning:
http://www.meggamusic.co.uk/shup/1423068306/Warning.png
Changing it to nil gives compilation without warnings.
http://www.meggamusic.co.uk/shup/1423068340/OK.png
-Pawel

6th February 2015, 21:05   #42
Anders
Moderator

Join Date: Jun 2002
Location: ${NSISDIR} Posts: 5,194 Quote:  Originally Posted by Pawel Ps: I changed 1 line, as compiler displayed warning: http://www.meggamusic.co.uk/shup/1423068306/Warning.png Changing it to nil gives compilation without warnings. http://www.meggamusic.co.uk/shup/1423068340/OK.png The plugin callback function is really supposed to return a UINT_PTR but I don't know which type that maps to in Delphi or how far back it is supported. I assume you can use some type of ifdef to map to the equivalent of UINT_PTR and UINT depending on the compiler version but it is less maintenance to just pretend it's a pointer and return nil. The return value is currently not used IIRC but needs to be NULL/0 to be forward compatible... IntOp$PostCount $PostCount + 1  13th May 2015, 07:08 #43 TrifonovS Senior Member Join Date: Apr 2009 Location: Bulgaria Posts: 191 Hi! I think that I found a small (visual problem). If German language is selected, one of the texts in the Component selection dialog by uninstallation is partially hidden (see the attached screenshot). What is the easiest way to solve my problem now? Attached Thumbnails 14th May 2015, 20:13 #44 Anders Moderator Join Date: Jun 2002 Location:${NSISDIR}
Posts: 5,194
Quote:
 Originally Posted by TrifonovS Hi! I think that I found a small (visual problem). If German language is selected, one of the texts in the Component selection dialog by uninstallation is partially hidden (see the attached screenshot). What is the easiest way to solve my problem now?
I'm guessing this is not a NSIS3 beta issue? I made the label taller now, thanks. You can fix your current NSIS install by editing the UIs with resource hacker. Make the label 25 DLU's high...

IntOp $PostCount$PostCount + 1

 15th May 2015, 08:02 #45 TrifonovS Senior Member   Join Date: Apr 2009 Location: Bulgaria Posts: 191 Thank you Anders. Actually I fixed the problem by the define MUI_COMPONENTSPAGE_TEXT_TOP. I defined a new (shorter text) for German and I copied the same text for English.
 13th June 2015, 12:55 #46 Lenge Member   Join Date: Oct 2007 Posts: 64 Hello world, I'd be interested in the current project state. Is there a place (blog or something) about it? Are there any (preliminary) dates or a roadmap for a non-beta NSIS 3.x release? Or is development currently stalled for some reason?
 14th June 2015, 01:22 #47 JasonFriday13 Major Dude     Join Date: May 2005 Location: New Zealand Posts: 884 It's not stalled, there just hasn't been much activity lately. The last commit on the trunk was a couple of weeks ago. After my exams I'll be doing some more work on a zip2exe port for linux that I started last year. "Only a MouseHelmet will save you from a MouseTrap" -Jason Ross (Me) NSIS 3 POSIX Ninja Wiki Profile
 15th June 2015, 22:52 #48 dlaipele Junior Member   Join Date: Jun 2015 Posts: 1 Is NSIS 3.0b1 stable for production usage? There are version 2.46 ( last updated in 2009 ) , and the newer 3.0b1 . It seems the newer one is in beta and I worry about stability issues. I wonder if any of you have experience with both versions and willing to comment on them . BTW, is NSIS still under active maintenance ? Last edited by Anders; 16th June 2015 at 03:43. Reason: SO cross post
 16th June 2015, 03:42 #49 Anders Moderator     Join Date: Jun 2002 Location: ${NSISDIR} Posts: 5,194 You could easily check the source code repository yourself to see when the last change was made... IntOp$PostCount $PostCount + 1  7th July 2015, 10:30 #50 noisehole Junior Member Join Date: Sep 2005 Posts: 22 Hi there, I ran into two minor issues with beta1: On a 4k display, "ManifestDPIAware" doesn't work for the "verifying installer" dialog (fonts are scaled), while the langdll and the main installer GUI is fine. This loop to remove empty folders doesn't work anymore (with$sm_folder set to e.g. "foo\bar\test\123": code: StrCpy $R0 "$SMPROGRAMS\$sm_folder" RMDir /r "$R0" ClearErrors ${Do} GetFullPathName$R0 "$R0\.."${If} $R0 ==$SMPROGRAMS ${ExitDo}${EndIf} RMDir $R0${LoopUntil} ${Errors}  The outer "RMDir /r" works, but the first inner doesn't and fails to remove the empty directory "foo\bar\test". It doesn't work in either, ansi nor unicode build/path, but used to work with v2. Thanks! 7th July 2015, 19:18 #51 Anders Moderator Join Date: Jun 2002 Location:${NSISDIR}
Posts: 5,194
Quote:
 Originally Posted by noisehole On a 4k display, "ManifestDPIAware" doesn't work for the "verifying installer" dialog (fonts are scaled), while the langdll and the main installer GUI is fine.
The verify dialog is created with CreateDialog and InitCommonControls has already been called so I don't understand why anything should be different with this dialog. The ManifestDPIAware attribute only changes the manifest, the exehead code is the same.

Quote:
 Originally Posted by noisehole This loop to remove empty folders doesn't work anymore (with $sm_folder set to e.g. "foo\bar\test\123": Works for me: Quote:  !include LogicLib.nsh Var sm_folder Section StrCpy$sm_folder "foo\bar\test\123" StrCpy $R0 "$temp\$sm_folder" CreateDirectory "$R0" !if 0 ; Your version, works fine for me RMDir /* /r */ "$R0" ClearErrors${Do} GetFullPathName $R0 "$R0\.." ${If}$R0 == $temp${ExitDo} ${EndIf} RMDir$R0 ${LoopUntil}${Errors} !else ; My version, also works... RMDir /* /r */ "$R0"${Do} StrCpy $R0 "$R0\.." ClearErrors RMDir $R0${LoopUntil} ${Errors} !endif SectionEnd IntOp$PostCount \$PostCount + 1

8th July 2015, 13:09   #52
noisehole
Junior Member

Join Date: Sep 2005
Posts: 22
Quote:
 Originally Posted by Anders The verify dialog is created with CreateDialog and InitCommonControls has already been called so I don't understand why anything should be different with this dialog. The ManifestDPIAware attribute only changes the manifest, the exehead code is the same.
Hmm, I also tested a nightly build and I'm seeing this issue.

Quote:
 Originally Posted by Anders Works for me:
Huh, today it works for ansi paths but doesn't with a unicode path containing chinese chars. Maybe it's another process having open handles and blocking the removal, like antivirus crap, I'll do some further testing.

Thanks!

 Winamp & Shoutcast Forums NSIS 3.0b1