Build Performance |
See the "Size" section for tips related to the size of MSIs, here are some "speed" related tips (generally for MAKEMSI):
A dual CPU will not directly improve performance but the fact that other processing you may have running can use the other CPUs will have some (small or large) performance gain.
If I stop the "seti" program then MAKEMSI runs about 30% faster! Have a look at the "PsSuspend.EXE" tool for my automated solution which still allows me to use "seti".
If you have multiple CPUs then you may be able to set CPU affinity such that these programs run on CPUs that MAKEMSI doesn't use.
There are advantages and disadvantages to this approach, a disadvantage is that in use files are not automatically handled however advantages include it works around MSIs default limits on the numbers of files (32,767) and it could also workaround Windows Installer's file versioning rules.
The following is one way to turn off the file html generation (add the line(s) before adding MAKEMSI headers):
;--- We want full doco for "production" ------------------------------------- #if ['<$MmMode>' = 'D'] ;;Note "MMMODE_DEVELOPMENT" etc not yet defined... ;--- Let user ----------------------------------------------------------- #info ^Disabling the file report generation in development mode to speed things up...^ ;--- This is the slowest part of file processing ------------------------ #( ;--- Builds much faster if FILE part of report not generated when many files... --- #define FILE_REPORT ;;You can also be more selective and use DOCO=N on all/some files <$FILE_BEFORE_REPORT> <A NAME="FILES"></A> <$HTMLRPT_HEADING TEXT="Files"> <p>This file report has been disabled as there are too many files and its taking a long time to build it :-) <p>I could selectively generate this section if in production mode... <$FILE_AFTER_REPORT> #) ;--- If not creating the report then we don't need to store info either... --- #define DEFAULT_FILE_DOCO N ;;You could also do this for most of the files and leave "FILE_REPORT" alone... #endif
#define FILEINFO_GET_STRFILEINFO N ;;Don't get STRFINFO from EXE/DLL/OCX etc #define FILEINFO_GET_DOCUMENTINFO N ;;Don't get document information such as titles, summaries etc
#define DEFAULT_FILE_WANT_FILEHASH N ;;User can still override on File(s) commands (HASH=Y)