⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 thunderbird.mmh

📁 现在很火的邮件客户端软件thunderbird的源码
💻 MMH
字号:
; thunderbird.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          <?PpwizardAuthorHomePage>  ;;My main web page
#define? DEPT_ARP_URL_TECHNICAL_SUPPORT  <?PpwizardAuthorHomePage>  ;;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/thunderbird.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 <??*APPDATA>\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"



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -