Skip to content
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

2316632087 (0x8A150017) Error when using winget install #2808

Closed
KK-Designs opened this issue Dec 30, 2022 · 5 comments
Closed

2316632087 (0x8A150017) Error when using winget install #2808

KK-Designs opened this issue Dec 30, 2022 · 5 comments
Milestone

Comments

@KK-Designs
Copy link
Contributor

I am getting the error code on exit, 2316632087 (0x8A150017), which translates to APPINSTALLER_CLI_ERROR_NO_MANIFEST_FOUND when running the command winget install --id=Discord.Discord -v "1.0.9004" -e --accept-package-agreements --accept-source-agreements in nodejs. Running it in a UI shell seems to work fine.

My code:

const cmd = require('child_process').spawn;
const cmdStream = cmd('winget', ['install', `--id=Discord.Discord`, '-v', `"1.0.9004"`, '-e', '--accept-package-agreements', '--accept-source-agreements']);
const updateAppData = [];
let updatePrep = false;
let updateMsg = true;

cmdStream.stdout.on('data', (data) => {
	data = data.toString();
	console.log(data);
});

cmdStream.stderr.on('data', (data) => {
	console.log('stderr: ' + data.toString());
});

cmdStream.on('exit', async (code) => {
	console.log('child process exited with code ' + code.toString());
});

Why does this happen?

@ghost ghost added the Needs-Triage Issue need to be triaged label Dec 30, 2022
@R-Adrian
Copy link

is this on Windows 10? using TLS 1.3?
if so, can you please try using TLS 1.2 instead of letting the script to auto-select TLS 1.3 ?

note: there's a pinned issue about the error with 0 kb manifest files #2718

@KK-Designs
Copy link
Contributor Author

is this on Windows 10? Using TLS 1.3? Please try using TLS 1.2 instead of letting the script auto-select TLS 1.3.

note: there's a pinned issue about the error with 0 kb manifest files #2718

I am on windows 11; I do not know how to check my current TLS version. Could you tell me how?

@stephengillie
Copy link

Which version of Node.js is in use?

Could you append --verbose-logs to your command and run again?

Winget logs can be found here, or at the location from winget --info:

%LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\DiagOutputDir

@R-Adrian
Copy link

R-Adrian commented Dec 30, 2022

I am on windows 11; I do not know how to check my current TLS version. Could you tell me how?

If you have not modified them since installation then Win11 will default to have support for v1.3 enabled.
Windows 10 does not have v1.3 (has just experimental support, not enabled by default).

https://learn.microsoft.com/en-us/windows/win32/secauthn/tls-cipher-suites-in-windows-11

This can be configured in a few places: (wiki with pictures on MS Technet below)
https://social.technet.microsoft.com/wiki/contents/articles/54255.troubleshooting-turn-on-tls-1-0-tls-1-1-and-tls-1-2-in-advanced-settings.aspx
note: that article is a bit old but is still valid, just do not touch other versions of TLS and especially make sure not to modify anything for TLS 1.2 just for v1.3.

TL;DR locations summary:
a) system-wide in the registry under
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.3\Client]
-needs a reboot after changing settings here
-it is OK for this configuration key to be missing - it just means that the OS uses default settings (same for other subkeys under the Protocols)

b) for each user account individually by using the Advanced section of the Internet Options control panel, (start->run->inetcpl.cpl)

@KK-Designs
Copy link
Contributor Author

I have found and fixed my issue. When I checked the logs it said that the version could not be found, and that's because the command that was getting executed from my code sent the version as ""1.0.9004"" which double-double quotes. Removing the extra quotes worked.

Code:

const cmd = require('child_process').spawn;
const cmdStream = cmd('winget', ['install', `--id=Discord.Discord`, '-v', `1.0.9004`, '-e', '--accept-package-agreements', '--accept-source-agreements']);
const updateAppData = [];
let updatePrep = false;
let updateMsg = true;

cmdStream.stdout.on('data', (data) => {
	data = data.toString();
	console.log(data);
});

cmdStream.stderr.on('data', (data) => {
	console.log('stderr: ' + data.toString());
});

cmdStream.on('exit', async (code) => {
	console.log('child process exited with code ' + code.toString());
});

@ghost ghost removed the Needs-Triage Issue need to be triaged label Dec 31, 2022
@denelon denelon added this to the v1.5-Client milestone Feb 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants