tool (it is an easy way to produce MAKEMSI scripts).
While MSIDIFF is a command line based tool, the installer creates
shell extensions so that the decompile operations can also be invoked
by right clicking on a file in Explorer:
The following is some sample output of a compare between two databases
(where the only change was the insertion of a new property "ABCDEFG"):
#include "OpenMsi.MMH"
<$Msi 'out\Tweek.mm\Msi\After.msi' Template='out\Tweek.mm\Msi\Before.msi'>
<$Table "Property">
#(
<$Row
Property="ABCDEFG"
Value="C:\"
>
#)
<$/Table>
<$/Msi>
As you can see from the above "difference output", it is in a format which is
very easy to read (unlike that of other tools I have seen, for example the
"WiDiffDb.vbs" tool from the Windows Installer SDK).
A common use for this tool is to automate changes you wish to apply
over and over again to MSIs produced by other tools.
To do this you start by first manually making (and testing) the proposed changes
using a table editing tool similar to the free "ORCA" tool and then using
MSIDIFF to generate the code to perform these changes.
The generated output (typically with minor changes) is then executed via my
free MAKEMSI tool
(you may have made it more generic so parameters are passed into it).
You can also use my PPWIZARD tool to post
process the output if you wish, there is an example in the documentation
which includes the contents of the "InstallUISequence" table in a HTML
document.
DOWNLOAD MSIDIFF v08.233
Download MSIDIFF (207,870 bytes)
from here.
The installer installs documentation which is also available
online.
|
Saturday May 28 2022 at 3:15pm
|
|