Don't let cabinet Extract() crash IE
Mike Hearn
mike at theoretic.com
Fri Jan 2 10:28:54 CST 2004
Hi Stefan,
The attached patch is necessary for IE installer to work again. It seems
the magic value is not always correct: advpack derefs this value so it
probably points to a struct. I'll try and find out what it contains when
using the native DLL (if anything).
It seems to be optional, making it 0 allows IE to continue.
Index: dlls/cabinet/cabinet_main.c
===================================================================
RCS file: /home/wine/wine/dlls/cabinet/cabinet_main.c,v
retrieving revision 1.3
diff -u -r1.3 cabinet_main.c
--- dlls/cabinet/cabinet_main.c 30 Dec 2003 21:55:52 -0000 1.3
+++ dlls/cabinet/cabinet_main.c 2 Jan 2004 16:21:26 -0000
@@ -125,9 +125,10 @@
* DXDDEX.CAB, DXMINI.CAB, SWFLASH.CAB on win2k
* but it crashes the ie5.5 installer :-( . The native dll does not return
* the four zeros. The value depends on the combination of the cab file and
- * the destination path
+ * the destination path. It appears to be a pointer to an optional return struct.
+ * The IE6 installer derefs this value + 4. Contents currently unknown.
*/
- dest->result2=0x130000;
+ dest->result2 = 0;
LocalFree(dir);
More information about the wine-patches
mailing list