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]: XML Version File[Next]: Parameters
Have your say! Join the MAKEMSI discussion list or view archive! Suggest improvements. No question too simple or too complex.
\->Source Code->Configuration / Options->Zip Source and Add to MSI

Zip Source and Add to MSI

You can tell MAKEMSI to zip up source code and add it to the "Binary" table by default or another table as specified. The "_Streams" table can be used to make it less visible to the average "sticky beak" (and the files can be password protected if desired). Note that th password protection can be bypassed relatively easily if someone is determined.

Normally this doesn't add significantly to the size of an MSI and this process can be thought of as a form of insurance...

The files to be zipped are any that are defined as "samples" (note that sample collection doesn't need to be on).

Any source icons, graphics and files don't need to be zipped as they can easily be extracted using the "Export to .IDT" option (which can also extract the zipped source code).

This option is off by default. To enable it you will need to download the freeware info zip's "zip.exe" program (http://www.info-zip.org/") and configure MAKEMSI (see the "MAKEMSI_INFOZIP.EXE" macro).

If you are releasing a commercial MSI you may not want to do this but for internal MSIs (deployed within your company) it can be useful to cover some source code management issues (a safety net).

Available Options

Please see the "options for commands" section of the manual.

#define? COMMONFRAMEWORK_ZIP_SOURCE_FOR_BACKUP             Y                     ;;Y/N  (if "Y" then use info-zip (izip.exe) to zip source code)
#define? COMMONFRAMEWORK_ZIPPED_SOURCE_KEY                 SourceCodeBackup.zip  ;;Name of extracted ZIP (as well as "Binary" resource)
#define? COMMONFRAMEWORK_ZIP_SOURCE_BACKUP_PASSWORD                              ;;Empty if no password wanted or specify desired password (NOTE make sure the info zip version you are using supports encryption before setting a password!)
#define? COMMONFRAMEWORK_ZIP_SOURCE_BACKUP_ZIP_OPTIONS     -9 -j -o              ;;Max compression, no path
#define? COMMONFRAMEWORK_ZIPPED_SOURCE_TABLE               Binary                ;;Put into what table ("_Streams" would "hide" it)?
#define? COMMONFRAMEWORK_ZIPPED_SOURCE_INCLUDES_FILELIST   Y                     ;;Want the list of files added? (contains full source path information which may be useful)
#define? COMMONFRAMEWORK_ZIPSRC_OUTPUT_COLOR               {CYAN}                ;;Output of the zipping process..
#define? COMMONFRAMEWORK_INFO_MSG_ZIPPING                  Zipping source - {$Count} file(s)...                   ;;Empty = no message
#define? COMMONFRAMEWORK_INFO_MSG_ZIPPED                   Adding ZIP ({$Size} bytes) to the "{$Table}" table...  ;;Empty = no message

Extra Files

You can specify extra files you would like zipped up as well, perhaps source code for a tool you are packaging, the following demonstrates how to do it:

<$CommonFramework-ZipThisSource "sourcecode\Source4Fred.EXE.zip">


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]: XML Version File[Next]: Parameters


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.