http://bugs.winehq.org/show_bug.cgi?id=4533
------- Additional Comments From ead1234@hotmail.com 2006-25-05 20:32 ------- ------- Additional Comment #5 From neftune@gmail.com 2006-05-02 00:34 -------
Created an attachment (id=2379) --> (http://bugs.winehq.org/attachment.cgi?id=2379&action=view) MSIDIFF dump of America's Army.msi (zipped)
I used MSIDIFF to decompile "America's Army.msi" and "accessor.cab" is only mentioned in the .msi file one time. There is a row in the media table with these values:
DiskId="22" LastSequence="0" DiskPrompt="" Cabinet="accessor.cab" VolumeLabel="" Source=""
The problem lies within the way wine is installing things currently. It reads every file from the file table in MSI and then queries the Media table to ready the media it installs from, order by LastSequence. It should read from the Media table first and ready the media with the sort order by DiskId and then try to install the files in order by sequence from the file table. LastSequence of 0 as in the case of Americas Army is currently faking the installer into thinking accessor.cab is the first entry on the media table. In reality it falls in DiskId 22. It should be skipped as if read by order of DiskId It would check to see if LastSequence of 0 in disk 22 was greater than the LastSequence of DiskId 21, which it is not. This is what is for sure what is causing these cabinet errors.