http://bugs.winehq.org/show_bug.cgi?id=58415
Bug ID: 58415 Summary: Wine msiexec behaviour deviates from MS msiexec for tables missing from .msi Product: Wine Version: 10.0 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: msi Assignee: wine-bugs@winehq.org Reporter: depaoli.renzo@gmail.com Distribution: ---
While investigating a problematic .msi file, I noticed the following:
The .msi file in its InstallExecuteSequence calls functions that depend on tables in the msi. However these tables do not exit.
Examples found: "LaunchConditions", but no "LaunchCondition Table" "IsolateComponents", but no "IsolatedComponent Table" "PublishComponents/UnpublishComponents", but no "PublishComponent Table" "RegisterMIMEInfo/UnregisterMIMEInfo", but no "MIME table" "RegisterTypeLibraries/UnregisterTypeLibraries", but no "TypeLib table" "RegisterComPlus/UnregisterComPlus", but no "Complus table"
When MS msiexec processes the .msi, it reports "Return value 0" in these cases. However when Wine msiexec does the same, it reports "Return value 1" instead.
When modifying the .msi with the Orca MSI editor adding the missing tables (left empty), then MS msiexec reports "Return value 1", and Wine msiexec does the same.
So there is a mismatch between the two implementations; I would conclude that Wine msiexec is missing a check for missing tables.
Whether there are problems resulting from this difference in behaviour I cannot say, but it is at least not making investigations of .msi-issues any easier.