http://bugs.winehq.org/show_bug.cgi?id=4533
------- Additional Comments From mcitadel@gmail.com 2006-07-08 11:58 ------- Created an attachment (id=3194) --> (http://bugs.winehq.org/attachment.cgi?id=3194&action=view) WINEDEBUG="+relay" test log file
This is a +relay test I did running the setup for Nexus: The Jupiter Incident. One thing to note is this:
000d:Call kernel32.CreateFileA(0033820c "Data11.cab",80000000,00000005,00000000,00000003,00000000,00000000) ret=7edaaa28
These lines will continue in a loop once the error occurs. The very first cab file the setup will extract will show the same two lines except that the full path of the cab file will be used like so;
000d:Call kernel32.CreateFileA(0034f4b8 "Z:\full\path\to\Data1.cab",80000000,00000005,00000000,00000003,00000000,00000000) ret=7edaaa28
I think this could be part of the problem. This would explain why placing every cab file the installer needed in the same directory and running the setup in that same directory will work. Since you would be in the directory with all cab files, "Data11.cab" and so on would always be found. This is also true for Half-Life 2 and other games that contain multiple cab files and install discs.
There's still the issue of games/software with cab files in multiple directories or install discs. Even if the full path to each cab file is spelled out, cab files on other discs would never be found since the discs they reside in are not mounted.