Archive: File synchronous operation?


File synchronous operation?
I'm calling system plugin on a DLL that is extracted in the temp folder and I'm suspecting that the system call is happening before the DLL is fully extracted. Is it possible? Isn't File a synchronous operation?

- G


no, that is not possible (well, it is possible, full disk etc, but you would notice)

your system::call is probably wrong, post the function declartion and the system code that calls it


I don't think is wrong how I call it because it works on my box, but from the result I get from other users I'm suspecting that the DLL is not getting unpacked in time or there is something wrong with the DLL itself.

Anyhow, here is the function declaration:
BOOL func(BOOL flag, DWORD *dwValue);

In the NSIS code I have:
...
InitPluginsDir
...
System::Call "$PLUGINSDIR\MyDLL::func(i r0, *i .r1 ) i.r2 ? u"
...

- G


if it works on your system, but not others, I'm guessing they are missing CRT.


Yeah, I was thinking that, but unfortunately it'is not the case :-(

The Dependency Walker shows:

c:\windows\system32\VERSION.DLL
c:\windows\system32\KERNEL32.DLL
c:\windows\system32\USER32.DLL
c:\windows\system32\ADVAPI32.DLL
c:\windows\system32\OLE32.DLL

These DLLs should be available in any system right?


you could always use the md5 plugin to hash the thing to put your mind at easy and start looking at your system::call syntax again