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]: TryMeConditionDialogs.MM[Next]: TryMeTaskSchedules.MM
Have your say! Join the MAKEMSI discussion list or view archive! Suggest improvements. No question too simple or too complex.
\->MAKEMSI Installs...->Samples Installed by MAKEMSI->Samples - Build New MSI/MSM->TryMeCreate[START]OfMsiFromScratch.MM

TryMeCreate[START]OfMsiFromScratch.MM

This is one of the MAKEMSI samples which build a new MSI/MSM.

Most people should ignore this example as it is one to demonstrate (to a small degree) how you could create a new MSI with full control (MAKEMSI does virtually nothing for you). See the "Create an MSI from Scratch" section for more info.

;----------------------------------------------------------------------------
;    MODULE NAME:   TryMeCreate[START]OfMsiFromScratch.MM
;
;        $Author:   USER "Dennis"  $
;      $Revision:   1.4  $
;          $Date:   21 Dec 2006 17:54:02  $
;       $Logfile:   C:/DBAREIS/Projects.PVCS/Win32/MakeMsi/TryMeCreate[START]OfMsiFromScratch.MM.pvcs  $
;
; DESCRIPTION
; ~~~~~~~~~~~
; This is a simple sample/test MSI.
;
; This shows how an MSI could be created from scratch.
; It doesn't attempt to create a working MSI, just to demonstrate the basics.
; If you try to install the generated MSI you will get an error message
; about an invalid package, use "ORCA.EXE" or similar table editor to examine
; it (there will only be the single row in the single table ("Binary table).
;
; As the MSI is not complete you could expect it to fail validation, this is
; why this sample disables validation.
;----------------------------------------------------------------------------


;--- Disable Validation (we know it will fail badly) ------------------------
#define  VALID_ValidateTheGeneratedMsi          ;;remember only generating partial MSI!


;--- We will do everything ourselves ----------------------------------------
#define  DBG_ALL                     Y          ;;Good unless you think it impacts performance
#include "OpenMsi.mmh"


;--- Where do we wish the MSI generated? ------------------------------------
#define MSI_DIR <$MAKEMSI_OUT_MSI_DIR>          ;;Ends with '\'
#DefineRexx ''
    ;--- Make sure it exists ------------------------------------------------
    call MakeDirectoryTree "<$MSI_DIR>"
#DefineRexx


;--- Create a new MSI and don't start with a template -----------------------
<$Msi "<$MSI_DIR>WillNotInstall-UseOrcaToExamine.MSI" CREATE="Y">
    ;--- Add Binary to the file ---------------------------------------------
    <$Binary "c:\program files\makemsi\MakeMSI.DLL">
<$/Msi>


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]: TryMeConditionDialogs.MM[Next]: TryMeTaskSchedules.MM


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.