microsoft / winget-create

The Windows Package Manager Manifest Creator command-line tool (aka wingetcreate)
MIT License
503 stars 85 forks source link

Installer hash created by wingetcreate produces "does not match" error in winget #279

Closed Jaifroid closed 2 years ago

Jaifroid commented 2 years ago

Brief description of your issue

When I run the wingetcreate command below, and then test the manifest with winget install, I get "Installer hash does not match". I note that there are several closed issues from 2021 relating to this issue that are marked as fixed, but the issue is persisting, therefore it is not fixed.

Steps to reproduce

It is possible this can only be reproduced if you have previously created a manifest with an earlier version of the same file, with a different hash. Therefore, on a clean system, these steps may not repro the issue. However, this is how I experience the failure:

wingetcreate.exe update -i Kiwix.KiwixJS -v 2.0.9.0 -u https://github.com/kiwix/kiwix-js-windows/releases/download/v2.0.9/KiwixWebApp_2.0.9.0_AnyCPU.appxbundle Then test with:

winget install -m .\manifests\k\Kiwix\KiwixJS\2.0.9.0

Outcome, for me, is an install error "Installer hash does not match".

Expected behavior

I expect a manifest created by wingetcreate from a URL to have the correct hash values.

Actual behavior

Hash values are incorrect.

Environment

Windows: Windows.Desktop v10.0.22621.169
System Architecture: X64
Package: Microsoft.DesktopAppInstaller v1.18.1391.0
Jaifroid commented 2 years ago

Further information: deleting all the contents of C:\Windows\Temp does not correct this issue.

Jaifroid commented 2 years ago

I discovered I had an old version of wingetcreate installed on this system. I assumed the script autoupdated along with winget, but clearly not. With the latest version of the script, the issue is solved.