Ensure only one choco process runs at a time
Multiple running choco processes could potentially cause issues. Look for other choco.exes running (that are not a shim) and report that it cannot run if those are running.
This will not handle the cases where choco dll is embedded and/or being used in things like BoxStarter and ChocolateyGUI. But it should limit most issues.
This could also have some effect on Puppet, so be sure this is tested with that.
Coming out of prior discussions, most recently #679.
You should be able to run multiple choco processes, as long as only one of them is making changes.
The downsides of choco list -lo and choco outdated providing possibly outdated information (as an install may be completing/race conditions) are outweighed by the usefulness of being able to list approximately what is installed.
For example, because Homebrew manages its state in a decentralized way, it's perfectly safe to brew install and brew list simultaneously. It's actually possible to install multiple packages simultaneously in Homebrew if their missing dependencies don't overlap (though there's probably no advantage to do so).
@alexchandel we've recently added some enhancements to 0.10.1 to allow multiple operations to occur without messing up pending installs.