I use idp.iss module (FindModule function) to check, if the files to replace are currently in use. It uses IssProc.dll library.
Some of users notify the error "Cannot Import dll [...] IssProc.dll"
The solution is described in the article (dll should be loaded with a delay):
So I added clause delayload:
[Code]
function IssFindModule(hWnd: Integer; Modulename: PAnsiChar; Language: PAnsiChar; Silent: Boolean; CanIgnore: Boolean ): Integer;
external 'IssFindModule@files:IssProc.dll stdcall delayload';
But after this change another group of users notify the error:
Runtime error (at 141:625).
Could not call proc.
How do you check, if the programs (.exe and .dll) are in use?
Do you use another solutions?
Maybe I should call or load it another way?