Archive: Banner doesn't show


Banner doesn't show
The banner plugin doesn't show in the latest CVS


Thanks, fixed.


Was there changes made to the banner plugin, if so was it to remove the task bar item?

-Stu


No.


eek! Banner doesn't show the text


Works fine for me.


Lobo is right. There is problem with it (for me it occurs whenever some window exists under banner dialog at the moment of startup). Moreover: after some time it stops responding to windows messages (seems so), so no repaint occur.

Also a small tip: the user may want sometimes to set separate window name and ICD_STR text, so may be you should check it is not already set.


On Win98SE the banner appears but has no text on it (I tried the 'Example.nsi' script in the Contrib\Banner folder).

[edit]The "Calculating.." text which is supposed to appear in the banner appears in the taskbar.[/edit]

I am using the 7 September (13:44 GMT) CVS snapshot which has Banner.DLL v1.5.


It never responded to Windows messages in .onInit. I have fixed that along some other thing in some version, but that resulted in:

http://forums.winamp.com/showthread....ghlight=banner

so I reverted back. Ramon was supposed to write a new version of Banner that would solve all known issues but got the same results as I did. We were both busy with other things so we left it aside for now.

Anyway, Banner shows for me every time and besides adding a ShowWindow command on WM_INITDIALOG nothing has changed about Banner. I will need an example.


Oh, of course... If it doesn't accept messages... Bah... Brainsucker, got time to rewrite it? :)


thanks... I thought that It was only me. Testing in WinMe appears the banner but no text.
In WinXP is fine. It appers correcly, as older versions...
Is it fixed now?


No.


I hate GUI. I hate windows GUI twice as much.

p.s. There are some changes on using at .onInit and some additional functionality. see banner.txt for my comments


You could of course use banner::destroy without /nounload at .oninit, but NSIS window will appear somewhere at background.


My old banner two text in two different lines....
with the update....just the banner no text.
Downloaded the Banner1 from here ...same problem..no text.


The new DLL in "banner1.zip" works OK on my Win98SE system. The 'Contrib\Banner\Example.nsi' script now works and in my MUI-based installer the banner now appears with two lines of text.


emiste7 could you post your script and you OS version here?


I just dowloaded the new version of the NSIS b4 and I used the banner in the Examples.
And I dowloaded your banner1.....doesnt work I cant see the text
OS XP pro
And this it was the old one
Function .onInit
Banner::show /NOUNLOAD /set 76 "Welcome from the team" "Vers. 2.1"
;&& This is much easier on the poor ol' CPU!
Sleep 1800
Banner::destroy


I know it's a stupid question, but have you copied banner.dll to your plugins dir? ;)

Ok. it shows the banner window but no text in it? strange. Could you please increase sleep value and drag some window over the banner. During this operation banner window saves it's contents (or its saves the contents of dragged window)?


Yes I did......
I changed the time ......nothing.
I updated the NSIS nothing ,I uninstalled all .....because it wasnt showing in the Finish page the link and run checkbox.
I downloaded a new NSIS.....now I can see the text, both lines, but..probably is my immagination, I dont see the icon in the banner.
Is the usually an icon in the banner????
and The link and the run check box still missing.
I dont know......


I also noticed something strange using the banner-plugin. When I start my installer from a command-prompt (cmd.exe) in Windows XP the the banner is displayed too small. But when starting it using "start.exe" everything is just fine.

I guess the difference is, when it is started from cmd.exe the NSIS process is created using CreateProcess(). When started using "start.exe" it is started using ShellExecute(). But can anyone explain why the banner displays incorrectly?

BTW: I'm still using NSIS v2.0b3

Greetings,

Leon


> Is the usually an icon in the banner????
yes, there is usually icon at the MUI banners. his could be connected with troubles with MUI, since banner is using IDD_VERIFY dialog. also, /set 76 will work only at MUI installations, there is no such dialog item at usual nsis (just a tip, I didn't got which banner example you have used. If that is one from contrib\banner it will show only "ver2.1").

Leon: which banner you have tested? old (from cvs) or banner1?


Originally posted by brainsucker
Leon: which banner you have tested? old (from cvs) or banner1?
The banner.dll itself doesn't have version info attached, so I can't tell you which version it is.

I've downloaded the file "NSIS 2.0 Beta 3a - Released March 15, 2003" from the NSIS website. I use the banner.dll that's included in that version.

Try the banner.dll that brainsucker attached here, that's banner1 (see the zip name). As for CVS, see http://nsis.sf.net/ for more information on development versions.

emiste7, as I've said here, make sure you are using the latest CVS version and not that from 24 hours ago. See the sticky about CVS issues for more information about 24 hours lag. You should use the snapshot until SourceForge fix their CVS issues.


Brainsucker, your Banner version (and my old new one too) pops strings from the stack on another thread. It can cause trouble because the user might use the stack on .onInit after calling Banner.


My ;) banner version waits till the other thread will pop arguments from stack ;) see the while (!hwBanner) Sleep(1); cycle. I was to lasy to pop them before analysis, so this is the easiest way (I think).


Ah, right... Probably is easier than poping them on the main thread...


Here is anoter version based on some of both worlds. This one works just as the old one (no need to use /NOUNLOAD for destroy and destroy again in a section). For now it's just a proof of concept, it just shows how it works. It is not for public usage as it contains debug messages (nothing you'll see unless you really want to) and it probably needs more testing. But it does resolve the problem with the installer poping on the background.

Please try it (but don't use it in your production installers for) and tell me if you find any problems.


hm. Sorry, kichik, but it doesn't work for me. the window is still at background. And Install options fail again here.


Originally posted by kichik
Try the banner.dll that brainsucker attached here, that's banner1 (see the zip name). As for CVS, see http://nsis.sf.net/ for more information on development versions.
Using banner1 it works. Thanx...

Oops, last minute addition killed it. Here's one that does show it on top. What do you mean by "Install options fail again here"?

The Banner.dll attached crashes if destroy is called a very short period of time after show, so don't use it except for checking that the dialog shows on the foreground.


Kichik, I tried using your revised banner.dll on my Win98SE system, using the 9 September (19:44 GMT) CVS snapshot. The Contrib\Banner\Example.nsi script worked OK but when I tried my MUI-based script, the installer crashed.

In my installer I have a custom page 'leave' function which displays a banner for 5 seconds. No banner appeared then after about 5 seconds I got the following error message:

THE-PROGRAM caused an invalid page fault in
module <unknown> at 0000:00cc102c.
Registers:
EAX=00000000 CS=0187 EIP=00cc102c EFLGS=00010202
EBX=00ddfa90 SS=018f ESP=00ddfa40 EBP=00ddfa5c
ECX=00000000 DS=018f ESI=00008ab4 FS=1b07
EDX=00008ad0 ES=018f EDI=00ddfa44 GS=57ff
Bytes at CS:EIP:

Stack dump:
bff7363b 00000724 00000046 00000000 00ddfad0 8a8e57ff 0000018f 00ddfa70
bff94407 57ff8ab4 000057ff 00000000 bff719b8 00008aae 00ddfd30 bff7186d

I'm not sure if 5 seconds counts as "a very short period of time" so the crash may not be a problem. However the banner did not appear (expected to see an icon and two lines of text)


It always worked when the NSIS window already existed, that doesn't matter. I need to know if it works on .onInit. Should have been more clear on that, sorry.


OK, here's one that's not supposed to crash anywhere. It turned up well on all of my tests, .onInit and not .onInit. Please let me know if it crashes or doesn't behave as expected anywhere.

It also has some of Brainsucker's additions, namely the ability to hide the taskbar icon (set main text to "") and the ability to set a different text for the window and IDC_STR (/set 1030 "test" "another text"). I have not added the ability to disable the window because that's already possible with the built-in EnableWindow NSIS script instruction.

It's still full of debug information, so I don't recommend you use it in public installers (unless it's beta too, heh).


Kichik, sorry I missed the part about .onInit. After downloading the latest version of your DLL, I modified .onInit to display a banner for 5 seconds (the same banner as my custom page's 'leave' function).

The .onInit banner appeared (with the icon and two lines of text) when I started the installer. But when I reached the part where the custom page 'leave' function displays a banner, no banner appeared. This time no error appeared and after 60 seconds I tried Ctrl-Alt-Del and found that my installer was listed as "(Not responding)".

Brainsucker's DLL from banner1.zip works perfectly in my installer (in .onInit and in the custom page's 'leave' function).

I'm using Win98SE and the 9 September (19:44 GMT) CVS snapshot and an MUI-based installer script.


Thanks, fixed.


Kichik, your latest banner.dll now works OK in .onInit and in my custom page 'leave' function.


OK, uploaded new Banner. Thanks for helping us test.