\
Source Code
Commands
Compile
Compile Options
Please see the "options for commands" section of the
manual for generic configuration details..
These are the relevant options:
;----------------------------------------------------------------------------
;--- Some Options -----------------------------------------------------------
;----------------------------------------------------------------------------
#define? COMPILE_SRC_FILE_NAME <$ProdInfo.MsiName> ;;Name of generated SOURCE files (without extension)
#define? COMPILE_CAB_FILE_NAME MM* ;;Name of generated 8.3 formatted CAB filename (without extension). MM01.cab, MM01_2.cab etc.
#define? COMPILE_MAKECAB_EXE MakeCab.exe ;;Allow user ability to add path information etc (double quote if it contains spaces!)
#define? COMPILE_MAKECAB_EXE_DOS_WAIT_FOR_EXIT /c ;;Change to "/K" to require user to type "exit" (debugging...)
#define? COMPILE_CABDDF_MaxDiskSize 0 ;;One cab of unlimited size (Should be multiple of 512 bytes, 0 = No Limit)!
#define? COMPILE_RESERVED_BYTES_ON_MEDIA1 50000 ;;On top of that required by MSI (or files specified by "MsiExtraFiles" commands)
#define? COMPILE_CABDDF_ReservePerCabinetSize 8
#define? COMPILE_CABDDF_FolderSizeThreshold 1
#define? COMPILE_CAB_PER_COMPONENT N ;;Doesn't work yet (don't set to "Y"). If you know why let me know!
#define? COMPILE_DELETE_CAB_FILES_IN_LOG_DIR Y ;;Delete these temporary CAB files (Y/N)? May be useful for debugging.
#define? COMPILE_CABDDF_Compress ON ;;ON/OFF - Want to compress files?
#define? COMPILE_CABDDF_CompressionType <$COMPRESS_MEDIUM>
#define? COMPILE_CABDDF_CompressionLevel 7
#define? COMPILE_CABDDF_CompressionMemory 21
#define? COMPILE_CABDDF_ClusterSize 4096 ;;Safe for CD-ROM, floppies (512) etc
#define? COMPILE_CAB_EXTRA_COMMANDS ;;Any extra DDF commands you might wish to add (use "{NL}" for newline)
#define? COMPILE_MAKECAB_VERBOSITY 1 ;;1 (Low) - 3 (High). Determines how much is displayed/logged during "compile"
#define? COMPILE_SEE_MAKECAB_OUTPUT 1 ;;1=YES 0=Hide
#define? COMPILE_CAB_RPT_DISPLAY_PREFIX " | "
#define? COMPILE_DISKPROMPT_PROPERTY <$ProdInfo.ProductName> version <$ProductVersion> - [1] ;;[1] gets replaces with "DiskPrompt" from "Media" table
#define? COMPILE_HOOK_BEFORE_MAY_NOT_HAVE_ANY_FILES ;;May not compile of no files to do
#define? COMPILE_HOOK_BEFORE ;;We know we need to do something
#if ['<$COMPILE_CABDDF_MaxDiskSize>' = 0]
;--- User did not specify media size so no point having external --------
#define? COMPILE_TYPE <$COMPILE_CAB_IMBEDDED_INTO_MSI>
#elseif
;--- User specified a media size so default to external cabs! -----------
#define? COMPILE_TYPE <$COMPILE_CAB_EXTERNAL_WITH_MSI>
#endif
;----------------------------------------------------------------------------
;--- Where are the external CABs placed? ("{#}" = disk number) --------------
;----------------------------------------------------------------------------
#define? COMPILE_MEDIA_DISK2_ONWARDS_DIR.D . ;;Same directory as MSI (good for testing - No need to create media)
#define? COMPILE_MEDIA_DISK2_ONWARDS_DIR.P OtherDisks.MSI\<$COMPILE_MEDIA_VolumeLabel_TEMPLATE>
#define? COMPILE_MEDIA_DISK2_ONWARDS_DIR <$COMPILE_MEDIA_DISK2_ONWARDS_DIR.[MMMODE]>
;----------------------------------------------------------------------------
;--- Some other MULTI CAB/DISK templates ("{#}" = disk number) --------------
;----------------------------------------------------------------------------
#define? COMPILE_MEDIA_DISK_NUMBER_DESC_TEMPLATE Disk #{#}
#define? COMPILE_MEDIA_VolumeLabel_TEMPLATE AppDisk #{#}
;----------------------------------------------------------------------------
;--- Compile types ----------------------------------------------------------
;----------------------------------------------------------------------------
#define COMPILE_CAB_IMBEDDED_INTO_MSI ImbeddedCabs ;;default method, cans imbedded within the MSI
#define COMPILE_CAB_EXTERNAL_WITH_MSI ExternalCabs ;;Cab filename MUST be 8.3 format!
;----------------------------------------------------------------------------
;--- Media Capacities -------------------------------------------------------
;----------------------------------------------------------------------------
#define? COMPRESS_CAPACITY_CDROM (640*1024*1024) ;;640MB (as bytes)
#define? COMPRESS_CAPACITY_DVD-R(SL) 4707319808 ;;DVD capacities from: http://en.wikipedia.org/wiki/DVD#DVD_disc_capacity
#define? COMPRESS_CAPACITY_DVD-R(DL) 8543666176
#define? COMPRESS_CAPACITY_DVD+R(SL) 4700372992
#define? COMPRESS_CAPACITY_DVD+R(DL) 8547991552
;----------------------------------------------------------------------------
;--- Known Compression levels -----------------------------------------------
;----------------------------------------------------------------------------
#define COMPRESS_NONE NONE ;;2007-09-12: Doesn't appear to work?
#define COMPRESS_MEDIUM MSZIP
#define COMPRESS_BEST LZX ;;Builds smallest MSI
| Options that Vary by Processing Mode |
You should note that the following definitions override some of the above,
the values vary based on the
processing mode (development or production:
;----------------------------------------------------------------------------
;--- Which compression to use? ----------------------------------------------
;----------------------------------------------------------------------------
#define? COMPILE_COMPRESSION_TYPE_4_PRODUCTION <$COMPRESS_BEST>
#define? COMPILE_COMPRESSION_TYPE_4_NOT_PRODUCTION <$COMPRESS_MEDIUM>
#define? COMPILE_COMPRESS_4_PRODUCTION ON
#define? COMPILE_COMPRESS_4_NOT_PRODUCTION ON
#if ['<$MmMode>' = '<$MMMODE_PRODUCTION>']
;--- Production mode -----------------------------------------------------
#define? COMPILE_CABDDF_CompressionType <$COMPILE_COMPRESSION_TYPE_4_PRODUCTION>
#define? COMPILE_CABDDF_Compress <$COMPILE_COMPRESS_4_PRODUCTION>
#elseif
;--- Other mode ----------------------------------------------------------
#define? COMPILE_CABDDF_CompressionType <$COMPILE_COMPRESSION_TYPE_4_NOT_PRODUCTION>
#define? COMPILE_CABDDF_Compress <$COMPILE_COMPRESS_4_NOT_PRODUCTION>
#endif