-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
[Package Issue]: Gyan.FFmpeg is still broken, as are many other command line tools #120360
Comments
I believe this might be the main Issue for this issue: |
Did you install the package from an admin shell or user shell? Do you have developer mode enabled in Windows or not? Is this an installation of ffmpeg from a previous version of WinGet? You may want to uninstall and reinstall the package. There was an issue with uninstalls of portable packages with WinGet 1.5, so I would suggest following the steps here #95349 (comment) |
Hello @chexo3, It seems that your input is required to address the reported issue. Template: msftbot/needsAuthorFeedback |
User shell. AFAIK dev mode is not enabled. I have uninstalled and reinstalled multiple times. A previous broken uninstall required manual registry editing to fix. The package’s file were gone, but it was still listed as installed. So I had to delete a registry key so it wouldn’t be. I’ve checked my path, the folder it adds to it doesn’t contain any executables, which is why I believe the package itself is broken. |
Can confirm the install fails from a user shell. reinstall from admin shell works, but still installs the files to the user local app settings folder. Also I noticed that the user shell installs don't create the link in the "Links" folder but admin shell installs do. |
Tried upgrading to gyan.ffmpeg v6.1 but both install and uninstall keep hanging. I tried to run them as admin but it doesn't make a difference. |
@mstevens83 I've been trying to fix this all week, and after digging through the logs I got it working on my system. Uninstall was failing because the package was never properly installed in "\AppData\Local\Microsoft\WinGet\Packages", and running the installer with the --force flag was hanging immediately after extracting all the data and setting the package data values. Based on this, I assumed this was, like many weird bugs where Windows hangs in circles, a case of bad registry values triggering a weird loop. I went into the Windows Registry, navigated to "Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Uninstall" and deleted the entry associated with ffmpeg. Ran winget install ffmeg, immediately installed and is working perfectly. I think it goes without saying that hanging without an error message isn't great, having to go into the Windows registry to fix the error isn't great, and the fact that there isn't a --repair flag I can pass when things seem to be in an invalid state to revalidate and repair isn't great either. |
Thanks a lot for digging into this @pikcube! Your solutions work for me. Also, I 100% agree with all the "not great" points raised. |
run |
In Gyan's manifest (https://github.com/microsoft/winget-pkgs/blob/master/manifests/g/Gyan/FFmpeg/6.1/Gyan.FFmpeg.installer.yaml): NestedInstallerFiles:
- RelativeFilePath: ffmpeg-6.1-full_build\bin\ffmpeg.exe
PortableCommandAlias: ffmpeg
- RelativeFilePath: ffmpeg-6.1-full_build\bin\ffplay.exe
PortableCommandAlias: ffplay
- RelativeFilePath: ffmpeg-6.1-full_build\bin\ffprobe.exe
PortableCommandAlias: ffprobe It seems that these configurations just call the winget interface. And it also shows that alias is added every time it is installed. So this may be a problem with winget. |
Winget appears to install this, but then seems to immediately forget that it happened. You can install it over and over again. yt-dlp and probably other dependent packages are broken as a result. Edit: Running winget as admin does NOT help with this, so it's not a #95349 regression. |
Can confirm this problem is still present as of now. |
Today's update installed fine for me. |
Running PowerShell as Admin: > winget install -e --id yt-dlg.yt-dlg
Found yt-dlg [yt-dlg.yt-dlg] Version 1.8.5
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://github.com/oleksis/youtube-dl-gui/releases/download/v1.8.5/yt-dlg-20230224.1.msi
██████████████████████████████ 15.2 MB / 15.2 MB
Successfully verified installer hash
Starting package install...
Successfully installed PowerShell can't find the executable of the program that was just installed, maybe because it doesn't get added to the path. Has anyone found a workaround until this issue gets fixed? |
yt-dlg seems to be a gui app with an MSI installer, so by default winget isn't going to modify the path variable to make the executable accessible (since an MSI should set up the environment for the app to run all by itself). If you are looking for the command line version, you probably want |
Hello all! I am unsubscribing from this thread because I no longer use Windows. That's right, this has been an issue so long I have since switched to Linux for unrelated reasons. Anyways, leaving this for y'all to use to discuss. |
# Generated via "komac show --installer-manifest Gyan.FFmpeg"
PackageIdentifier: Gyan.FFmpeg
PackageVersion: '7.1'
InstallerType: zip
NestedInstallerType: portable
NestedInstallerFiles:
- RelativeFilePath: ffmpeg-7.1-full_build\bin\ffmpeg.exe
PortableCommandAlias: ffmpeg
- RelativeFilePath: ffmpeg-7.1-full_build\bin\ffplay.exe
PortableCommandAlias: ffplay
- RelativeFilePath: ffmpeg-7.1-full_build\bin\ffprobe.exe
PortableCommandAlias: ffprobe
UpgradeBehavior: uninstallPrevious
ReleaseDate: 2024-09-30
Installers:
- Architecture: x64
InstallerUrl: https://github.com/GyanD/codexffmpeg/releases/download/7.1/ffmpeg-7.1-full_build.zip
InstallerSha256: FA074A46B7BB862E37AA27CCD0522D22A1FE90AEC3A950C8E0C0C8622E0A03D1
ManifestType: installer
ManifestVersion: 1.6.0
|
Please confirm these before moving forward
Category of the issue
Installation issue.
Brief description of your issue
This issue has been present for months and still has not been fixed.
Gyan.FFmpeg
and several other similar packages (command line tools mostly, I've experienced this witharia2
,rclone
, andnano
) are not functioning because the directory added to the path is the root directory of the package in%LOCALAPPDATA%\Microsoft\WinGet\Packages\<package>
instead of the bin directory/executable or a shortcut to such. For packages where the executable(s) are already in the root directory of the package this works of course (such asyt-dlp
) but all the others I've mentioned have this issue.Steps to reproduce
ffmpeg
Actual behavior
Windows Command Prompt can't find the executable of the program that was just installed. I believe this is because the path is set incorrectly for these packages.
Expected behavior
The package command runs, producing the usual output for that program.
Environment
Screenshots and Logs
The text was updated successfully, but these errors were encountered: