|
![]() |
| MAKEMSI.FLT |
The "makemsi.flt" file is used by MAKEMSI during MSI validation processing.
I recommend that it not be modified, if you examine its contents (below) you will see that if you have a "BuildMSI.MM" script then the contents of a file called "BuildMSI.FLT" will be included if it exists.
The "MsiValFilter" command provides an another alternative method for specifying filter lines.
As the "main" filter is identified by the "VALID_FILTER_FILE" macro if you wished to make a global change then copy this filter file to another location, give it a reasonable filename so its obvious what it is and then configure MAKEMSI to use this via the macro.
The following shows the files contents:
;----------------------------------------------------------------------------
;
; MODULE NAME: MAKEMSI.FLT
;
; $Author: USER "Dennis" $
; $Revision: 1.3 $
; $Date: 07 May 2005 09:10:06 $
; $Logfile: C:/DBAREIS/Projects.PVCS/Win32/MakeMsi/MakeMsi.flt.pvcs $
;----------------------------------------------------------------------------
;----------------------------------------------------------------------------
;--- Only Allow this to be included once ------------------------------------
;----------------------------------------------------------------------------
#ifdef MAKEMSI_FLT_VERSION
;--- Some how including it twice! ----------------------------------------
#eof 1
#endif
#define MAKEMSI_FLT_VERSION 03.073
;----------------------------------------------------------------------------
;--- Process any user defined Filter ----------------------------------------
;----------------------------------------------------------------------------
#DefineRexx ''
;--- Get the name of any user filter -------------------------------------
@@Look4 = '<?InputFile $$FilePart:w>.flt'
@@UserFlt = FileQueryExists(@@Look4)
;--- For MAKEMSI only, a danger, we can include ourselves! ---------------
if translate(@@UserFlt) <> translate('<?InputComponent>') then
@@UserFlt = '';
#DefineRexx
<?SemiColon>###
<?SemiColon>### START USER FILTER: "<??@@Look4>" #####################
<?SemiColon>###
#if [@@UserFlt <> ""]
;--- Include the users requirements --------------------------------------
#if translate(@@UserFlt) <> translate(@@Look4)
<?SemiColon>--- FULLNAME: "<??@@UserFlt>" ---
#endif
#include "<??@@UserFlt>"
;--- Display the user filter in the generated report ---------------------
<$SourceForReport "<??@@UserFlt>">
#elseif
<?Space> <?SemiColon>--- No filter found ---
#endif
<?SemiColon>###
<?SemiColon>### END USER FILTER: "<??@@Look4>" #####################<?NewLine>
<?SemiColon>###
<?NewLine>
<?NewLine>
;----------------------------------------------------------------------------
;--- HOOK before any other processing ---------------------------------------
;----------------------------------------------------------------------------
#ifdef FILTER_START
;--- User Hook -----------------------------------------------------------
<?NewLine>
<?SemiColon>--- HOOK: "FILTER_START" ---
<$FILTER_START> ;;#EOF if user filter did everything...
<?NewLine>
#endif
;----------------------------------------------------------------------------
;--- Ignore "internal errors" -----------------------------------------------
;----------------------------------------------------------------------------
#ifndef FILTER_SEE_ICE_INTERNAL_ERRORS
<?NewLine>
/-UNKNOWN ICE Internal Error/
/-Based on the tables and columns in your database, it should be marked with a schema between/
<?NewLine>
<?NewLine>
#endif
;----------------------------------------------------------------------------
;--- "darice.cub" specific (over W2K validations - "logo.cub") --------------
;----------------------------------------------------------------------------
<?NewLine>
<?NewLine>
/-has a directory that is a public property (ALL CAPS) and is under user profile directory./
/-Property `AdminUser` found in column `ControlCondition`.`Condition`/
/-Property `AdminUser` found in column `ControlEvent`.`Condition`/
/-This product should remove only older versions of itself. No Maximum version was detected for the current product./
/-Upgrade.VersionMin and Upgrade.VersionMax cannot both be null. UpgradeCode is /
;** [CommentBlockStart (January 18, 2005 6:14:45 PM EST, Dennis)
;**+----------------------------------------------------------------------
;**|/-WARNING Mismatched component reference./
;**+----------------------------------------------------------------------
;** CommentBlockEnd] (January 18, 2005 6:14:45 PM EST, Dennis)
/-Complete functionality of the MsiFileHash table is only available with Windows Installer version 1.5. Your schema is/
;----------------------------------------------------------------------------
;--- We are just about to pass through ALL ERRORS ---------------------------
;----------------------------------------------------------------------------
<?NewLine>
<?NewLine>
#ifdef FILTER_BEFORE_ERROR_FILTER
;--- User filter hook ----------------------------------------------------
<?NewLine>
<?SemiColon>--- HOOK: "FILTER_BEFORE_ERROR_FILTER" ---
<$FILTER_BEFORE_ERROR_FILTER>
#endif
;----------------------------------------------------------------------------
;--- Pass through ALL ERRORS ------------------------------------------------
;----------------------------------------------------------------------------
<?NewLine>
<?NewLine>
/+ ERROR /
;----------------------------------------------------------------------------
;--- We just passed through ALL ERRORS --------------------------------------
;----------------------------------------------------------------------------
#ifdef FILTER_AFTER_ERROR_FILTER
;--- User filter hook ----------------------------------------------------
<?NewLine>
<?SemiColon>--- HOOK: "FILTER_AFTER_ERROR_FILTER" ---
<$FILTER_AFTER_ERROR_FILTER>
<?NewLine>
#endif
;----------------------------------------------------------------------------
;--- Remove line added by the find.exe filter -------------------------------
;----------------------------------------------------------------------------
/----------/
;----------------------------------------------------------------------------
;--- Remove blank lines -----------------------------------------------------
;----------------------------------------------------------------------------
/-/
;----------------------------------------------------------------------------
;--- Ignore any hard coding of directory locations via property table -------
;----------------------------------------------------------------------------
#ifndef FILTER_NO_WARNING_FOR_HARDCODED_DIRECTORY_ENTRIES
<?NewLine>
/- appears to be hardcoded in the property table to a local drive/
#endif
;----------------------------------------------------------------------------
;--- We don't care about "REINSTALLMODE" being in the property table --------
;----------------------------------------------------------------------------
#ifndef FILTER_WANT_WARNING_FOR_RESINSTALLMODE_IN_PROP_TABLE
<?NewLine>
/-REINSTALLMODE is defined in the Property table./
#endif
;----------------------------------------------------------------------------
;--- Ignore ASSOCIATION type warnings ---------------------------------------
;----------------------------------------------------------------------------
#ifndef FILTER_NO_WARNING_FOR_SHOULD_BE_REGISTERED_VIA_PROGID
<?NewLine>
/- Icon associations should be registered via the ProgId and Icon tables/
/- Shell extension verbs info should be registered via the Verb table./
/- should be registered via the ProgId table/
/-ProgId - CLSID associations should be registered via the ProgId and Class tables/
#endif
#ifndef FILTER_NO_WARNING_FOR_SHOULD_BE_REGISTERED_VIA_EXTENSION
<?NewLine>
/- should be registered via the Extension table/
#endif
;--- All other warnings to go through ---------------------------------------
#ifdef FILTER_BEFORE_WARNING_FILTER_ALL
;--- User filter hook ----------------------------------------------------
<?NewLine>
<?SemiColon>--- HOOK: "FILTER_BEFORE_WARNING_FILTER_ALL" ---
<$FILTER_BEFORE_WARNING_FILTER_ALL>
#endif
/+ WARNING/
#ifdef FILTER_AFTER_WARNING_FILTER_ALL
;--- User filter hook ----------------------------------------------------
<?NewLine>
<?SemiColon>--- HOOK: "FILTER_AFTER_WARNING_FILTER_ALL" ---
<$FILTER_AFTER_WARNING_FILTER_ALL>
#endif
;--- Probably should never get here... Pass anything else through -----------
<?NewLine>
/+*/
![]() | ![]() |