http://bugs.winehq.org/show_bug.cgi?id=19337
--- Comment #2 from Eric Youngdale toonces282002@yahoo.com 2009-07-15 20:36:18 --- Created an attachment (id=22398) --> (http://bugs.winehq.org/attachment.cgi?id=22398) Testcase to demostrate problem..
I am enclosing a testcase which demonstrates the problem. Essentially it just dumps the contents of a couple of tables - the SQL for each has a condition on it of some sort.
To run, simply run "msidump <msifile>" where you pick some msi file that you happen to have lying around. The theory is that the output of the program should be identical if you are running on windows and under Wine if you are using the same msi file.
On real Windows, I see it able to dump information from the Component, InstallExecuteSequence, CustomAction and Media tables. But because of the problem I noted where strings can only be compared for equality, the MsiDatabaseOpenView call fails for the Dialog and ControlEvent tables.
On ReactOS (using Wine dlls), the CustomAction, Media and Dialog tables are dumped. There is no output for the Component and InstallExecuteSequence tables for reasons that are unknown. The call to MsiDatabaseOpenView call for the ControlEvent table fails here in the same way as under real windows.
If you want me to upload a compiled binary of this testcase, I can do that too..