microsoft / winget-pkgs

The Microsoft community Windows Package Manager manifest repository
MIT License
8.69k stars 4.53k forks source link

ImageMagick.ImageMagick 7.1.1.4 manifest points to non-existent installer #100790

Closed sba923 closed 1 year ago

sba923 commented 1 year ago

Please confirm these before moving forward

Category of the issue

Other

Brief description of your issue

ImageMagic 7.1.1.3 cannot be upgraded to 7.1.1.4 because the installer's URL points to an non-existent file.

Steps to reproduce

On a system with ImageMagick 7.1.1.3 system, attempt to upgrade via winget upgrade --id ImageMagick.ImageMagick

Actual behavior

Upgrading 'ImageMagick 7.1.1-3 Q16-HDRI (64-bit) (2023-03-11)' (Id='ImageMagick.ImageMagick') from version 7.1.1.3 to version 7.1.1.4 via 'winget upgrade --id ImageMagick.ImageMagick'
Found ImageMagick [ImageMagick.ImageMagick] Version 7.1.1.4
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://imagemagick.org/archive/binaries/ImageMagick-7.1.1-4-Q16-HDRI-x64-dll.exe
An unexpected error occurred while executing the command:
Download request status is not success.
0x80190194 : Not found (404).
winget exit code: 0x80190194

Expected behavior

System should be upgraded to ImageMagic 7.1.1.4

Environment

Windows Package Manager v1.4.10173
Copyright (c) Microsoft Corporation. All rights reserved.

Windows: Windows.Desktop v10.0.19045.2728
System Architecture: X64
Package: Microsoft.DesktopAppInstaller v1.19.10173.0

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

User Settings: %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\settings.json

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
Windows Store Terms https://www.microsoft.com/en-us/storedocs/terms-of-sale

Screenshots and Logs

No response

BrandonWanHuanSheng commented 1 year ago

The file could be moved on somewhere.

BrandonWanHuanSheng commented 1 year ago

I will try to search back the app

BrandonWanHuanSheng commented 1 year ago

It was changed to 7.11.5

BrandonWanHuanSheng commented 1 year ago

Responding to wget. It is not found. https://imagemagick.org/archive/binaries/ImageMagick-7.1.1-4-Q16-HDRI-x64-dll.exe Most likely, it changed the version

sba923 commented 1 year ago

@denelon shouldn't there be some kind of bot that periodically (daily?) verifies all published manifests for the actual availability of the installers they point to, and (say) email the package owner if they don't? Sorry if that was already raised a zillion times... elsewhere...

BrandonWanHuanSheng commented 1 year ago

But I showed it which is 7.1.1.5 https://imagemagick.org/archive/binaries/ImageMagick-7.1.1-5-Q16-HDRI-x64-dll.exe. It cause my one of the application need to restart by the new installer.

sba923 commented 1 year ago

But I showed it which is 7.1.1.5 https://imagemagick.org/archive/binaries/ImageMagick-7.1.1-5-Q16-HDRI-x64-dll.exe

can you please clarify what you're trying to say?

Here's what winget show --verbose ImageMagick.ImageMagick outputs (even after winget source update):

Found ImageMagick [ImageMagick.ImageMagick]
Version: 7.1.1.4
Publisher: ImageMagick Studio LLC
Publisher Url: https://github.com/ImageMagick/ImageMagick
Publisher Support Url: https://github.com/ImageMagick/ImageMagick/issues
Author: ImageMagick Studio LLC
Description: Use ImageMagick to create, edit, compose, or convert digital images.
Homepage: https://imagemagick.org
License: Apache-2.0 Derivative
License Url: https://imagemagick.org/script/license.php
Copyright: Copyright (c) 1999 ImageMagick Studio LLC
Copyright Url: https://imagemagick.org/script/license.php
Tags:
  bitmap
  colors
  convert
  distort
  draw
  effects
  flip
  images
  mirror
  resize
  rotate
  shear
Installer:
  Installer Type: inno
  Installer Url: https://imagemagick.org/archive/binaries/ImageMagick-7.1.1-4-Q16-HDRI-x64-dll.exe
  Installer SHA256: ce3cd1f4cdebe0f36db31bd786f98dd26cb96b938ed1a190fd84d0dc421de9ab

That URL doesn't exist (anymore).

denelon commented 1 year ago

@sba923 no worries. I do tend to need to update multiple issues with the same information. You never know what search term a user is going to use, and what page they are going to land on.

We do a daily scan on packages looking for URLs that are no longer available or when the installer at the other end no longer matches the hash. If we can, we generate a new manifest with the updated version to run through validation to fix. If it's a 404, then we give a few days in the event it's a CDN issue, and only after consistently failing, do we begin the process of removing manifests. When we get to the "last" version of a package and it isn't available, we create an issue for the community to be aware in case the URL / installer moved somewhere we couldn't programmatically detect.

BrandonWanHuanSheng commented 1 year ago

When I opened the new browser, "https://imagemagick.org/script/download.php" It look like it was changed the version. The newer link can be found in https://imagemagick.org/script/download.php. The URL moved it to the new location. "wingetcreate update --urls "https://imagemagick.org/archive/binaries/ImageMagick-7.1.1-5-Q16-HDRI-x64-dll.exe" "https://imagemagick.org/archive/binaries/ImageMagick-7.1.1-5-Q16-HDRI-x86-dll.exe" "https://imagemagick.org/archive/binaries/ImageMagick-7.1.1-5-Q16-HDRI-arm64-dll.exe" -v "7.1.1.5" "ImageMagick.ImageMagick" Run succeed without any error. It supposed to be 7.1.1.5

BrandonWanHuanSheng commented 1 year ago

I suddenly get a error ppm while during installing ImageMagick. This is not a winget issue.

sba923 commented 1 year ago

I suddenly get a error ppm while during installing ImageMagick. This is not a winget issue.

What error?

Are you saying you can't install with https://imagemagick.org/archive/binaries/ImageMagick-7.1.1-5-Q16-HDRI-x86-dll.exe? If so, then yes, that's not a winget issue.

But the present issue is about winget using a manifest pointing to a non-existent installer. That's not a winget issue, that's an issue with the manifest.

mdanish-kh commented 1 year ago

The issue will be resolved once https://github.com/microsoft/winget-pkgs/pull/100800 gets merged.

sba923 commented 1 year ago

Update OK this morning, thanks for the fix.

 Upgrading 'ImageMagick 7.1.1-3 Q16-HDRI (64-bit) (2023-03-11)' (Id='ImageMagick.ImageMagick') from version 7.1.1.3 to version 7.1.1.5 via 'winget upgrade --id ImageMagick.ImageMagick'
Found ImageMagick [ImageMagick.ImageMagick] Version 7.1.1.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://imagemagick.org/archive/binaries/ImageMagick-7.1.1-5-Q16-HDRI-x64-dll.exe
  ██████████████████████████████  37.0 MB / 37.0 MB
Successfully verified installer hash
Starting package install...
Successfully installed
winget exit code: 0x00000000
BrandonWanHuanSheng commented 1 year ago

I think winget will not enable all the ImageMagick feature of the app. Sometimes perMagick is missing. The dependent of perl package manager is missing. Setup will automatically detect if there is on your computer. You can find it on winget. Their PackageIdentifer on winget is "StrawberryPerl.StrawberryPerl" That ImageMagick called that one as a ppm. Their website is https://strawberryperl.com

sba923 commented 1 year ago

winget will just invoke the installer with the command line options specified in the manifest. If you feel those are incorrect (resulting e.g. in missing features) then you should ask for the manifest to be altered -- via an issue in this repo.

@denelon do you concur?

BrandonWanHuanSheng commented 1 year ago

First install ImageMagick from the winget is enable 2 features only. Screenshot (113) I run the ImageMagick installer by myself. Start upgrading from 7.1.1-1 to 7.1.1-4, I enabled 5 more optional feature. I continue upgrading to the 7.1.1-5 If you want to install 5 additional feature, you need to re-run the ImageMagick setup. I sometimes very easily to delete the installer. I also don't want to rerun the setup again. The winget command is valid.

denelon commented 1 year ago

@sba923 in general, the manifest should have "default" values, and users should use "--override" or "--custom" to pass arguments to the installer. Otherwise, users can run winget install <package> --interactive to go through the interactive install process.

sba923 commented 1 year ago

@sba923 in general, the manifest should have "default" values, and users should use "--override" or "--custom" to pass arguments to the installer. Otherwise, users can run winget install <package> --interactive to go through the interactive install process.

I support this rationale. And if "enough" users complain about the "default" values, then this should be tracked via an issue, correct?

Thanks for the --interactive tip.

denelon commented 1 year ago

@sba923 yes, you are correct. 😊