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]: Configuration Header Files[Next]: DENNIS.MMH
Have your say! Join the MAKEMSI discussion list or view archive! Suggest improvements. No question too simple or too complex.
\->Source Code->Configuration / Options->Configuration Header Files->ME.MMH

ME.MMH

This is a fairly minimal "configuration header file". It is intended as a simple example of how you can configure MAKEMSI.

Please see "DENNIS.MMH" if you want to see a much more complex example.

;----------------------------------------------------------------------------
;
;    MODULE NAME:   ME.MMH
;
;        $Author:   USER "Dennis"  $
;      $Revision:   1.10  $
;          $Date:   06 Aug 2017 08:29:24  $
;       $Logfile:   D:/DBAREIS/Projects.PVCS/Win32/MakeMsi/ME.mmh.pvcs  $
;
; Very simplistic example of a MAKEMSI customisation/branding file, see
; "DENNIS.MMH" for a more complex variation (please don't use it though...).
;----------------------------------------------------------------------------



;----------------------------------------------------------------------------
;--- Set up some options specific to my requirements ------------------------
;----------------------------------------------------------------------------
#define? DEPT_ARP_URL_PUBLISHER           http://www.MyUrl.com/See/ME.MMH/
#define? DEPT_ARP_URL_TECHNICAL_SUPPORT   http://www.MyUrl.com/See/ME.MMH/Support
#define? DEPT_NAME                        My Name
#define? DEPT_ADDRESS                     My Address (see "ME.MMH")
#define? COMPANY_CONTACT_NAME             <$DEPT_NAME>
#define? COMPANY_CONTACT_NAME_PHONE                ;;No phone
#define? COMPANY_SUMMARY_SCHEMA           110      ;;Minimum v1.1 Installer



;----------------------------------------------------------------------------
;--- Override/set some standard defaults ------------------------------------
;----------------------------------------------------------------------------
#define? DBG_ALL                                   Y         ;;Add MAKEMSI debugging to "console file"
#define? DBG_SAY_LOCATION                           call Say2Logs <$DBG_INDENT> || '  ' || time() || ' '  ;;Adding time makes it a bit slower but useful for debugging slow builds...
#define? DEFAULT_SERVICE_CONTROL_UNINSTALL_EVENTS            ;;I think this option is safer than the MAKEMSI default
#define? DEFAULT_SERVICE_CONTROL_INSTALL_EVENTS              ;;I think this option is better
#define? DEFAULT_FILE_WANT_FILEHASH                Y         ;;My box can generate MD5 hashes!
#define? COMPANY_PREPROCESS_LICENCE_FILE           Y         ;;Default is to preprocess licence files
#define? MAKEMSI_HTML_EXTENSION                    hta       ;;Default extension (HTML Application - gets around WINXP SP2 issue)
#define? UISAMPLE_LEFTSIDE_TEXT_FONT_COLOR         &H7F0000  ;;Medium Blue in BGR (believe it or not...)
#(
    #define? UISAMPLE_LEFTSIDE_TEXT
    Developed by <$DEPT_NAME> - <$DEPT_ADDRESS>.
    You can put whatever you like here or replace with your own graphics etc.
    This text defined in "ME.MMH"!
#)
#(
    #define? @VALIDATE_TEXT_FOR_MISSINGDATA                   ;;Example only as now duplicates exact text as new default value
    This column is not mentioned in the _Validation table.
    Either add the validation data or use the "@validate" parameter
    on the "row" command (or alter its default).
#)



;----------------------------------------------------------------------------
;--- Include MAKEMSI support ------------------------------------------------
;----------------------------------------------------------------------------
#include "DEPT.MMH"


;----------------------------------------------------------------------------
;--- I want to compress any DLL based custom actions generated by MAKEMSI ---
;----------------------------------------------------------------------------
<$GetFullBuildTimeFileName RcVar="@@FullUpxExeName" Macro="DENNIS_UPX.EXE" File="upx.exe" MustExist="N">
#if [@@FullUpxExeName = '']
    ;--- If UPX.EXE doesn't exist report an error ---------------------------
   ;#error "DLL not being compressed (UPX.EXE not found)"       ;;This is also a sample, can't expect users to have "UPX.EXE"...
    #info  "DLL custom action code will not be compressed (UPX.EXE not found)"
#else
    ;--- "UPX.EXE" was found ------------------------------------------------
    #(
        ;--- Define the macro that MAKEMSI will use as required -------------
        #define+ DLLCA-C_COMPRESS_DLL_COMMAND_LINE      ;;Need to OVERRIDE value (we couldn't do it earler or "GetFullBuildTimeFileName" wouldn't exist!)

        ;--- I expect "upx.exe" to be in the "PATH" environment variable ----
        "<??@@FullUpxExeName>"                          ;;Full name of UPX.EXE (get from "http://upx.sourceforge.net/")

        ;--- I want highest compression -------------------------------------
        --best

        ;--- Backup the DLL as a debugging aid... ---------------------------
        -k
    #)
#endif


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]: Configuration Header Files[Next]: DENNIS.MMH


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.