Changes you may want to make to the generated output shown above
(after renaming the file to ".mm"):
- You will note that the MSIDIFF tool doesn't try to rebuild higher
level MAKEMSI commands such as "property".
You could manually make these changes to the result if you wish.
- The "MSI" command generated above makes a
copy of the msi and applies changes to this copy (as you also did),
for an example of updating an msi:
<$Msi '.\BEFORE.msi'>
- It is possible to get unexpected
validation errors or warnings
as the MAKEMSI update framework may hide some of these for you,
find (in "company.mmh", "uisample.mmh" etc)
and duplicate this.
Search for significant text of the message or for "MsiValFilter".
- You typically get some "summary" information changes that have nothing
to do with you changes (last saved time etc), just delete these.
- Items which may currently be hardcoded could be changed
to "#define" commands or even passed on the "PPWIZARD"
command line from a batch file (see its "/define" switch).
- Other hard coded items you may need to tweek are "@where"
clauses, but MSIDIFF will have done most of the hard work for you.
An example of what the end result might look like:
#include "OpenMsi.MMH" ;;Better to use "MyMsiUpdate.MMH" and remove the common "stamping" below...
<$Msi '.\Before.msi'> ;;Change original (instead of creating a copy with changes applied)
;--- Make the changes ---------------------------------------------------
<$Property "SOME_NEW_PROPERTY" Value="SomePropertyValue">
;--- "Stamp" MSI --------------------------------------------------------
<$Summary "LastAuthor" Value="Dennis Bareis">
<$Summary "LastSave_DTM" Value='now()'>
<$/Msi>