When a db is transacted, we need to call `Commit` to actually save the changes, but tests show this is not how msi works, so I changed `MsiGetSummaryInformationW` to open the db directly instead.
Your test shows that this is not how it works for a database that is opened by MsiGetSummaryInformationW(). The case where a transacted database handle is passed may work correctly but your tests don't cover that. Maybe you could add a test for that and update the commit message to reflect this nuance?