-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Error installing multiple packages in parallel using COM API #4587
Comments
Correct me if I'm wrong, but isn’t this a limitation of MSI installers in general, where only one operation can be performed at a time anyways? Even with exe installers, although they can run at the same time if they attempt to access the same resource, there could be issues. To me it seems that best practice for any automated installation is to only allow a single thread to process an install at any given time |
We already take care of that in the COM server, doing the things that we can in parallel (downloads) and serializing the parts that we must (installs [except of MSIX, because it takes care of that]). @AmelBawa-msft was able to capture a TTT for me and I determined that it was an issue in winget caused by a lack of thread safety around our opening of the tracking catalog (really, around the winget-cli/src/AppInstallerRepositoryCore/RepositorySource.cpp Lines 986 to 989 in 015f0e9
|
Brief description of your issue
From Dev Home, when calling the COM API during installation from multiple threads running in parallel, often an exception occurs for one of the calls.
Dev Home logs
AppInstaller logs
Steps to reproduce
From Dev Home, attempt to install:
Expected behavior
Ability to call the API from multiple threads
Actual behavior
At least one call will throw an exception (logs above)
Environment
The text was updated successfully, but these errors were encountered: