ZipDLL plug-in: Difference between revisions

From NSIS Wiki
Jump to navigationJump to search
(→‎Links: still broken endif)
Line 13: Line 13:
* today (2009-07-16), this link file not yet fixed!
* today (2009-07-16), this link file not yet fixed!
* today (2011-11-05), still not fixed
* today (2011-11-05), still not fixed
* today (2012-02-02). still not fixed? perhaps this never will be. Back to drawing board


== Description ==
== Description ==

Revision as of 19:21, 2 February 2012

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

  • today (2009-01-14), this link file contain error not yet fixed!. the wrong comment in zipdll.nsh -> line 357 ;!endif writen by Jade Byun ***
  • today (2009-07-16), this link file not yet fixed!
  • today (2011-11-05), still not fixed
  • today (2012-02-02). still not fixed? perhaps this never will be. Back to drawing board

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.