MAKEMSI quickly and reliably creates MSI files in a non-programmatic way
Have your say! Join the MAKEMSI discussion list or view archive! Suggest improvements. No question too simple or too complex.
[Bottom][Contents][Prev]: FilesExcludeClear[Next]: FileFind
Have your say! Join the MAKEMSI discussion list or view archive! Suggest improvements. No question too simple or too complex.
\->Source Code->Commands->FilesInZip

The "FilesInZip" Command

This command is a less flexible alternative to the "File" and "Files" commands and you would probably only use it where a zip file contains large numbers of files which make the msi creation and installation much slower.

You can use the "UnzipImage" macro to extract the files at msi build time and then add the extracted files.

These are the main predefined options and parameter defaults:

#define? FILESINZIP_INSTALL_DIR_KEY_IUNZIP          INSTALLDIR                    ;;Install time location for EXE
#define? FILESINZIP_INSTALL_DIR_KEY_ZIPS            INSTALLDIR                    ;;Install time location for included zips (not where they get unzipped to)
#define? FILESINZIP_INSTALL_UNINSTALL_SEQ           <-DuplicateFiles              ;;"<-RemoveFolders" doesn't work!!!!  It leaves the folder behind
#define? FILESINZIP_INSTALL_CONDITION               <$CONDITION_EXCEPT_UNINSTALL>
#define? FILESINZIP_UNINSTALL_CONDITION             <$CONDITION_UNINSTALL_ONLY>
#define? FILESINZIP_INSTALL_ZIP_CONTENTS_LIST       Y                             ;;Logging is great unless your zip is so big it takes excessive time
#define? FILESINZIP_INSTALL_ZIP_CONTENTS_TEST       Y                             ;;Testing the zip is great (it may excplain a otherwise hard to unzip error) unless your zip is so big it takes excessive time
#define? FILESINZIP_INSTALL_INSTALL_TYPE            System
#define? FILESINZIP_INSTALL_UNINSTALL_TYPE          System
#define? FILESINZIP_UNZIP_EXE_SOURCE                .\IUNZIP.EXE                  ;;By default expect in the current directory
#define? FILESINZIP_UNZIP_EXE_ROWKEY                iUnZip.exe
#define? FILESINZIP_UNZIP_OPTION_MARKER_UNPACK_DIR  {UnpackRoot}                  ;;Use "{UnpackRoot}" to represent the install/unpack directory
#define? FILESINZIP_UNZIP_OPTION_MARKER_ZIP_FILE    {ZipFile}                     ;;Use "{UnpackRoot}" to represent the install/unpack directory
#define? DEFAULT_FILESINZIP_UNZIP_OPTIONS           -o -d "<$FILESINZIP_UNZIP_OPTION_MARKER_UNPACK_DIR>" "<$FILESINZIP_UNZIP_OPTION_MARKER_ZIP_FILE>"

The macro takes these parameters:

EXAMPLE

<$FilesInZip ZipFile=^Stuff.zip^         InstallRootDir="[INSTALLDIR]\Stuff">
<$FilesInZip ZipFile=^zips\GraphViz.zip^ INSTALLROOTDIR="[INSTALLDIR]\GraphViz" OnUninstallDeleteRootFolder="Y">


Microsoft awarded me an MVP (Most Valuable Professional award) in 2004, 2005, 2006, 2007, 2008 & 2009 for the Windows SDK (Windows Installer) area.Please email me any feedback, additional information or corrections.
See this page online (look for updates)

[Top][Contents][Prev]: FilesExcludeClear[Next]: FileFind


MAKEMSI© is (C)opyright Dennis Bareis 2003-2008 (All rights reserved).
Saturday May 28 2022 at 3:11pm
Visit MAKEMSI's Home Page
Microsoft awarded me an MVP (Most Valuable Professional award) in 2004, 2005, 2006, 2007, 2008 & 2009 for the Windows SDK (Windows Installer) area.