Archive: asynchronous task in nsis


asynchronous task in nsis
What I am trying to do is essentially run a function in my nsis script and return from it, leaving it to run until I complete some other tasks in the installer or the installer closes. Presently the only way I have been able to make this work is to create a child installer that checks for a mutex created by the parent installer. As long as that mutex exists the child installer will continue to do its thing. Once the parent installer closes it will see that the mutex no longer exists and close itself. I have a feeling that this may require a plugin. Any help would be greatly appreciated. It would be a cool feature if instead of calling "Function XXXX" I could call something like "aFunction XXXX" and the installer woul know to run this function on a separate thread. The nsis code could then know that when it gets this call to handle async functions to destroy the thread when the installer closes (which by default happens when any parent application closes I believe) or close the thread on the completeion of the function call/return.


NSIS uses a single thread. You can't run multiple commands a the same time.


Do you think its possible to extend the function handling of nsis to support the aFunction idea above?


It would not be easy to make NSIS completely multi-threaded.