ZipDLL plug-in: Difference between revisions

From NSIS Wiki
Jump to navigationJump to search
No edit summary
Line 69: Line 69:


=== Legal Stuff ===
=== Legal Stuff ===
This NSIS plugin is licensed under the GPL, please read the file ZipArchive\glp.txt for details.
This NSIS plugin is licensed under the GPL, please read the file ZipArchive\gpl.txt for details.


ZipDLL uses the ZipArchive library from [http://www.artpol-software.com/index_zip.html http://www.artpol-software.com/index_zip.html]. Please read the file ZipArchive\license.txt for details.
ZipDLL uses the ZipArchive library from [http://www.artpol-software.com/index_zip.html http://www.artpol-software.com/index_zip.html]. Please read the file ZipArchive\license.txt for details.

Revision as of 14:28, 6 February 2008

Author: codesquid (talk, contrib)


Links

Zip.gif ZipDLL.zip (370 KB)

To use ZipDLL:

  1. Extract ZipDLL.dll to directory Plugins in your NSIS installation
  2. Extract ZipDLL.nsh to directory Include in your NSIS installation

NB: As of today (2006-07-06), file ZipDLL.nsh (Modified: 2004-02-14 10:22) has a syntax error that has to be fixed manually: uncomment the !endif instruction on line 357

Description

Version: 1.2.2a.

This plugin provides basic zip file extraction ability for NSIS scripts.

Excerpt from the readme

What is this?

ZipDLL is a extension DLL for NSIS. It can unzip files from zip files. It is especially useful in combination with NSISdl so that you don't have to download large files uncompressed.

Using the header file

To use the dll, include "ZipDLL.nsh" after including the language files. To extract files from a zip file, use the following macro:

!insertmacro ZIPDLL_EXTRACT SOURCE DESTINATION FILE
Parameters
Zip file, destination directory, file to extract.
Description
Extract the specified file in the archive to the destination directory. If file is <ALL>, all files in the archive will be extracted.

On Success, the string "success" is on top of the stack, else an error message.

If using the macro, the status messages during extraction uses the current installer language. (Only if ZipDLL supports that language. Default language is English)

Example

!insertmacro ZIPDLL_EXTRACT "c:\test.zip" "c:\output" "<ALL>"

Using exported functions from ZipDLL.dll

ZipDLL::extractall SOURCE DESTINATION
Parameters
Zip file, destination directory.
Description
Extracts all files in the archive to the destination directory.
ZipDLL::extractfile SOURCE DESTINATION FILE
Parameters
Zip file, destination directory, file to extract.
Description
Extracts the specified file in the archive to the destination directory.

Example

ZipDLL::extractall "c:\test.zip" "c:\output"

Supported languages

ZipDLL.nsh contains the following additional languages:

  • Arabic
  • Chinese Simplified
  • Chinese Traditional
  • Croatian
  • Danish
  • French
  • German
  • Hungarian
  • Korean
  • Lithuanian
  • Polish
  • Portuguese (Brazil)
  • Russian
  • Spanish

To add your language, simply modify ZipDLL.nsh, should be really easy. Please send the modified ZipDLL.nsh to tim.kosse@gmx.de so that other people can benefit from it, too.

Legal Stuff

This NSIS plugin is licensed under the GPL, please read the file ZipArchive\gpl.txt for details.

ZipDLL uses the ZipArchive library from http://www.artpol-software.com/index_zip.html. Please read the file ZipArchive\license.txt for details.

Alternative license for use with proprietary software

Since ZipArchive is licensed under the GPL, it may only be used with programs with a GPL compatible license, the same applies to this DLL. You can, however obtain a commercial license (free of charge for freeware and most shareware programs) for ZipArchive. Please read ZipArchive\license.txt for details. Permission is granted to use ZipDLL together with proprietary software when you've obtained a license for ZipArchive.