Archive: $PLUGINSDIR not removed but empty


$PLUGINSDIR not removed but empty
Hello,

Using setups created using UltraModernUI I noticed the plugin directory was not removed at the end of the installation.
UltraModernUI only copies bmp files used to customize the look of the setup, no dll is used at runtime.
When I exit the setup, bmp files are removed, therefore the directory is empty, but is not removed.
To me it looks like NSIS couldn't delete the folder because windows, at the time it wanted to delete the folder, hadn't finish deleting the bmp. But i can be wrong.

Is there any known issue with UltraModerUI (it works (= it fails to remove the directory)) with the basic.nsi example of this "plugin") ?
Is there any known syncronisation issue with the deletion of ressources in $PLUGINSDIR ?

I tried with an empty script initializing the pluginsdir without using it, it is deleted as expected.


Do you have any SetOutPath $PLUGINSDIR instruction in the installer? That will prevent the directory from being removed. You should do a SetOutPath to any other location before exiting the installer.


Thank you it worked.

I customized UltraModernUI so as to be able to define my custom .onGuiEnd function (since the plugin catches it already) and in my callback i change SetOutPath to $INSTDIR before leaving.

The only SetOutPat $PLUGINSDIR i do is followed by a SetOutPat $INSTDIR, therefore the problem seemed to come from UltraModernUI (as i mentioned earlier it can be reproduced using UMI samples).