; firefox.mmh ; ; Derived from MakeMSI's dennis.mmh: ; (C)opyright Dennis Bareis, Australia, 2003. All rights reserved. ;---------------------------------------------------------------------------- ;--- Set up some options specific to my requirements ------------------------ ;---------------------------------------------------------------------------- #define? DEPT_ARP_URL_PUBLISHER ;;My main web page #define? DEPT_ARP_URL_TECHNICAL_SUPPORT ;;Default to my web site (root) #define? COMPANY_CONTACT_NAME <$DEPT_NAME> ;;My name #define? COMPANY_CONTACT_NAME_PHONE ;;My phone contact (don't even think about it :-) #define? DEFAULT_FILE_WANT_FILEHASH Y ;;My box can generate MD5 hashes! #define? COMPANY_PREPROCESS_LICENCE_FILE Y ;;Default is to preprocess licence files ;---------------------------------------------------------------------------- ;--- I want to "mark" my development MSIs ----------------------------------- ;---------------------------------------------------------------------------- #define? COMPANY_MSINAME_SUFFIX.D (test) #define? COMPANY_MSINAME_SUFFIX.P #define? COMPANY_MSINAME_SUFFIX <$COMPANY_MSINAME_SUFFIX.[MMMODE]> ;;Adds "(test)" in development mode #define? COMPANY_PRODUCT_NAME_PREFIX.D !!! ;;Developer friendy - sorts up front in ARP (in development mode) ;---------------------------------------------------------------------------- ;--- Some options more as examples than anything else (sets to defaults anyway) --- ;---------------------------------------------------------------------------- #define? MAKEMSI_HTML_EXTENSION hta ;;Default extension (HTML Application - gets around WINXP SP2 issue) ;---------------------------------------------------------------------------- ;--- The Graphics I want to use (at least by default) ----------------------- ;---------------------------------------------------------------------------- #define? UISAMPLE_DIALOG_FILE_dlgbmp ;;My replacement graphic for the left hand side (vertical) bitmap ;#define? UISAMPLE_DIALOG_FILE_dlgbmp ../branding/Watermrk.bmp ;;My replacement graphic for the left hand side (vertical) bitmap #define? UISAMPLE_LEFTSIDE_TEXT ;;Disable "left side text" #define? UISAMPLE_BITMAP_WHITE_BANNER white.bmp ;;Use "white.bmp" if you just want it plain #define? UISAMPLE_BITMAP_BANNER_GRAPHIC ../branding/Header.bmp ;;The graphic on the right of the "UISAMPLE_BITMAP_WHITE_BANNER" #define? COMPANY_PRODUCT_ICON ../branding/firefox.ico ;;Add-Remove (control panel) icon ;---------------------------------------------------------------------------- ;--- Define the types of boxes that I support ------------------------------- ;---------------------------------------------------------------------------- #( ;--- The VER file will refer to one or more of these platforms or groups --- #define COMPANY_DEFINE_DEPARTMENTS_PLATFORMS ;--- WINXP --------------------------------------------------------------- #define PD_WINXP Windows\XP <$Platform "WINDOWS_XP_SERVER" DESC=^Windows XP Server^ PLATDIR="<$PD_WINXP>\Servers"> <$Platform "WINDOWS_XP_PRO" DESC=^Windows XP PRO^ PLATDIR="<$PD_WINXP>\PRO"> #( <$Platform "WINDOWS_XP" DESC=^Windows XP (Server/PRO)^ Contains="WINDOWS_XP_SERVER WINDOWS_XP_PRO" > #) ;--- WIN2000 ------------------------------------------------------------- #define PD_WIN2000 Windows\2000 <$Platform "WINDOWS_2000_SERVER" DESC=^Windows 2000 Server^ PLATDIR="<$PD_WIN2000>\Servers"> <$Platform "WINDOWS_2000_PRO" DESC=^Windows 2000 PRO^ PLATDIR="<$PD_WIN2000>\PRO"> #( <$Platform "WINDOWS_2000" DESC=^Windows 2000 (Server/PRO)^ Contains="WINDOWS_2000_SERVER WINDOWS_2000_PRO" > #) ;--- Others -------------------------------------------------------------- <$Platform "WINDOWS_NT4" DESC=^Windows NT 4^ PLATDIR="Windows\NT4"> <$Platform "WINDOWS_ME" DESC=^Windows ME^ PLATDIR="Windows\ME"> <$Platform "WINDOWS_98" DESC=^Windows 98^ PLATDIR="Windows\98"> <$Platform "WINDOWS_95" DESC=^Windows 95^ PLATDIR="Windows\95"> ;--- A generic one for testing (Maybe it will never be supported) -------- <$Platform "TEST" DESC=^Testing (NOT SUPPORTED)^ PLATDIR="Testing-Unsupported"> ;--- Now create a group for all WINDOWS (groups can contain groups) ------ #( <$Platform "WINDOWS_ALL" DESC=^Any Windows workstations or servers^ Contains="WINDOWS_95 WINDOWS_98 WINDOWS_ME WINDOWS_NT4 WINDOWS_2000 WINDOWS_XP" > #) #) ;---------------------------------------------------------------------------- ;--- I want local build logs & platform logs updated only for production ---- ;---------------------------------------------------------------------------- #define? DENNIS_LOCAL_LOG_ROOT \MAKEMSI.LOGS #( ';' ;--- Local files for Development Mode Build ----------------------------- #define? DENNIS_MAKEMSI_LOCAL_LOGS_FOR_DEVELOPER_MODE <$DENNIS_LOCAL_LOG_ROOT>\ALL.LOG ;;Dev+Prod <$DENNIS_LOCAL_LOG_ROOT>\DEVELOPER.LOG ;;Dev Only <$DENNIS_LOCAL_LOG_ROOT>\Product\{ProductName}.LOG ;;Dev+Prod <$DENNIS_LOCAL_LOG_ROOT>\Product\Developer\{ProductName}.LOG ;;Dev Only #) #( ';' ;--- Local files for Production Mode Build ------------------------------ #define? DENNIS_MAKEMSI_LOCAL_LOGS_FOR_PRODUCTION_MODE <$DENNIS_LOCAL_LOG_ROOT>\ALL.LOG ;;Dev+Prod <$DENNIS_LOCAL_LOG_ROOT>\PRODUCTION.LOG ;;Prod Only <$DENNIS_LOCAL_LOG_ROOT>\Product\{ProductName}.LOG ;;Dev+Prod <$DENNIS_LOCAL_LOG_ROOT>\Product\Production\{ProductName}.LOG ;;Prod Only #) #( ';' ;--- Development Build -------------------------------------------------- #define? PLATFORM_LOG_FILES.D ;--- Only local files (don't touch platform logs) ----------------------- <$DENNIS_MAKEMSI_LOCAL_LOGS_FOR_DEVELOPER_MODE> #) #( ';' ;--- Production build --------------------------------------------------- #define? PLATFORM_LOG_FILES.P ;--- Logs in other directories ------------------------------------------ <$DENNIS_MAKEMSI_LOCAL_LOGS_FOR_PRODUCTION_MODE> ;--- The normal log files in platform directories (prod only) ----------- <$PLATFORM_DEFAULT_LOG_FILES> #) #define? PLATFORM_LOG_FILES <$PLATFORM_LOG_FILES.[MmMode]> ;---[ReadMeMacros4MakemsiDoco]---- ;---------------------------------------------------------------------------- ;--- ReadMe Macros (creates and adds readme.txt to current component) ------- ;---------------------------------------------------------------------------- #( ;--- Define README start macro ------------------------------------------ #define ReadMe ;--- Open the output file (following lines placed in the file) ---------- #define+ @@ReadmeName <$MAKEMSI_OUT_LOG_DIR_RELATIVE>\ReadmeFiles\Readme-<$Component?>.TXT ;;Only once per-component! #define+ @@IsKeyFile {$KeyFile=^N^} <$FileMake "<$@@ReadmeName>"> ;--- Want to keep blank lines! ------------------------------------------ #option PUSH LeaveBlankLines=ON ;--- You add readme text lines between the "<$readme>" and "<$/readme>" tags --- #) #( ;--- Define README end macro -------------------------------------------- #define /ReadMe ;--- Restore options to original state ---------------------------------- #option POP ;--- Close the file ----------------------------------------------------- <$/FileMake> ;--- Add the file to the current component ------------------------------ <$File Source="<$@@ReadmeName>" Destination="{$Destination=^ReadMe.TXT^}" KEYPATH=^<$@@IsKeyFile>^> #) ;---[ReadMeMacros4MakemsiDoco]---- ;---[4Doco-FindWscript.exe]---- ;---------------------------------------------------------------------------- ;--- Macro to find "WSCRIPT.EXE" ;--- MS stupidly place this file in logically different locations ;--- "C:\windows" in WIN98. Also just to make like difficult it is not ;--- possible to search by attribute, or search path and thus not possible ;--- to avoid possible incorrect matches in fixpack bacup directories, all in ;--- all nearly a handful of reasons to swear at MS in one go.... ;---------------------------------------------------------------------------- #( #define WSCRIPT.EXE ;--- Can't do this! Can find files in "$NtServicePackUninstall" type directories --- ;<$FileFind File="WSCRIPT.EXE" Property="WSCRIPT.EXE" PATH="[WindowsFolder]" Depth="1"> ;--- Thanks MS... ------------------------------------------------------- <$FileFind File="WSCRIPT.EXE" Property="WSCRIPT.EXE.WF" PATH="[WindowsFolder]" Depth="0" Default=""> <$FileFind File="WSCRIPT.EXE" Property="WSCRIPT.EXE.SF" PATH="[SystemFolder]" Depth="0" Default=""> <$PropertyCa "WSCRIPT.EXE" Value="[WSCRIPT.EXE.WF]" Seq="AppSearch-" Condition="WSCRIPT.EXE.WF and (<$CONDITION_EXCEPT_UNINSTALL>)" SeqTable="InstallUISequence InstallExecuteSequence"> <$PropertyCa "WSCRIPT.EXE" Value="[WSCRIPT.EXE.SF]" Seq="AppSearch-" Condition="WSCRIPT.EXE.SF and (<$CONDITION_EXCEPT_UNINSTALL>)" SeqTable="InstallUISequence InstallExecuteSequence"> <$AbortIf Condition="not WSCRIPT.EXE and (<$CONDITION_EXCEPT_UNINSTALL>)" Message=^The file "WSCRIPT.EXE" was not found in the "[WindowsFolder]" or "[SystemFolder]" directories!^ SeqTable="InstallUISequence InstallExecuteSequence" Seq="AppSearch-" > #) ;---[4Doco-FindWscript.exe]---- ;---------------------------------------------------------------------------- ;--- Include MAKEMSI support ------------------------------------------------ ;---------------------------------------------------------------------------- #include "mozilla-dept.mmh"