AdvSplash.exe - small (6.0k), simple plugin that lets you throw 
up a splash screen in NSIS installers with cool fading effects (win2k/xp)
and transparency (24bit/8bit bitmaps).

To use:

Create a .BMP file of your splash screen.
(optional) Create a .WAV file to play while your splash screen shows.

Add the following lines to your .NSI file:

Function .onInit
  SetOutPath $TEMP
  File /oname=spltmp.bmp "my_splash.bmp"

; optional
; File /oname=spltmp.wav "my_splashshit.wav"

  advsplash::show 1000 600 400 -1 $TEMP\spltmp

  Pop $0 ; $0 has '1' if the user closed the splash screen early,
         ; '0' if everything closed normal, and '-1' if some error occured.

  Delete $TEMP\spltmp.bmp
;  Delete $TEMP\spltmp.wav
FunctionEnd

Calling format
        advsplash::show Delay FadeIn FadeOut KeyColor FileName

Delay - length to show the screen for (in milliseconds)
FadeIn - length to show the fadein scene (in ms) (not included in Delay)
FadeOut - length to show the fadeout scene (in ms) (not included in Delay)
KeyColor - color used for transparency. For 24 bit bitmaps could be any RGB
        value (for ex. R=255 G=100 B=16 -> KeyColor=0xFF6410), for 8 bit bitmaps
        could be either RGB value or index of the color at bitmap palette
        (if such RGB color present in your image and you'd like to use palette
        index, use (0x1000000+index) as KeyColor [you should calculate
        this value by yourself]). Use KeyColor=-1 if there is now transparent
        color at your image.
FileName - splash bitmap filename (without the .bmp). The BMP file used will be 
        this parameter.bmp, and the wave file used (if present) will be this 
        parameter.wav.

(If you already have an .onInit function, put that in it)

Note 1: fadein/fadeout supported only on win2k/winxp systems, all other systems
will show simple splash screen with Delay = Delay + FadeIn + FadeOut.

Note 2: transparency supported only for 24bit and 8bit bitmaps.

Note 3: the return value of splash is 1 if the user closed the splash 
screen early (pop it from the stack)

-Justin
Converted to a plugin DLL by Amir Szekely (kichik)
Fading and transparency by Nik Medved (brainsucker)