Archive: big install.exe - slow process


big install.exe - slow process
Hi all,

I have a problem. My install.exe is 560MB. It's very slow, when I run it, about 1 min till the splash screen appear. Until that, there's no feedback to the user. It's very annoying. Is there any solution?

TIA

PS: sorry for mí poor english...


NSIS Help, 4.9.1.7 ReserveFile
Use forum Search for ReserveFile free samples :) http://forums.winamp.com/search.php


Originally posted by Takhir
NSIS Help, 4.9.1.7 ReserveFile
Use forum Search for ReserveFile free samples :) http://forums.winamp.com/search.php
Thannks, but there's lot of topic, and I have no time, sorry for this... What is the right metod?

ReserveFile /r "install\*" ?

And where? In the init, or...

Sorry again for the lame question...

Thread you need http://forums.winamp.com/showthread....rveFile+splash

Add ReserveFile instruction on the top of script (not in function or section). Reserve splash image, AdvSplash.dll and sound file (if any) - only files you want to extract first (not *).


ReserveFile use for file or plugins use in .onInit Function, not all files.


Thanks for the answers, but it doesn't work.

I put this in the very beginning of the script:

ReserveFile "${NSISDIR}\Plugins\advsplash.dll"
ReserveFile "install\pix\setup.bmp"

If I start the install.exe, there's no splash screen, and after the one minute "silent" initialization (decompression?), there's no splash screen anymore... gone.

Still, it's a _very_ slow process, if I make a banner (for example, "please wait..."), it will be good, I think, but...

With the IS or MSI, it's a fast process. The install.exe is 1-2 Mb, the data is in cabinet files. With NSIS, it's only one file, the istall.exe, it's 560 MB (the uncompressed size is 1,1 GB). And it is a very, very slow process... :(


Mate, try putting absolute pathnames for the ReserveFiles. You specify the path they are on your system, not the target install path, obviously.


I guess something is wrong in your script if image not appears at all. This was tested and used many times.

ReserveFile "${NSISDIR}\Plugins\advsplash.dll"
ReserveFile "nsis.bmp"


Try using SetOutPath $PLUGINSDIR before using ReserveFile.
Then with the splash dll call, $PLUGINSDIR\splash

-Stu


I've try this:

ReserveFile "${NSISDIR}\Plugins\Banner.dll"

Function .onInit
Banner::show /NOUNLOAD "Please wait..."
Banner::destroy
FunctionEnd

Not working...


Name "AdvSplash test"
OutFile "AdvSplash Test.exe"

ReserveFile "${NSISDIR}\Plugins\advsplash.dll"
ReserveFile "nsis.bmp"

Function .onInit
InitPluginsDir
SetOutPath $PLUGINSDIR
File "nsis.bmp"
advsplash::show 1000 600 400 -1 "$PLUGINSDIR\nsis"
Pop $0 ; $0 has '1' if the user closed the splash screen early,
Delete "$PLUGINSDIR\nsis.bmp"
FunctionEnd

Section
SectionEnd


Thanks, but let's forget this splash... The advsplash is working, but just afterthe 1 minute process. Until that, the user don't know, what's goin' on, and will start again and again the install.exe. That's my problem. Click install.exe -> wait one minute -> advsplash, install start. I will try the banner.dll with the reservefile, maybe it's working anyhow. But still, the process is slow. This one minute silent something is annoying...


Are you using BGGradient by any chance?

-Stu


Originally posted by Afrow UK
Are you using BGGradient by any chance?

-Stu
No. I don't now, what's BGGradient, but yes, I read that post. I'm through all the post from the last 45 days in the forum now...

You should change this:
Function .onInit
Banner::show /NOUNLOAD "Please wait..."
Banner::destroy
FunctionEnd

Stick Banner::destroy in the Pre function for your Welcome page.

-Stu


thanks, but my core problem is still exist:

start the install exe -> one minute hourglass -> starting the .onInit, with the banner, advsplash, bgimage and all the initialization stuff, with the welcome page. So, I want a banner or anything right after I (or the user) click on the install.exe... Not one minute after, because it doesn't make sense...


How this happens on my comp: installer first makes integrity check (banner with % progress), after this image banner appears, and I can hear file copy disk activity (I used File with 200 MB dir in .onInit, change or comment Sleep in the script), finally installer dialog replaces banner.
NSIS 2.03 and Win2K Server.


Thank you, Takhir, I've tried it - doesn't work...

start install.exe -> one minute hourglass -> your image appearing, then the welcome page. It's equivalent with the advsplash.dll.


"Please wait while setup is loading. Verifying installer xx%" - banner should be visible when installer checks package integrity. This may take one minute or less for 1 GB package (image banner in my test appears even faster if compression was used, after 1-3 seconds of "Verifying" banner or even immediatelly after installer launch). And this is a problem - why "verifying" banner is not visible on your system? Are you using stable NSIS version? Did you tested it with 2.02?


Originally posted by Takhir
"Please wait while setup is loading. Verifying installer xx%" - banner should be visible when installer checks package integrity. This may take one minute or less for 1 GB package (image banner in my test appears even faster if compression was used, after 1-3 seconds of "Verifying" banner or even immediatelly after installer launch). And this is a problem - why "verifying" banner is not visible on your system? Are you using stable NSIS version? Did you tested it with 2.02?
Yes, this is the main problem. This verifying not the CRC check? Because I set it off (CRCCheck off). And there's something with the "solid compression" too, as I learnt in the posts of the forum, but I don't understand, what is it (it seems, bzip2 and lzma is the solid, but I'm using the zlib, 'cause the bzip2 and the lzma have very slow compression (bzip2 about 40min, lzma 1-2 hour), and the install.exe with the bzip2 compression doesn't start... (hourglass, 3 minutes winchester work, then nothing, must kill the process.

I'm using the 2.03 version, the OS is XP SP2 (maybe the SP2 is the guilty...)

Okay, I've tested it: the "Please wait... verifying" IS the CRC check. It's another annoying process after the one minute hourglass... I'll give it up...


I've just created 550MB install file and everything works as expected, that is: "Verifying installer %xx".
Here is attached nsi script that does that with no probs.

Another problem is that I cannot put REALLY big file into setup (e.g. 3.5 GB) because of:
"failed creating mmap of "c:\really big file.avi"


int (2 GB) limitations in mmap.c/h looks not reasonable, CreateFileMapping (and other calls and structs) supports big files. NSIS developers can clean code and move size limit to DWORD (4 GB) easy. This may also require compression code check out, but this is not a problem too. I guess.