Archive: new banner.dll bugs


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


Never unload UI plug-ins from .onUserAbort, use .onGUIEnd. I'll have a look at that installer coming behind things.


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


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


...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


Are you sure that's the bzip2 window? I can't reproduce this... Can you please attach an example script?


ok, i will do that, just takes some time due i first must upgrade my script to the new modern ui version...


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).


onInst? Do you mean .onInit?

Which problem are you talking about? Does the weird cropped path has anything to do with .onInit?


arg, nevermind, solved the problem, just mixed something up
thx for the help


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.


That's because I have nothing to say yet. The new version is not ready yet.


ok. sorry for trouble. but can you remove buggy version from CVS ?


Well, I can bring the old version back, I guess the new one sucks more, heh :)

Done.


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?


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
>

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.

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.


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?


It seems like you're not the only one with this problem.
http://forums.winamp.com/showthread....ghlight=banner

Stu