Archive: download -> unzip -> unzip -> install


download -> unzip -> unzip -> install
hello, i'm trying to write an installer that downloads a file, then unzips a file from that file, and then unzips another file from the unzipped file, and then installs that unzipped file.

i'm of course getting the "no files found." error trying to compile it, is there any way of having the installer wait for downloads/unzips before installing the files...?


Use CopyFiles to copy files on the user's machine and not from the developer's machine. Use NSISdl or InetLoad to download files off the internet. To unzip, use one of the available plug-ins. There are also plug-ins for tarballs and for cabs.


Start->Programs->NSIS->Contrib-NSISdl or InetLoad, both waits for download to be finished. Search the Forums link above will give you a lot of samples for files unzipping, but NSIS internal compressors are good enougth to not use zip.


I'm trying to get ZipDLL to work

!include "zipdll.nsh"

includes/zipdll.nsh
plugins/ZipDLL.dll

i get this error when trying to use: ZipDLL::extractfile C:\file.zip C:\unzippedfile.exe unzippedfile.exe

"Invalid command: ZipDLL::extractfile"


Make sure you put ZipDLL.dll in the Plugins directory of your NSIS installation. You should see all available plug-in functions on the top of the log makensis.exe produces when it's compiling a script. If ZipDLL::extractfile isn't there, you haven't put ZipDLL.dll in the correct place.


kichik said it first :D


lol

the reason for this was i tried the "makensis" example and installed another NSIS in a NSIS2 folder, of course my plugins were in the first one.

thanks a lot :)


okay a new problem arised

"SFX LZH"

how do I unzip those?


There's no LZH plug-in, so you'll have to execute a command line utility using ExecWait, nsExec or ExecDos. SFX is not an extension I know. Search the web a bit and you'll probably find a command line utility for it as well.