- NSIS Discussion
- new banner.dll bugs
Archive: new banner.dll bugs
DOCa Cola
25th May 2003 20:21 UTC
new banner.dll bugs
after i downloaded the newest cvs with the updated banner plugin the first thing i noticed after compiling that the setup startes behind the makensisw.exe compiler window (after pressing the "test installer" button).
the more problematical thing is that i am using the banner plugin in the .onUserAbort function and when i exit the installer it crashes. i took the old banner.dll into the plugins dir and it worked again with no problems
DOCa Cola
kichik
25th May 2003 20:28 UTC
Never unload UI plug-ins from .onUserAbort, use .onGUIEnd. I'll have a look at that installer coming behind things.
DOCa Cola
25th May 2003 20:33 UTC
Thx
i noticed that getting behind the compiler window with the banner example too.
ok, i will put these unload things in onguiend, thats more logical cause i have to call that unload-with-banner-function everytime i close it anyway
DOCa Cola
DOCa Cola
25th May 2003 20:41 UTC
yea, i put the function in .onguiend and that helped, thx. but the window does always run behind the compiler window and behind the 3rd party nsis editor (nisedit) i use too after i clicked the run button
DOCa Cola
25th May 2003 21:37 UTC
...and not only behind the compiler window, even behind the explorer window, maybe it has something to do with the enabled bzip2 compression and the appearing banner that shows a temp path to something that don't fit in this label instead of the extracting progress
http://www.borgcore.de/outerspace/nsis/bannerdll.png
kichik
25th May 2003 22:02 UTC
Are you sure that's the bzip2 window? I can't reproduce this... Can you please attach an example script?
DOCa Cola
25th May 2003 22:05 UTC
ok, i will do that, just takes some time due i first must upgrade my script to the new modern ui version...
DOCa Cola
25th May 2003 22:13 UTC
thats my fault, i have a banner call in oninst. now the install window cames up in front of the compiler. but with the old version that was working somehow but the banner example is affected by that change too (loaded behind window that is currently in front).
kichik
25th May 2003 22:20 UTC
onInst? Do you mean .onInit?
Which problem are you talking about? Does the weird cropped path has anything to do with .onInit?
DOCa Cola
25th May 2003 22:23 UTC
arg, nevermind, solved the problem, just mixed something up
thx for the help
dsvedchenko
29th May 2003 13:42 UTC
My MUI installer don't work with new banner.dll too.
It is very large so i reproduce bug in InstallOptions.nsi just add Banner invokation
I've submitted bug, but one day gone away and i haven't heard any reaction.
kichik
29th May 2003 13:43 UTC
That's because I have nothing to say yet. The new version is not ready yet.
dsvedchenko
29th May 2003 13:48 UTC
ok. sorry for trouble. but can you remove buggy version from CVS ?
kichik
29th May 2003 13:52 UTC
Well, I can bring the old version back, I guess the new one sucks more, heh :)
Done.
zimsms
16th June 2004 16:35 UTC
Hello folks,
I am experience a hanging issue when using the banner plugin. This occurs whether I destroy the banner each time, or only destroy it once.
I am running the banner plugin in a loop (called from .MyInit [override directly after .OnInit]) for a random number of times checking for running processes. Everything compiles fine and functions properly.....if I don't do the following.
Install the app, while the banner is up I switch tasks to Explorer or something. The banner will then hang and I have to end the install process.
Note: I am not 100% sure the banner is causing this. However if I remove the banner completely, and perform the same steps the installation continues properly in the background.
My call to the banner plugin:
Banner::show /NOUNLOAD /set 76 "$(DESC_CHECK_PROCESS)..." "$R0"
Anyone else experiencing this?
zimsms
16th June 2004 17:08 UTC
To reproduce try the following. I even tried to remove the flashing but the banner isn't treated as the same dialog when using nounload. It looks like for each banner:show call you need a new banner:destroy call. That kind of sucks. It would be nice if you could update the banner without having to do the matching calls over and over.
># Look at Readme.txt for usage alongside with the Modern UI
>Name "Banner.dll test"
>OutFile "Banner Test.exe"
>ShowInstDetails show
>Function .onInit
again:
Banner::show /NOUNLOAD "Calculating important stuff..."
IntOp $0 $0 + 1
Sleep 100
Banner
::destroy
StrCmp$0 20 0 again
FunctionEnd
Section
DetailPrint "Using previous calculations to quickly calculate 1*20..."
Sleep 1000
DetailPrint "Eureka! It's $0!!!"
DetailPrint ""
>SectionEnd
>
Joel
16th June 2004 22:44 UTC
It looks like for each banner:show call you need a new banner:destroy call.
Yes.
Because for each dialog appear, Windows send a new HWND. That's why you need to destroy the dialog when you don't need it.
Otherwise you'll sucking unnecesary resources from the user.
zimsms
17th June 2004 12:52 UTC
Well that sucks. I wanted to get rid of the flashing by using the same window. It's too bad banner::Show didn't return a handle so you could set the text multiple times in a loop and when finished destroy it once. That would be a fantastic feature upgrade. BTW, if you fail to call banner::destroy before you leave the function or section banner::show was called in your installer will gpf at runtime. It would be nice if that was trapped at compile time,; though, it is a plugin and not a base item in the ui.
I posted the feature request as #974688.
I reported the bug as #974691.
Yurik
8th June 2007 10:55 UTC
banner + ExecWait hang up
I have the following in my installer:
Banner::show /NOUNLOAD /set 76 "Installing and running service" ""
ExecWait 'net stop MyService'
ExecWait '"$INSTDIR\${ServiceExeName}" /uninstall'
ExecWait '"$INSTDIR\${ServiceExeName}" /install'
ExecWait 'net start MyService'
Service (which is my own service, ServiceExeName) is a console application able to run as a service (/uninstall and /install show console with some messages regarding to installation process). Service is installed and started OK, but the installer hangs up with banner as well. It does not respond and even does not repaint itself.
Commenting banner::show works. What should I do to keep banner and not have my installer hung up?
Afrow UK
8th June 2007 12:36 UTC
It seems like you're not the only one with this problem.
http://forums.winamp.com/showthread....ghlight=banner
Stu