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.
http://bugs.winehq.org/show_bug.cgi?id=58415
Ken Sharp imwellcushtymelike@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |Installer
--- Comment #1 from Ken Sharp imwellcushtymelike@gmail.com --- Is the installer you were testing available to download?
http://bugs.winehq.org/show_bug.cgi?id=58415
Renzo de Paoli depaoli.renzo@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |depaoli.renzo@gmail.com
--- Comment #2 from Renzo de Paoli depaoli.renzo@gmail.com --- Created attachment 78836 --> http://bugs.winehq.org/attachment.cgi?id=78836 Test case "SimpleInstall" for illustration
Two simple .msi files, both call IsolateComponents, but one has the corresponding table, while the other does not.
Logfiles are included based on CLI use: Wine 10.0 msiexec /i SimpleInstall_IsolateComponent_woTable.msi /qb /L*X woTableLogWine.txt msiexec /i SimpleInstall_IsolateComponent_wTable.msi /qb /L*X wTableLogWine.txt
Win10 msiexec /i SimpleInstall_IsolateComponent_woTable.msi /qb /L*X woTableLogWin.txt msiexec /i SimpleInstall_IsolateComponent_wTable.msi /qb /L*X wTableLogWin.txt
http://bugs.winehq.org/show_bug.cgi?id=58415
--- Comment #3 from Renzo de Paoli depaoli.renzo@gmail.com --- (In reply to Ken Sharp from comment #1)
Is the installer you were testing available to download?
Good morning Ken.
The installer in question is part of Solidworks 2020 SP5 (swwi/data/solidworks.msi, ~50MiB). AFAIK, there is no publicly available download other than registering for a trial.
However, I created "SimpleInstalls" that should illustrate the case based on the IsolatedComponent function and table.
I included the log files I got when running them under Win10 and Wine.
I hope this helps.
http://bugs.winehq.org/show_bug.cgi?id=58415
Ken Sharp imwellcushtymelike@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, testcase
--- Comment #4 from Ken Sharp imwellcushtymelike@gmail.com --- That's great. Thank you.
The only other thing to test is the latest version of Wine (currently 10.10) to make sure it hasn't already been fixed. https://gitlab.winehq.org/wine/wine/-/wikis/Download