MSI files.c patch

EA Durbin ead1234 at hotmail.com
Thu May 25 18:11:13 CDT 2006


This patch corrects the sort Order on the media table to use DiskId rather 
than LastSequence in ready_media_for_file().

Currently the installer is querying in order by LastSequence. According to 
MSDN the sort order should be DiskId. Theoretically LastSequence should work 
as  a sort order unless you hit an exception where the LastSequence is 0 and 
not the first entry in the media table, such as in a higher disk id numbered 
media and is supposed to be skipped as the installer checks to see if the 
sequence is greater than the last lastsequence and greater than zero for the 
first entry in the media table. The installer will currently crash when this 
is encountered.

If the installer works the way it should, it should read the first entry in 
the media table by the DiskId sort order. Then when it hits an entry with 
zero as the last sequence in a higher numbered DiskId it should skip it.

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/setup/media_table.asp

Columns

DiskId
    Determines the sort order for the table. This number must be equal to or 
greater than 1.
LastSequence
    File sequence number for the last file for this media. The numbers in 
the LastSequence column specify which of the files in the File table are 
found on a particular source disk. Each source disk contains all files with 
sequence numbers (as shown in the Sequence column of the File table) less 
than or equal to the value in the LastSequence column, and greater than the 
LastSequence value of the previous disk (or greater than 0, for the first 
entry in the Media table).

-------------- next part --------------
A non-text attachment was scrubbed...
Name: msipatch.diff
Type: text/x-patch
Size: 745 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-patches/attachments/20060525/6a5e24c2/msipatch.diff


More information about the wine-patches mailing list