Archive: problem with replace dlls


problem with replace dlls
I have a problem with replace dlls

The code is here

SetOutPath "$INSTDIR\Integrations\Res\Email"
SetOverwrite ifnewer
File /nonfatal /r "..\EmailClientIntegration\Core\Release\res\*.*"

there are 2 dlls need to replace
one is in $INSTDIR\Integrations\Res\Email\de\CoreRes.dll
one is in $INSTDIR\Integrations\Res\Email\en\CoreRes.dll

I can replace $INSTDIR\Integrations\Res\Email\de\CoreRes.dll by newer version, but I got error "error opening file for writing:"
when I replace $INSTDIR\Integrations\Res\Email\en\CoreRes.dll the system is english.

Anyone knew what's wrong on this problem. the dll are not running at all.

Jack


That error shows if the file can't be opened for writing and the overwrite mode requires it to be opened. That usually means the DLL is in use by some other application. You can use the Library macros to update the DLL with replace after reboot option, or you can find out which application uses that DLL and quit it. Try Process Explorer to find out which application is using that DLL.


Thanks

I forgot unregistering the dll before replacing it.

Jack