Hello,

I found a work around for my problem related to NSIS / ZipDLL.

I rebuild the ZipDLL plugin and changed the OpenFile method: I force the use of 
SH_DENYNO.
I still don't know why this is happening, but I am digging ...

int ZipPlatform::OpenFile(LPCTSTR lpszFileName, UINT iMode, int iShareMode)
{
        switch (iShareMode)
        {
        case (CZipFile::shareDenyWrite & CZipFile::shareDenyRead):
                iShareMode = SH_DENYRW;
                break;
        case (CZipFile::shareDenyRead):
                iShareMode = SH_DENYRD;
                break;
        case (CZipFile::shareDenyWrite):
                iShareMode = SH_DENYWR;
                break;
        default:
                iShareMode = SH_DENYNO;
        }
        //YC: return  _tsopen(lpszFileName, iMode, iShareMode, S_IREAD | 
S_IWRITE /*required only when O_CREAT mode*/);
        return  _tsopen(lpszFileName, iMode, SH_DENYNO, S_IREAD | S_IWRITE 
/*required only when O_CREAT mode*/);
}

Best regards,

YC
--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to