Guess what! I've gotten the episode 3 patch to work on wine. My solution though, requires you to extract you to extract the .msi file from the TSL-EP3Patch.exe manually rather than letting the executable do all the work. I first tried using cabextract but found that doesn't work, so I opened TSL-EP3Patch in hexedit in order to figure out where the .msi file starts in the binary code. I was then able to use dd to extract it. My method to install the patch on wine goes as follows:
1. First create an empty folder in your home directory, you can call it anything you like, and then copy the downloaded TSL-EP3Patch.exe file into it.
Note : This folder is just a place to work in, it must not be put in the wine directories.
2. Open a terminal an cd into that newly created folder.
3. Use dd to extract the .msi file. Code:
dd if=TSL-EP3Patch.exe of=TSL-EP3Patch.msi bs=2 skip=233242573
4. You'll notice that the previous step created a new file called TSL-EP3Patch.msi. However, before running this file, you first need to run the TSL-EP3Patch.exe file normally in order to update the game files. When the installer finishes, copy the file data.tsl, as well as the directory "data", from the directory where the game is installed to your current directory. You'll see why you need to do this in the next step. Code:
wine TSL-EP3Patch.exe
cp -r ~/.wine/drive_c/Program\ Files/Phoenix\ Online/The\ Silver\ Lining/game/data ./
cp ~/.wine/drive_c/Program\ Files/Phoenix\ Online/The\ Silver\ Lining/game/data.tsl ./
5. Now run TSL-EP3Patch.msi with the /p option but make sure to point it to The Silver Lining directory. Code:
msiexec /p TSL-EP3Patch.msi /qb c:\Program Files\Phoenix Online\The Silver Lining
Although this adds the files that were not added by TSL-EP3Patch.exe due to the msiexec error, I also found that it removes the patched data.tsl file as well as the extra files added to the "data" directory. If you copied those files into the current directory, like I suggested in the previous step, then this won't be a problem as you can just move them back. Code:
cp -r ./data ~/.wine/drive_c/Program\ Files/Phoenix\ Online/The\ Silver\ Lining/game/
mv ./data.tsl ~/.wine/drive_c/Program\ Files/Phoenix\ Online/The\ Silver\ Lining/game/
I did this in wine implemented in Mac OS X Snow Leopard. Now Episode 3 works perfectly for me.