In COM there exists the call "DllCanUnloadNow" which can return true if nothing is going on in GpgEX.
This call can be triggered by a call to CoFreeUnusedLibraries which afaik can be triggered through a WindowMessage claiming that the system is in a low memory state.
This could allow updating GpgEX while the windows explorer is still running.