https://bugs.winehq.org/show_bug.cgi?id=37924
--- Comment #3 from Hans Leidekker hans@meelstraat.net --- Thanks. It calls MsiProvideComponentA with mixed up arguments:
trace:msi:MsiProvideComponentA "{90120000-0070-0000-0000-4000000FF1CE}", "{17961602-C4E2-482E-800A-DF6E627549CF}", "ProductFiles", fffffffe, 0x33dd40, 0x33dc2c
"ProductFiles" is not a valid component identifier. It's a feature name and "{17961602-C4E2-482E-800A-DF6E627549CF}" is a valid component identifier, so the second and third arguments are swapped.
This will fail on Windows too. It proceeds to call MsiReinstallFeatureA which succeeds, no signs of a rollback in that trace.