http://bugs.winehq.org/show_bug.cgi?id=20477
--- Comment #6 from Vincent Povirk madewokherd@gmail.com 2009-10-26 18:01:27 --- msi_load_string_table is apparently failing. It looks like msi doesn't handle that case correctly and crashes (it shouldn't), but of course that's not the main problem. Most likely it's not finding either "_StringPool" or "_StringData" in the file.
It should be easy enough to dump the tree from a storage file, and that will tell us whether the tree is truly broken, or whether the search fails for some other reason.
Even if that tree is valid, I should probably also write a test case for my original change. It was a bit reckless not to do that when I knew MS's implementation might be able to (and therefore might need to) read files with an invalid tree.