When Live Mode is enabled through AppNamePortable.ini
and the media is not truly read-only, the launcher will not start the next time due to it believing that another instance is starting.
The reason is due to the "starting" status being written right in the initialization, but the runtime data file location is moved (to the local disk) later, and the original file is not updated anymore.
In the next start, that file will be read again and, as the status wasn't updated, it will abort.
In other words, this is the perpetual content of the file:
[PortableApps.comLauncher] Status=starting
Possible solutions:
- Give priority to the runtime file in
$PLUGINSDIR
when reading - Setup and copy
$DataDirectory
inInit
- Use mutexes for the starting and stopping events
As this bug affects both 2.1 and tip, I suggest using solution #1 for the former (it will require less testing) and #3 for tip.