Hi all, honour the VNLP_COPYIFEXISTS flag when doing a copy operation instead of always refusing to copy in case of existing destination file. Needed for some IE install. -- Andreas Mohr Stauferstr. 6, D-71272 Renningen, Germany
Determining best CVS host... Using CVSROOT :pserver:cvs@rhlx01.fht-esslingen.de:/home/wine Index: dlls/setupapi/setupx16.h =================================================================== RCS file: /home/wine/wine/dlls/setupapi/setupx16.h,v retrieving revision 1.10 diff -u -r1.10 setupx16.h --- dlls/setupapi/setupx16.h 31 May 2002 23:25:51 -0000 1.10 +++ dlls/setupapi/setupx16.h 20 Jul 2002 15:27:54 -0000 @@ -360,6 +360,20 @@ typedef int (CALLBACK *VCPENUMPROC)(LPVIRTNODE lpvn, LPARAM lparamRef); RETERR16 WINAPI VcpOpen16(VIFPROC vifproc, LPARAM lparamMsgRef); + +/* VcpQueueCopy flags */ +#define VNLP_SYSCRITICAL 0x0001 +#define VNLP_SETUPCRITICAL 0x0002 +#define VNLP_NOVERCHECK 0x0004 +#define VNLP_FORCETEMP 0x0008 +#define VNLP_IFEXISTS 0x0010 +#define VNLP_KEEPNEWER 0x0020 +#define VNLP_PATCHIFEXIST 0x0040 +#define VNLP_NOPATCH 0x0080 +#define VNLP_CATALOGCERT 0x0100 +#define VNLP_NEEDCERTIFY 0x0200 +#define VNLP_COPYIFEXISTS 0x0400 + RETERR16 WINAPI VcpQueueCopy16( LPCSTR lpszSrcFileName, LPCSTR lpszDstFileName, LPCSTR lpszSrcDir, LPCSTR lpszDstDir, Index: dlls/setupapi/virtcopy.c =================================================================== RCS file: /home/wine/wine/dlls/setupapi/virtcopy.c,v retrieving revision 1.11 diff -u -r1.11 virtcopy.c --- dlls/setupapi/virtcopy.c 31 May 2002 23:25:51 -0000 1.11 +++ dlls/setupapi/virtcopy.c 20 Jul 2002 15:27:54 -0000 @@ -467,7 +467,8 @@ /* FIXME: need to do the file copy in small chunks for notifications */ TRACE("copying '%s' to '%s'\n", fn_src, fn_dst); /* perform the file copy */ - if (!(CopyFileA(fn_src, fn_dst, TRUE))) + if (!(CopyFileA(fn_src, fn_dst, + (lpvn->fl & VNLP_COPYIFEXISTS) ? FALSE : TRUE ))) { ERR("error copying, src: %s -> dst: %s\n", fn_src, fn_dst); res = ERR_VCP_IOFAIL;