Archive: Zipdll


Zipdll
hi all,
Im a newbye with zipdll scripting.
I have 2 qurstions. I succesfully create an installer that during installation extract a zip file into an installation dir, but:
1) this works ONLY in the system/machine where I create the installer. In other systems the installer just copy the zip file but it doesnt extract files within. What did I forget?
2) (less crucial) when the installation finished I delete the zip file from installation directory using Nsis' Delete command. Is there a method to extract files from zip file directly during installation without the need to copy the entire file zip in the installation dir?

thanks


Why do you use a zip file? Couldn´t you just add files to your setup and have them compressed and uncompressed by NSIS?


I use Nsis to create game installer. My mork is to protect games which they will be sell in digital delivery. I use a specific program to protect games. After protecting, the program calls nsis to create installer. But the problem is that I have a source dir size over 2GB and nsis doesnt start. I dont know if the problem is related to nsis or the other program. So I have to zip file to reduce the source dir size. Other solution?


I probably can´t help you with that problem as I´m a newbie, too.

But to narrow the problem down:
- "nsis doesnt start" --> any error message?
- "related to nsis or the other program" --> did you try to compile the script via commandline instead of with that other program?
- What is the file size of the biggest file in that directory?


- "nsis doesnt start" --> any error message?
error message is diplayed on the other program

- "related to nsis or the other program" --> did you try to compile the script via commandline instead of with that other program?
no i didnt, but it is irrilevant because I need to use that program.

- What is the file size of the biggest file in that directory? [/B]
files are all small, except for video and sounds (max 50 mb).


No one can tell me why file extraction from a zip doenst work on other systems?

You could use the special build of NSIS that creates an install.log.

http://nsis.sourceforge.net/Special_Builds


1) this works ONLY in the system/machine where I create the installer. In other systems the installer just copy the zip file but it doesnt extract files within. What did I forget?
Do you have a sample script you can post that shows the problem?

2) (less crucial) when the installation finished I delete the zip file from installation directory using Nsis' Delete command. Is there a method to extract files from zip file directly during installation without the need to copy the entire file zip in the installation dir?
If the zip file is an external file (say on a CD/DVD) then you should be able to unzip by specifying the CD/DVD path as the source and $INSTDIR as the destination. But, if the zip file is part of the installation, you're stuck.
...But the problem is that I have a source dir size over 2GB and nsis doesnt start.
Are you using NTFS on the system building the installs? (If memory serves me, FAT32 does not support files over 2GB.) Also: are you getting any errors or other symptoms? (The advanced logging option suggested by Larsen wouldn't be a bad choice--you might be able to get some more info about where it's failing.)

thanks for the reply,

Originally posted by Comperio
Do you have a sample script you can post that shows the problem?
Here there is the most relevant part of the script:


;--------------------------------
;Include
!include "MUI.nsh"

!include ${INSTALL_DEFS}
!include "ZipDLL.nsh"
;--------------------------------
[...]
;--------------------------------
; Main Section
Section "${AM_APPNAME}" SecStarted

; BASIC REQUIREMENTS
AddSize ${AM_SIZEONDISK}

; INSTALL FILES
SetOutPath "$INSTDIR"

Call AMInstallFiles

ZipDLL::extractall "${AM_SRC}\install.zip" "$INSTDIR"
Delete /REBOOTOK "$INSTDIR\install.zip"

[...]
SectionEnd


All variables are right setted.

If the zip file is an external file (say on a CD/DVD) then you should be able to unzip by specifying the CD/DVD path as the source and $INSTDIR as the destination. But, if the zip file is part of the installation, you're stuck.
Zip file is part of the installetion, but it isnt so much important...


Are you using NTFS on the system building the installs? (If memory serves me, FAT32 does not support files over 2GB.) Also: are you getting any errors or other symptoms? (The advanced logging option suggested by Larsen wouldn't be a bad choice--you might be able to get some more info about where it's failing.)
I use fat32, ok for files > 2GB, but this is for directory too?

What is AM_SRC? Are you trying to decompress a file from the local compiler machine or what?
ZipDLL extracts files on the machine running the installer. You need to extract the Zip file first and then uncompress the contents of it afterwards.

-Stu


Originally posted by Afrow UK
What is AM_SRC? Are you trying to decompress a file from the local compiler machine or what?
ZipDLL extracts files on the machine running the installer. You need to extract the Zip file first and then uncompress the contents of it afterwards.

-Stu
thinking what to reply to you I finally find the error! It is exactly that variable. What in idiot!
Thanks to help me to focus the error...