FW: RE: My 1.0 wish list

EA Durbin ead1234 at hotmail.com
Sat Jun 3 10:52:13 CDT 2006

I have compiled a list of applications that are affected by the bug in which 
the query in ready_media_for_file() in MSI returns the wrong results, it 
returns LastSequence less than the  file->Sequence being passed.

Here is a detailed analysis of the multiple types of errors this bugs 

Common debug outputs of this bug are:

Error #1:

err:msi:ACTION_InstallFiles compressed file wasn't extracted

This error is usually caused by the results of the query returning a 
LastSequence number of Less than that of the working install media and the 
installer is trying to extract the file from the wrong install medium.

Error #2:

err:msi:extract_cabinet_file FDICopy failed
err:msi:ACTION_InstallFiles Unable to ready media

There is a zero in LastSequence Value of the Media table and the query in 
ready_media_for_file() returns it. For some reason the msi file has a zero 
in the LastSequence but its really a dummy cabinet file and doesn't exist. 
The file sequence being passed for the first file is most likely 1, and the 
query of >= 1 is returning 0 falsely causing this error.

This problem in MSI spans a multitude of bugs.

America's Army - bug #5139
J2SE - bug # 4280
Half Life 2 - bug # 5004, 4533
Dawn of War Demo - bug # 3749
E-Sword 6.5 - bug # 4251
Rush for Berlin demo - bug #5187
ATI demo(Rendering With Natural Light ) - bug # 4712?

There are probably other bugs resulting from this, but the log doesn't 
detail it well enough, alot of them just have the debug dump at the end and 
not the pertainent msi err lines. I only included applications where it was 
obvious from the log, or I tested personally.

>From: Mike McCormack <mike at codeweavers.com>
>To: EA Durbin <ead1234 at hotmail.com>
>Subject: Re: FW: RE: My 1.0 wish list
>Date: Sun, 04 Jun 2006 00:30:41 +0900
>You can send me as many mails as you like, but I'm not doing anything until 
>there's a test case showing the problem.

I wrote a test showing the results of the query in the wine installer and 
included the source code and resulting logs which clearly displays the 
problem. That's the best I can do. I'm not up to snuff on my C programming, 
nor am I familiary with how the official test case for wine is supposed to 
be layed out. If someone else wants to work on it then thats fine, but I 
layed out the problem, and debugged it, and I've proven this with code and 
resulting logs. This problem affects a multitude of applications in wine. If 
your not willing to work on it then either someone else can, or it can 
remain broken.

More information about the wine-devel mailing list