The formatting of the log is hopeless.
Needs at least appropriate blank lines and indenting to indicate the
"nesting" of the operation and the replacement of cryptic
numbers.
A log file should be reasonably readable by just about
anyone.
In some error situations the MSI log contains some
cryptic info but no identification of the package, this
should always be logged under all circumstances, currently it
is actually never done, its just that if you look hard
enough you can generally find enough so you can work it out..
There should at least be a policy option to tell
Windows Installer to put all its logs into a single
directory or possibly directory tree (for all users).
Better yet if this directory was compressed. And some
sort of limit could be set with older files being deleted.
The fact that you have no control over the log file name is
not very nice, some sort of template based specification would be nice.
Anything is better than "MSI.LOG".
At the very least the format could be (at least where possible)
"Msi - - .LOG".
An MSI should be able to indicate that it wants to log via
a property.
It would be nice if it could do so "on the fly".
If someone sets a policy to log MSI installs I think a
reasonable argument can be made that they'd expect to see
logs for all installer activity.
This is currently not the case.
An MSIEXEC.EXE command line can for example turn on or
alter logging.
The person setting the policy should not need to know or
care about this log, it should be a secondary log
(and not replace any existing one).
Condition Evaluation needs logging, the initial condition should be
listed as should the "resolved" condition (0 = 0 etc) and finally the result.