serialize app installs on updateAll() to avoid race conditions