[Bug 13995] Microsoft .NET Framework 1.1 Service Pack 1 fails to install (crash)

wine-bugs at winehq.org wine-bugs at winehq.org
Thu Jun 19 18:26:17 CDT 2008


http://bugs.winehq.org/show_bug.cgi?id=13995


Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |focht at gmx.net




--- Comment #2 from Anastasius Focht <focht at 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.



More information about the wine-bugs mailing list