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

Node.js package versions with Switches field are all broken #4360

Closed
saschanaz opened this issue Oct 21, 2020 · 8 comments
Closed

Node.js package versions with Switches field are all broken #4360

saschanaz opened this issue Oct 21, 2020 · 8 comments
Labels
Blocking-Issue Manifest validation is blocked by a known issue. Issue-Bug It either shouldn't be doing this or needs an investigation.
Milestone

Comments

@saschanaz
Copy link
Contributor

Brief description of your issue

For example, installing Node.js 14.14 throws:

> winget install Node.js -v 14.14.0
Found Node.js [OpenJS.NodeJS]
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.
Downloading https://nodejs.org/dist/v14.14.0/node-v14.14.0-x64.msi
  ██████████████████████████████  29.1 MB / 29.1 MB
Successfully verified installer hash
Starting package install...
Installer failed with exit code: 1603
Installer log is available at: C:\Users\Kagami\AppData\Local\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\TempState\WinGet\OpenJS.NodeJS.14.14.0.log

... while installing 14.12 is okay:

> winget install Node.js -v 14.12.0
Found Node.js [OpenJS.NodeJS]
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.
Downloading https://nodejs.org/dist/v14.12.0/node-v14.12.0-x64.msi
  ██████████████████████████████  29.1 MB / 29.1 MB
Successfully verified installer hash
Starting package install...
Successfully installed

Steps to reproduce

  • winget install Node.js -v 14.14.0

Expected behavior

It should succeed

Actual behavior

Installer failed with exit code: 1603

Environment

> winget --info
Windows Package Manager v0.2.2521 Preview
Copyright (c) Microsoft Corporation. All rights reserved.

Windows: Windows.Desktop v10.0.19042.572
Package: Microsoft.DesktopAppInstaller v1.11.2521.0

Links
--------------------------------------------------------
Privacy Statement   https://aka.ms/winget-privacy
License Agreement   https://aka.ms/winget-license
Third Party Notices https://aka.ms/winget-3rdPartyNotice
Homepage            https://aka.ms/winget

Pinging contributors who add Switches: @jedieaston @ItzLevvie

@ghost ghost added the Needs: Triage label Oct 21, 2020
@jedieaston
Copy link
Contributor

I'm happy to fix the manifests, but I'm unable to reproduce this...

> winget install Node.js -v 14.14.0                                             
Found Node.js [OpenJS.NodeJS]
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.
Downloading https://nodejs.org/dist/v14.14.0/node-v14.14.0-x64.msi
  ██████████████████████████████  29.1 MB / 29.1 MB
Successfully verified installer hash
Starting package install...
Successfully installed

> winget --info
Windows Package Manager v0.2.2521 Preview
Copyright (c) Microsoft Corporation. All rights reserved.

Windows: Windows.Desktop v10.0.19041.572
Package: Microsoft.DesktopAppInstaller v1.11.2521.0

Links
--------------------------------------------------------
Privacy Statement   https://aka.ms/winget-privacy
License Agreement   https://aka.ms/winget-license
Third Party Notices https://aka.ms/winget-3rdPartyNotice
Homepage            https://aka.ms/winget

Can you post the log file that WinGet gave you the path for? That may help track down the discrepancy.

@saschanaz
Copy link
Contributor Author

saschanaz commented Oct 21, 2020

Did you run the terminal app with admin privilege? Because doing so makes it succeed. I guess /q suppresses UAC popup to make it fail by default.

MSI (s) (E4:40) [18:54:21:143]: Product: Node.js -- Error 1730. You must be an Administrator to remove this application. To remove this application, you can log on as an Administrator, or contact your technical support group for assistance.

Error 1730. You must be an Administrator to remove this application. To remove this application, you can log on as an Administrator, or contact your technical support group for assistance.

@jedieaston
Copy link
Contributor

Yes, I did. Now that I think about it, Node didn’t install on my host without running PowerShell as admin, so that must be what it is.

Looks like the resolution to this is being tracked in microsoft/winget-cli#152, since when that attribute is added this can be fixed in a more user friendly way.

@saschanaz
Copy link
Contributor Author

Yes, that would be great! Can we remove /q until winget adds that feature? I don't think failing by default is a good user experience 🤔

jedieaston added a commit to jedieaston/winget-pkgs that referenced this issue Oct 21, 2020
jedieaston added a commit to jedieaston/winget-pkgs that referenced this issue Oct 21, 2020
jedieaston added a commit to jedieaston/winget-pkgs that referenced this issue Oct 21, 2020
jedieaston added a commit to jedieaston/winget-pkgs that referenced this issue Oct 21, 2020
jedieaston added a commit to jedieaston/winget-pkgs that referenced this issue Oct 21, 2020
jedieaston added a commit to jedieaston/winget-pkgs that referenced this issue Oct 21, 2020
jedieaston added a commit to jedieaston/winget-pkgs that referenced this issue Oct 21, 2020
@jedieaston
Copy link
Contributor

Alright, I've fixed this for all of the affected LTS and normal (i.e. not nightly) builds. Once they are merged you should be good to go.

@jedieaston jedieaston mentioned this issue Oct 21, 2020
4 tasks
@KevinLaMS
Copy link
Contributor

Just to be clear. The removal of the /Q will not change the behavior. By default we will do MSI silently. So we are stuck with the 1603 when not run in a non-administrative prompt.

@saschanaz
Copy link
Contributor Author

saschanaz commented Oct 21, 2020

Just to be clear. The removal of the /Q will not change the behavior. By default we will do MSI silently. So we are stuck with the 1603 when not run in a non-administrative prompt.

Could you explain why 14.12.0 is not getting the silent behavior then? Sounds like it should be silent but it's not. Making it non-silent is the sole reason why I didn't include /q there.

Or do you mean the future versions of winget?

@denelon denelon added Blocking-Issue Manifest validation is blocked by a known issue. Issue-Bug It either shouldn't be doing this or needs an investigation. and removed Needs: Triage labels Oct 22, 2020
@saschanaz
Copy link
Contributor Author

saschanaz commented Oct 23, 2020

15.0.1 installs without any problem, thank you @jedieaston! (Oops actually it's @ItzLevvie, thank you too 👍)

@ItzLevvie ItzLevvie mentioned this issue Nov 6, 2020
4 tasks
@denelon denelon added this to the 1.7 Packages milestone Nov 1, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Blocking-Issue Manifest validation is blocked by a known issue. Issue-Bug It either shouldn't be doing this or needs an investigation.
Projects
None yet
Development

No branches or pull requests

4 participants