In general, we are trying to follow this rule.
However, some scripts does not repect it. Could you tell us what script is concerned by your request?
Sorry for the delay.
Actually, I think all the scripts I tested first create the virtual drive, I suppose this can apply to many of the scripts.
Among those I have tested:
- Dead Island
I also found that the manual installation, create the virtual drive before asking the executable and also the example of firefox in the documentation.
I do not have the expertise you have with playonlinux, but from my perspective I see two ways to implement this. First, by modifying the installation scripts so that the drive will create after, or secondly, by modifying playonlinux so that operations of creation and setup of the drive are queuing to be applied just before the execution of the installer.
Also I modify the firefox script to see the difference, but when I select the local installation, it doesn't take into consideration the desired version of wine :-/
Here the modified script
It would be difficult and inefficient to fix at PlayOnLinux level, because at each place that needs to access some prefix content, a test would have to be inserted to check if it's there or otherwise create it. And if its the script itself that tries to access the prefix, it will fail for a reason difficult to explain.
The issue with your script is that you're calling POL_Wine_PrefixCreate only in "download" case. Check your code indentation, I'm almost sure you'll see it too.
(and by the way I follow this rule in all my GOG.com scripts).