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]: MAKEMSI_PLATFORM_ROOT[Next]: MAKEMSI_USER_FILES_PATH
Have your say! Join the MAKEMSI discussion list or view archive! Suggest improvements. No question too simple or too complex.
\->Source Code->Configuration / Options->Environment Variables (MAKEMSI Configuration)->MAKEMSI_SAMPLES

Environment Variable: MAKEMSI_SAMPLES

If the environment variable "MAKEMSI_SAMPLES" exists then this should hold the name of a directory where MAKEMSI will copy your "source" files. The directory will be created if it doesn't exist.

The copy occurs after MSI validation so as not to copy source for failed builds. You can define extensions for "source" files or turn it off completely (see "SAMPLES.MMH" for more information).

If you work in a team then it make sense to place the samples directory on a shared common drive. MAKEMSI installed a shortcut which will open the directory when requested.

After a period of time the directory will contain a lot of "source" or "sample" code which makes it easier when starting a new project which is similar to another one. It also helps new users when there is a lot of existing sample code or when you have forgotten how to do something specific but know its been done before.

Now you should note that it would be a bad idea to name all your scripts "MakeTheMsi.MM" as then each projects files will (at least by default) clobber each others.

Available Options

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

;--- TURN OFF SAMPLES BY DEFINING "SAMPLES_DIRECTORY" AS EMPTY --------------
#define? SAMPLES_DIRECTORY             <??*MakeMsi_SAMPLES?>  ;;Destination directory (where samples copied)
#define? SAMPLES_REXXCODE_JUST_BEFORE_COPY                    ;;Would allow you to alter the name of the file in the samples dir etc.
#define? SAMPLES_REXXCODE_TWEEK_DEST_DIR                      ;;You may wish to create a samples tree to take care of name clashes etc.
#define? SAMPLES_COPYING_MSG \
         call INFO 'Updating samples directory (' || {$CountVar} || ' files)...'
#define? SAMPLES_REXXCODE_INCLUDE_OR_EXCLUDE_FILE             ;;Filename in "@@SampleFN", return "KeepSample" (Y/N): Enables definition of extra user inclusion/exclusion code (the rexx code should execute "iterate" to exclude a file)
         #( ','                                               ;;Only used if "SAMPLES_REXXCODE_INCLUDE_OR_EXCLUDE_FILE" is blank
               ;--- Only these extensions are "samples" ---------------------------------
               #define? SAMPLES_THESE_EXTENSIONS_ONLY
               MM                   ;;MAKEMSI Script
               VER                  ;;MAKEMSI Version File
               MMH                  ;;MAKEMSI header file
               H                    ;;Generic header file
               FLT                  ;;MAKEMSI Validation Filter

               ;--- Hook to make it easy to add to the list -----------------------------
               <$SAMPLES_EXTRA_EXTENSIONS>
        #)
        #define? SAMPLES_EXTRA_EXTENSIONS


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]: MAKEMSI_PLATFORM_ROOT[Next]: MAKEMSI_USER_FILES_PATH


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.