http://bugs.winehq.org/show_bug.cgi?id=5139
------- Additional Comments From ead1234@hotmail.com 2006-26-05 17:25 ------- As Jason Spiro shows with the verbose log of how windows actually installs americas army it does the following
his quote "Notice that MSI did a ChangeMedia to accessor.cab then did *nothing whatsoever* then did another ChangeMedia to Sounds.cab and started extracting it."
Disk1.cab = diskId 1 animatns.cab = diskId 2 Briefing.cab = diskId 3
sfvideos.cab = diskId 21 accessor.cab = diskId 22 Sounds.cab = diskId 23
If you upload the full log you will see that the log doesn't start at accessor.cab, it probably is preceded with sfvideos.cab which is diskId 21, then it goes to diskId 22, which is our accessor.cab, when it does the changeMedia to diskId 22 it then does the following ( if LastSequence of diskId is less than that of the LastSequence of previous diskId then go to next diskId ), which is why it appears to "do nothing whatsoever". It then increments DiskId to 23 and starts working with Sounds.cab.
Wine just sequentially goes through the list of files and then tries to work with the media on a per file basis, which is why it starts with accessor.cab.
I'm not really up to snuff with my C programming, but if you want to help rewrite the code Jason Spiro, it should query the media table, order by DiskId and check the last sequence against the previous diskId.
enlighten me and upload the full msiexec verbose log from how windows actually installs it, and I bet it starts with Disk1.cab and works its way up the list.