http://bugs.winehq.org/show_bug.cgi?id=13995 Anastasius Focht <focht(a)gmx.net> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |focht(a)gmx.net --- Comment #2 from Anastasius Focht <focht(a)gmx.net> 2008-06-19 18:26:15 --- Hello, --- quote --- ------- Comment #1 From James Hawkins 2008-06-19 13:08:01 [reply] ------- Has absolutely nothing to do with msi...the crash is in kernel32. If you're not certain which component a bug belongs to, please set it to -unknown. --- quote --- Actually the bug reporter's guess was correct ;-) The main installer is a .NET executable (managed code) which ships it's own set of managed msi/windows installer wrappers. While trying to extract temporary patch files (msp) from resources it fails. Managed wrapper code calls wine msi MsiOpenDatabase() with an open flags value which msi doesn't handle yet. --- snip --- err:msi:MSI_OpenDatabaseW unknown flag 0x24 --- snip --- This causes managed and unmanaged exceptions later. Actually, this M$ blog entry sheds some light on this topic: http://blogs.msdn.com/heaths/archive/2006/03/31/566288.aspx 0x24 = MSIDBOPEN_PATCHFILE + MSIDBOPEN_CREATEDIRECT #define MSIDBOPEN_PATCHFILE 32/sizeof(*MSIDBOPEN_READONLY) When you create the patch db in MSI_OpenDatabaseW, you need to take some considerations into account. The installer will insert (resource) streams into newly created (temporary) db. The streams which are added to "_Storages" table come from .cab file which is an embedded resource in executable. The "_Storages" and "_Streams" tables need to be present. This explains some stuff: http://blogs.msdn.com/heaths/archive/2005/09/01/459561.aspx (What's in a Patch) http://blogs.msdn.com/heaths/archive/2006/02/14/532200.aspx (Extract Files from Patches) This info should help you to create a valid patch db. Regards -- Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email Do not reply to this email, post in Bugzilla using the above URL to reply. ------- You are receiving this mail because: ------- You are watching all bug changes.