Mr Angus Johnson reported some issue's he spotted on the dlls, I have tried to prepare some fixes. 1- Adding a root dir without trailing slash TZipBuilder added a slash before passing it to the dll Following fix does add the slash in the dll in DllMain.c in function: long ZipDllExec2( ZCL2 *C, struct Globals *pG ) After statement lstrcpy( pG->OrigCurrentDir, C->fFDS[ k ].fRootDir ); file://added R.Aelbrecht to allow rootdir spec without trailing slash. if(*(pG->OrigCurrentDir + strlen(pG->OrigCurrentDir) - 1) != '\\') lstrcat(pG->OrigCurrentDir, "\\"); 2- if file names are stored in OEM format the dll did not delete them: This required some more In Zipfile.c /*Added R. Aelbrecht for OEM2ISO conversion*/ #define cpAUTO 0 #define cpISO 1 #define cpOEM 2 #define FS_FAT_ 0 /* filesystem used by MS-DOS, OS/2, Win32 */ #define FS_HPFS_ 6 /* filesystem used by OS/2, NT */ #define FS_NTFS_ 11 /* filesystem used by Windows NT */ In function: int readzipfile( struct Globals *pG ) // added R. Aelbrecht for OEM2ISO conversion char hostnum; char hostver; After statement zipwarn( "names in local and central differ for ", z->zname ); return AfterError2( f, ZEN_FORM08 ); } /*added R. Aelbrecht to allow delete with OEM2ISO conversion */ /*we check if name is from OEM char set convert if needed*/ hostnum = (b + CENVEM)[1]; hostver = (b + CENVEM)[0]; if ( pG->WantedCodePage == cpAUTO && (hostnum == FS_FAT_ || hostnum == FS_HPFS_ || (hostnum == FS_NTFS_ && hostver == 50)) || pG->WantedCodePage == cpOEM ) OemToCharBuff(z->zname, z->zname, strlen(z->zname)); /* end add */ in function : zipcopy( struct zlist *z, FILE *x, FILE *y, struct Globals *pG ) // added R. Aelbrecht for OEM2ISO conversion int hostnum; int hostver; After statement /* copy the compressed data and the extended local header if there is one */ if ( z->lflg & 8 ) n += 16; pG->tempzn += n; /*added R. Aelbrecht to allow delete with OEM2ISO conversion */ /*check if original was made with OEM charset reconvert name if it was*/ hostnum = (z->vem & 0xFF00) >> 8; hostver = z->vem & 0xFF;; if ( pG->WantedCodePage == cpAUTO && (hostnum == FS_FAT_ || hostnum == FS_HPFS_ || (hostnum == FS_NTFS_ && hostver == 50)) || pG->WantedCodePage == cpOEM ) CharToOemBuff(z->zname, z->zname, strlen(z->zname)); /* end add*/ These changes are not tested yet in the Beta dll's I will try to do that as soon as possible and inform you of the results HTH Regards, -- Roger Aelbrecht http://web.wanadoo.be/driehoeksw