mkevenaar / chocolatey-packages

My chocolatey packages
https://mkevenaar.github.io/chocolatey-packages/
Apache License 2.0
42 stars 71 forks source link

microsoft-windows-terminal missing dependency on the Visual C++ Desktop Universal Runtime Package #124

Open rgl opened 2 years ago

rgl commented 2 years ago

Expected Behavior

I expected to install the windows terminal without having the windows store installed.

Current Behavior

The package installation fails as:

Installing the following packages:
microsoft-windows-terminal
By installing, you accept licenses for the packages.

microsoft-windows-terminal v1.12.10732.0 [Approved]
microsoft-windows-terminal package files install completed. Performing other installation steps.
ERROR: The running command stopped because the preference variable "ErrorActionPreference" or common parameter is set to Stop: Deployment failed with HRESULT: 0x80073D19, An error occurred because a user was logged off.

Windows cannot install package Microsoft.WindowsTerminal_1.12.10732.0_x64__8wekyb3d8bbwe because this package depends on a framework that could not be found. Provide the framework "Microsoft.VCLibs.140.00.UWPDesktop" published by "CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US", with neutral or x64 processor architecture and minimum version 14.0.30035.0, along with this package to install. The frameworks with name "Microsoft.VCLibs.140.00.UWPDesktop" currently installed are
Windows cannot install package Microsoft.WindowsTerminal_1.12.10732.0_x64__8wekyb3d8bbwe because this package depends on a framework that could not be found. Provide the framework "Microsoft.VCLibs.140.00.UWPDesktop" published by "CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US", with neutral or x64 processor architecture and minimum version 14.0.30035.0, along with this package to install. The frameworks with name "Microsoft.VCLibs.140.00.UWPDesktop" currently installed are: {}

NOTE: For additional information, look for [ActivityId] ff43154a-41ff-0000-38b4-43ffff41d801 in the Event Log or use the command line Get-AppPackageLog -ActivityID ff43154a-41ff-0000-38b4-43ffff41d801

The install of microsoft-windows-terminal was NOT successful.
Error while running 'C:\ProgramData\chocolatey\lib\microsoft-windows-terminal\tools\chocolateyInstall.ps1'.
 See log for details.

Chocolatey installed 0/1 packages. 1 packages failed.
 See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).

Possible Solution

As described in the Windows Terminal Release page:

In addition, if you install the packaged version on either Windows 10 or Windows 11, it now depends on the Visual C++ Universal Runtime Package.

So this chocolatey package is missing that dependency.

After I've manually installed it with:

# install the Visual C++ Desktop Universal Runtime Package dependency.
# see https://docs.microsoft.com/en-us/troubleshoot/developer/visualstudio/cpp/libraries/c-runtime-packages-desktop-bridge?msclkid=3e1dd82aac8b11ec8f9dbd86d5979ca8#how-to-install-and-update-desktop-framework-packages
# see https://github.com/microsoft/terminal/releases/tag/v1.12.10732.0
$archiveUrl = 'https://download.microsoft.com/download/4/7/c/47c6134b-d61f-4024-83bd-b9c9ea951c25/14.0.30035.0-Desktop/Microsoft.VCLibs.x64.14.00.Desktop.appx'
$archiveName = Split-Path -Leaf $archiveUrl
$archivePath = "$env:TEMP\$archiveName"
(New-Object System.Net.WebClient).DownloadFile($archiveUrl, $archivePath)
Add-AppxPackage $archivePath
Remove-Item $archivePath

I can now install the chocolatey package.

# install the Windows Terminal.
choco install -y microsoft-windows-terminal --version 1.12.10732.0

Steps to Reproduce (for bugs)

  1. choco install -y microsoft-windows-terminal --version 1.12.10732.0

Your Environment

Zheng-Li01 commented 2 years ago

Also met the issue on my side, and actually which working well in last week.

Error Message Windows cannot install package Microsoft.WindowsTerminal_1.12.10732.0_x648wekyb3d8bbwe because this package depends on a framework that could not be found. Provide the framework "Microsoft.VCLibs.140.00.UWPDesktop" published by "CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US", with neutral or x64 processor architecture and minimum version 14.0.30035.0, along with this package to install. The frameworks with name "Microsoft.VCLibs.140.00.UWPDesktop" currently installed are: {Microsoft.VCLibs.140.00.UWPDesktop_14.0.29231.0_x648wekyb3d8bbwe}

stale[bot] commented 2 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

mkevenaar commented 2 years ago

Sorry, just seeing this issue now. I will look if I can add the correct dependency

OliverLeighC commented 2 years ago

Any updates on this? We are running into this issue as well

macOneOone commented 2 years ago

Any update?

ddienibra commented 2 years ago

this alternative solution... install this two packages: https://aka.ms/Microsoft.VCLibs.x64.14.00.Desktop.appx https://aka.ms/Microsoft.VCLibs.x86.14.00.Desktop.appx

kfsone commented 1 year ago

Holy frustration. Working on DSC configurations, span up four VMs from the same media iso, minimal install, the first one was able to go thru and install terminal, but the other 3 were missing DesktopUWP140. Those machines have winget, so I tried using that, but I think winget has been googled (discontinued) or something, and dsc doesn't seem able to install winget packages for specific users (0x80070520 ftl).

I get not wanting dependency bloat, but you can't install the package without the dependency so either make it not a dependency or provide it.

roysubs commented 1 year ago

I get these errors also in Windows Sandbox. This is not dependency bloat. In fact, almost every UWP app requires VClibs or similar, so for completeness, those dependencies should be checked on and installed (if required) for every chocolatey UWP package.

If it serves as impetus to get chocolatey packages updated on this (and if it helps @kfsone and others with your frustration that this doesn't work), I would note that the scoop package manager gracefully installs all dependencies cleanly and efficiently so adding these dependencies is definitely doable if they can do it (and hopefully chocolatey will be able to do the same very soon also). Note: I would also suggest that you do scoop install winget if you need winget on those systems that you mention, as scoop will install everything required to get winget running also.

C:\> scoop bucket add extras
C:\> scoop install windows-terminal

Installing 'windows-terminal' (1.15.2874.0) [64bit] from extras bucket
Microsoft.WindowsTerminal_Win10_1.15.2874.0_8wekyb3d8bbwe.msixbundle (36.8 MB) [==============================] 100%
Checking hash of Microsoft.WindowsTerminal_Win10_1.15.2874.0_8wekyb3d8bbwe.msixbundle ... ok.
Extracting dl.7z ... done.
Running pre_install script...
Running installer script...
Linking ~\scoop\apps\windows-terminal\current => ~\scoop\apps\windows-terminal\1.15.2874.0
Creating shim for 'WindowsTerminal'.
Creating shim for 'wt'.
Creating shortcut for Windows Terminal (WindowsTerminal.exe)
Running post_install script...
'windows-terminal' (1.15.2874.0) was installed successfully!
Notes
-----
Add Windows Terminal as a context menu option by running `reg import
"C:\Users\WDAGUtilityAccount\scoop\apps\windows-terminal\current\install-context.reg"`
'windows-terminal' suggests installing 'extras/vcredist2022'.
Jamess-Lucass commented 1 year ago

I have run into the same error as well on a fresh Windows 10 Pro install (Version 10.0.19044 Build 19044)

PS C:\> choco install microsoft-windows-terminal -y --force
Chocolatey v1.2.1
Installing the following packages:
microsoft-windows-terminal
By installing, you accept licenses for the packages.
microsoft-windows-terminal v1.15.2874.0 already installed. Forcing reinstall of version '1.15.2874.0'.
 Please use upgrade if you meant to upgrade to a new version.
Progress: Downloading microsoft-windows-terminal 1.15.2874.0... 100%

microsoft-windows-terminal v1.15.2874.0 (forced) [Approved]
microsoft-windows-terminal package files install completed. Performing other installation steps.
Progress: 0% - Processing                                                                                                                                                                        ERROR: The running command stopped because the preference variable "ErrorActionPreference" or common parameter is set to Stop: Deployment failed with HRESULT: 0x80073CF3, Package failed updates, dependency or conflict validation.

Windows cannot install package Microsoft.WindowsTerminal_1.15.2874.0_x64__8wekyb3d8bbwe because this package depends on a framework that could not be found. Provide the framework "Microsoft.VCLibs.140.00.UWPDesktop" published by "CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US", with neutral or x64 processor architecture and minimum version 14.0.30035.0, along with this package to install. The frameworks with name "Microsoft.VCLibs.140.00.UWPDesktop" currently installed are:
Windows cannot install package Microsoft.WindowsTerminal_1.15.2874.0_x64__8wekyb3d8bbwe because this package depends on a framework that could not be found. Provide the framework "Microsoft.VCLibs.140.00.UWPDesktop" published by "CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US", with neutral or x64 processor architecture and minimum version 14.0.30035.0, along with this package to install. The frameworks with name "Microsoft.VCLibs.140.00.UWPDesktop" currently installed are: {Microsoft.VCLibs.140.00.UWPDesktop_14.0.27629.0_x64__8wekyb3d8bbwe}

NOTE: For additional information, look for [ActivityId] 80870b45-f768-0000-79dd-a2c9c30dd901 in the Event Log or use the command line Get-AppPackageLog -ActivityID 80870b45-f768-0000-79dd-a2c9c30dd901

The install of microsoft-windows-terminal was NOT successful.
Error while running 'C:\ProgramData\chocoportable\lib\microsoft-windows-terminal\tools\chocolateyInstall.ps1'.
 See log for details.

Chocolatey installed 0/1 packages. 1 packages failed.
 See the log for details (C:\ProgramData\chocoportable\logs\chocolatey.log).

Failures
 - microsoft-windows-terminal (exited -1) - Error while running 'C:\ProgramData\chocoportable\lib\microsoft-windows-terminal\tools\chocolateyInstall.ps1'.
 See log for details.
Eoin-ONeill-Yokai commented 1 year ago

Yeah, doesn't work for me as well.

Chocolatey v2.1.0
Installing the following packages:
microsoft-windows-terminal
By installing, you accept licenses for the packages.
Progress: Downloading microsoft-windows-terminal 1.17.11461.0... 100%

microsoft-windows-terminal v1.17.11461 [Approved]
microsoft-windows-terminal package files install completed. Performing other installation steps.
The package microsoft-windows-terminal wants to run 'chocolateyInstall.ps1'.
Note: If you don't run this script, the installation will fail.
Note: To confirm automatically next time, use '-y' or consider:
choco feature enable -n allowGlobalConfirmation
Do you want to run the script?([Y]es/[A]ll - yes to all/[N]o/[P]rint): A

ERROR: A Prerequisite for an install could not be satisfied.

The install of microsoft-windows-terminal was NOT successful.
Error while running 'C:\ProgramData\chocolatey\lib\microsoft-windows-terminal\tools\chocolateyInstall.ps1'.
 See log for details.

Chocolatey installed 0/1 packages. 1 packages failed.
 See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).

Failures
 - microsoft-windows-terminal (exited -1) - Error while running 'C:\ProgramData\chocolatey\lib\microsoft-windows-terminal\tools\chocolateyInstall.ps1'.