Open Jaifroid opened 2 years ago
Can you post the log file from the attempt? Maybe there's an exception happening that isn't showing up on the console for some reason.
(winget --info
to see where your logs are)
Here's the log. I can't see any error in it...
I ran it with --verbose-logs
, the relevant last lines:
2022-03-01 10:58:21.223 [CLI ] Installer hash verified
2022-03-01 10:58:21.432 [CORE] Starting StagePackageAsync operation #1: https://github.com/kiwix/kiwix-js-windows/releases/download/v1.9.2-WikiMed/KiwixWebAppWikiMed_1.9.2.0_AnyCPU.appxbundle
2022-03-01 10:58:21.433 [CORE] Begin waiting for operation #1
2022-03-01 10:58:21.433 [CORE] Begin blocking for operation #1
2022-03-01 10:58:21.436 [CORE] Deployment operation #1: Deployment operation failed.
2022-03-01 10:58:21.436 [FAIL] D:\a\_work\1\s\external\pkg\src\AppInstallerCommonCore\Deployment.cpp(54)\WindowsPackageManager.dll!00007FFCFEC3FD5A: (caller: 00007FFCFEC40ACF) Exception(1) tid(19a0) 80070002 The system cannot find the file specified.
Msg:[Operation failed: Deployment operation failed.]
2022-03-01 10:58:21.436 [CORE] Starting RemovePackage operation #2: Kiwix.WikiMed_1.9.2.0_neutral_~_qwjmsdmcnwx12
2022-03-01 10:58:21.439 [CORE] Begin waiting for operation #2
2022-03-01 10:58:21.440 [CORE] Begin blocking for operation #2
2022-03-01 10:58:21.458 [CORE] Deployment operation #2: Windows cannot remove Kiwix.WikiMed_1.9.2.0_neutral_~_qwjmsdmcnwx12 because the current user does not have that package installed. Use Get-AppxPackage to see the list of packages installed.
2022-03-01 10:58:21.458 [FAIL] D:\a\_work\1\s\external\pkg\src\AppInstallerCommonCore\Deployment.cpp(54)\WindowsPackageManager.dll!00007FFCFEC3FD5A: (caller: 00007FFCFEC41146) Exception(2) tid(19a0) 80073CF1 Package was not found.
Msg:[Operation failed: Windows cannot remove Kiwix.WikiMed_1.9.2.0_neutral_~_qwjmsdmcnwx12 because the current user does not have that package installed. Use Get-AppxPackage to see the list of packages installed.]
2022-03-01 10:58:21.458 [FAIL] D:\a\_work\1\s\external\pkg\src\AppInstallerCommonCore\Deployment.cpp(124)\WindowsPackageManager.dll!00007FFCFED9B8FE: (caller: 00007FFCFEC411E3) LogHr(1) tid(19a0) 80073CF1 Package was not found.
Msg:[D:\a\_work\1\s\external\pkg\src\AppInstallerCommonCore\Deployment.cpp(54)\WindowsPackageManager.dll!00007FFCFEC3FD5A: (caller: 00007FFCFEC41146) Exception(2) tid(19a0) 80073CF1 Package was not found.
Msg:[Operation failed: Windows cannot remove Kiwix.WikiMed_1.9.2.0_neutral_~_qwjmsdmcnwx12 because the current user does not have that package installed. Use Get-AppxPackage to see the list of packages installed.]
]
2022-03-01 10:58:21.596 [CLI ] MSIX installer failed: 2147942402
2022-03-01 10:58:21.596 [CLI ] Terminating context: 0x80070002 at D:\a\_work\1\s\external\pkg\src\AppInstallerCLICore\Workflows\InstallFlow.cpp:162
It's trying to do an upgrade but it can't?
Hmm. That's strange. Let me see if I can reproduce those messages.
OK, I'm not getting those upgrade failures. Mine just seems to proceed normally and then bombs out with no further message at Select installer language:
as if it were asking for user interaction (see log extract below). However, the msix app installer doesn't ask the user for a language. As a check, I tried to install a previous package that worked with winget install -v 1.8.9.0 kiwix.wikimed
. This now exhibits the exact same symptoms. Since that is a known good package, and since both of these packages passed validation (I don't know if they include an installation check), and if the validator is using an older version of winget
, then it would point to a breaking change that has happened recently in winget
.
2022-03-01 16:20:05.435 [YAML] Detected UTF-8
2022-03-01 16:20:05.436 [CLI ] Manifest fields: Name [WikiMed by Kiwix], Version [1.9.2.0]
2022-03-01 16:20:05.437 [CLI ] Locale Comparator created with Required Locales: [] , Preferred Locales: [en-GB, en-AU, es-MX, es-CO, es-ES, el, fr-FR]
2022-03-01 16:20:05.437 [CLI ] Starting installer selection.
2022-03-01 16:20:05.437 [CLI ] Installer [Neutral,msix,Unknown,] is current best choice
2022-03-01 16:20:05.437 [CLI ] Completed installer selection.
2022-03-01 16:20:05.437 [CLI ] Selected installer Architecture: 0
2022-03-01 16:20:05.437 [CLI ] Selected installer URL: https://github.com/kiwix/kiwix-js-windows/releases/download/v1.9.2-WikiMed/KiwixWebAppWikiMed_1.9.2.0_AnyCPU.appxbundle
2022-03-01 16:20:05.437 [CLI ] Selected installer InstallerType: msix
2022-03-01 16:20:05.437 [CLI ] Selected installer Scope: Unknown
2022-03-01 16:20:05.437 [CLI ] Selected installer Language:
This is what I get on the previous version -
C:\Users\WDAGUtilityAccount>winget install kiwix.wikimed --source winget --verbose-logs
Found WikiMed by Kiwix [Kiwix.WikiMed] Version 1.9.2.0
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.
An unexpected error occurred while executing the command:
0x80072eff : unknown error
C:\Users\WDAGUtilityAccount>winget --info
Windows Package Manager v1.1.12653
Copyright (c) Microsoft Corporation. All rights reserved.
Windows: Windows.Desktop v10.0.19041.1526
Package: Microsoft.DesktopAppInstaller v1.16.12653.0
Logs: %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\DiagOutputDir
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
2022-03-01 17:10:08.726 [CLI ] Manifest fields: Name [WikiMed by Kiwix], Version [1.9.2.0]
2022-03-01 17:10:08.727 [CLI ] Locale Comparator created with Required Locales: [] , Preferred Locales: [en-US]
2022-03-01 17:10:08.727 [CLI ] Starting installer selection.
2022-03-01 17:10:08.727 [CLI ] Installer [Neutral,Msix,Unknown,] is current best choice
2022-03-01 17:10:08.727 [CLI ] Completed installer selection.
2022-03-01 17:10:08.727 [CLI ] Selected installer Architecture: 0
2022-03-01 17:10:08.727 [CLI ] Selected installer URL: https://github.com/kiwix/kiwix-js-windows/releases/download/v1.9.2-WikiMed/KiwixWebAppWikiMed_1.9.2.0_AnyCPU.appxbundle
2022-03-01 17:10:08.727 [CLI ] Selected installer InstallerType: Msix
2022-03-01 17:10:08.727 [CLI ] Selected installer Scope: Unknown
2022-03-01 17:10:08.727 [CLI ] Selected installer Language:
2022-03-01 17:11:10.995 [FAIL] AppInstallerCLI.exe!00007FF6D52B0672: LogHr(1) tid(1714) 80072EFF
2022-03-01 17:11:10.997 [FAIL] AppInstallerCLI.exe!00007FF6D52C61F2: ReturnHr(1) tid(1588) 80072EFF Msg:[winrt::hresult_error: The text associated with this error code could not be found.]
2022-03-01 17:11:11.000 [FAIL] D:\a\_work\1\s\external\pkg\src\AppInstallerCommonCore\MsixInfo.cpp(150)\AppInstallerCLI.exe!00007FF6D5175837: (caller: 00007FF6D5125B49) Exception(1) tid(1588) 80072EFF
2022-03-01 17:11:11.000 [CLI ] Caught wil::ResultException: D:\a\_work\1\s\external\pkg\src\AppInstallerCommonCore\MsixInfo.cpp(150)\AppInstallerCLI.exe!00007FF6D5175837: (caller: 00007FF6D5125B49) Exception(1) tid(1588) 80072EFF
Edit: I think it might be an installer type mismatch. Submitted a PR over at pkgs
Thank you for testing. v1.9.2.0
is the current version in fact, but the same errors are happening on the previous version as well (v1.8.9.0)
. Since this definitely used to work, and since everyone who is trying it now is getting errors, it would suggest a problem with winget
. I wonder if it's related to #1981. This is in fact an example of a neutral package.
I've also just tested winget install -v 1.8.4.0 kiwix.wikimed
. Same error. As I'm the developer of this app, and as I've very definitely tested installation of all these past versions at the time they were built, this is looking very much like something is broken with a recent update to winget.
@Trenly Just saw your edit. Are you suggesting that the package manifests need to be changed?
Thank you for testing.
v1.9.2.0
is the current version in fact, but the same errors are happening on the previous version as well (v1.8.9.0)
. Since this definitely used to work, and since everyone who is trying it now is getting errors, it would suggest a problem withwinget
. I wonder if it's related to #1981. This is in fact an example of a neutral package.I've also just tested
winget install -v 1.8.4.0 kiwix.wikimed
. Same error. As I'm the developer of this app, and as I've very definitely tested installation of all these past versions at the time they were built, this is looking very much like something is broken with a recent update to winget.@Trenly Just saw your edit. Are you suggesting that the package manifests need to be changed?
Yes, I think it is a package manifest issue. I changed the InstallerType
to appx and got this result -
Found WikiMed by Kiwix [Kiwix.WikiMed] Version 1.9.2.0
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.
Successfully verified installer hash
Starting package install...
██████████████████████████████ 100%
Successfully installed
OK, interesting, thank you! I wonder why it worked before. The manifests were auto-generated with the manifest publishing tool, so the error could be on that side, or something that has been firmed up recently.
@Trenly I've just seen the multiple PRs on the previous and current versions. Thank you very much for submitting these!
It seems the pipeline isn't liking them though -
2022-03-01 15:35:33.762 [CLI ] WinGet invoked with arguments: 'install' '--manifest' 'D:\TRANSFER\3b34ff1b-b899-ec11-9501-000d3a9ede8b\Manifest.yaml' '--accept-package-agreements'
2022-03-01 15:35:33.762 [CLI ] Found subcommand: install
2022-03-01 15:35:33.762 [CLI ] Leaf command to execute: root:install
2022-03-01 15:35:33.776 [CLI ] Executing command: install
2022-03-01 15:35:33.784 [CLI ] Manifest fields: Name [WikiMed by Kiwix], Version [1.9.2.0]
2022-03-01 15:35:33.787 [CLI ] Starting installer selection.
2022-03-01 15:35:33.788 [CLI ] Completed installer selection.
2022-03-01 15:36:36.722 [FAIL] AppInstallerCLI.exe!00007FF7BBD60672: LogHr(1) tid(1248) 80072EFF
2022-03-01 15:36:36.731 [FAIL] AppInstallerCLI.exe!00007FF7BBD761F2: ReturnHr(1) tid(d10) 80072EFF Msg:[winrt::hresult_error: The text associated with this error code could not be found.]
2022-03-01 15:36:36.761 [FAIL] D:\a\_work\1\s\external\pkg\src\AppInstallerCommonCore\MsixInfo.cpp(150)\AppInstallerCLI.exe!00007FF7BBC25837: (caller: 00007FF7BBBD5B49) Exception(1) tid(d10) 80072EFF
2022-03-01 15:36:36.762 [CLI ] Caught wil::ResultException: D:\a\_work\1\s\external\pkg\src\AppInstallerCommonCore\MsixInfo.cpp(150)\AppInstallerCLI.exe!00007FF7BBC25837: (caller: 00007FF7BBBD5B49) Exception(1) tid(d10) 80072EFF
Different version of winget running on pipeline? As I mentioned, all these versions were made with wingetcreate
and it (originally) set the installer type to msix
. They correctly validate (and test install) in the pipeline with msix, and used to install on users' machines. Mismatched winget versions, or mismatch between latest winget and test scripts, seems a possible explanation.
Doubtful. I restarted the one that failed and it seems to have made it further this time, so maybe it was just a fluke. I'll keep an eye on it
@Jaifroid - Can you try running the install now to see if the issue is resolved?
I just tried again, and it failed. 😯. Tried again with verbose-logs. It's still showing msix as installer (see line Selected installer InstallerType: msix
). My winget did do the usual refresh of the database when I launched the terminal and ran the command, so it should be using latest manifest... It seems to stall (for me) on Installer language, but that may be a coincidence.
2022-03-02 07:13:48.887 [YAML] Detected UTF-8
2022-03-02 07:13:48.888 [CLI ] Manifest fields: Name [WikiMed by Kiwix], Version [1.9.2.0]
2022-03-02 07:13:48.888 [CLI ] Locale Comparator created with Required Locales: [] , Preferred Locales: [en-GB, en-AU, es-MX, es-CO, es-ES, el, fr-FR]
2022-03-02 07:13:48.888 [CLI ] Starting installer selection.
2022-03-02 07:13:48.888 [CLI ] Installer [Neutral,msix,Unknown,] is current best choice
2022-03-02 07:13:48.888 [CLI ] Completed installer selection.
2022-03-02 07:13:48.888 [CLI ] Selected installer Architecture: 0
2022-03-02 07:13:48.888 [CLI ] Selected installer URL: https://github.com/kiwix/kiwix-js-windows/releases/download/v1.9.2-WikiMed/KiwixWebAppWikiMed_1.9.2.0_AnyCPU.appxbundle
2022-03-02 07:13:48.888 [CLI ] Selected installer InstallerType: msix
2022-03-02 07:13:48.889 [CLI ] Selected installer Scope: Unknown
2022-03-02 07:13:48.889 [CLI ] Selected installer Language:
FYI I have two other appxbundle apps, Kiwix.KiwixJS
and Kiwix.Wikivoyage
. Both of these install correctly. This is why I initially posted this issue as a problem with the bundle size, given that this is the largest bundle I have ever published. Both of these use InstallerType: msix
. However, since previous (smaller) WikiMed bundles don't install either, it is probably not size.
PS C:\Users\geoff\Source\Repos> winget install kiwix.kiwixjs
Found Kiwix JS [Kiwix.KiwixJS] Version 1.9.0.0
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.
Successfully verified installer hash
Starting package install...
██████████████████████████████ 100%
Successfully installed
PS C:\Users\geoff\Source\Repos> winget install kiwix.wikivoyage
Found Wikivoyage by Kiwix [Kiwix.Wikivoyage] Version 1.9.1.0
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.
Successfully verified installer hash
Starting package install...
██████████████████████████████ 100%
Successfully installed
Interesting. Since the update to appx installer type, I'm not able to reproduce the bug anymore on either the latest release or the prerelease version of the client -
Microsoft Windows [Version 10.0.19041.1526]
(c) Microsoft Corporation. All rights reserved.
C:\Users\WDAGUtilityAccount>winget install kiwix.wikimed --source winget --verbose-logs
Found WikiMed by Kiwix [Kiwix.WikiMed] Version 1.9.2.0
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.
Successfully verified installer hash
Starting package install...
██████████████████████████████ 100%
Successfully installed
C:\Users\WDAGUtilityAccount>powershell
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.
Try the new cross-platform PowerShell https://aka.ms/pscore6
PS C:\Users\WDAGUtilityAccount> Add-AppxPackage .\Desktop\Temp\Microsoft.UI.Xaml.2.7.appx
PS C:\Users\WDAGUtilityAccount> Add-AppxPackage .\Desktop\Temp\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle
PS C:\Users\WDAGUtilityAccount> winget uninstall wikimed --source winget
Found WikiMed by Kiwix [Kiwix.WikiMed]
Starting package uninstall...
██████████████████████████████ 100%
Successfully uninstalled
PS C:\Users\WDAGUtilityAccount> exit
C:\Users\WDAGUtilityAccount>winget install kiwix.wikimed --source winget --verbose-logs
Found WikiMed by Kiwix [Kiwix.WikiMed] Version 1.9.2.0
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.
Successfully verified installer hash
Starting package install...
██████████████████████████████ 100%
Successfully installed
WinGet-2022-03-02-09-49-39.136.log WinGet-2022-03-02-09-49-18.542.log WinGet-2022-03-02-09-43-24.630.log
OK, maybe I tried it too soon before servers had fully updated? Will try again when I get back to PC later and report back.
OK, maybe I tried it too soon before servers had fully updated? Will try again when I get back to PC later and report back.
Maybe, but it did say that it selected installertype MSIX in the logs I had too
@Trenly It now works! Thank you very much for resolving this.
What confuses me is that the manifests for Kiwix.KiwixJS
and Kiwix.Wikivoyage
both have InstallerType: msix
, yet both work. Yet for WikiMed some recent change means that only InstallerType: appx
now appears to work. This is inconsistent, but when I next update the other two apps I shall certainly try to normalize on using appx
.
There is probably some underlying issue in winget that is causing this inconsistent behaviour, but it is very odd.
In any case I'm happy this is now resolved. Thanks once again!
@Trenly Unfortunately, this issue is now re-occurring with the 1.3GB msix/appxbundle of WikiMed. https://github.com/microsoft/winget-pkgs/pull/68684 is throwing the same "unknown error" when I attempt to install locally with winget, and I believe this is what is blocking validation. Moreover, previously validated versions of WikiMed are now failing to install locally with the same error, so the issue must be in winget.
I have tried the previous fix that worked, which was to change the InstallerType from msix to appx for the latest manifest, but that now makes no difference.
An unexpected error occurred while executing the command:
0x80072eff : unknown error
Verbose logs are showing the exact same symptoms as we had above back in March. I should add that winget-create always seems to change the installer type from appx to msix, and I hadn't noticed, but it was causing no issues between April and now. Now the issue is resurfacing, which suggests an update to winget has broken installation of this type. Log below is produced after changing the intaller type in the manifest to appx. Same log is now produced if installer type in manifest is msix.
2022-08-04 07:32:38.789 [CLI ] Selected installer URL: https://github.com/kiwix/kiwix-js-windows/releases/download/v2.1.0-WikiMed/KiwixWebAppWikiMed_2.1.0.0_AnyCPU.appxbundle
2022-08-04 07:32:38.789 [CLI ] Selected installer InstallerType: msix
2022-08-04 07:32:38.789 [CLI ] Selected installer Scope: Unknown
2022-08-04 07:32:38.789 [CLI ] Selected installer Language:
2022-08-04 07:33:40.011 [FAIL] WindowsPackageManager.dll!00007FF952555E12: ReturnHr(1) tid(1d74) 80072EFF Msg:[winrt::hresult_error: The text associated with this error code could not be found.]
2022-08-04 07:33:40.013 [FAIL] D:\a\_work\1\s\external\pkg\src\AppInstallerCommonCore\MsixInfo.cpp(311)\WindowsPackageManager.dll!00007FF9523E6FB7: (caller: 00007FF95238E5C0) Exception(1) tid(1d74) 80072EFF
2022-08-04 07:33:40.014 [CLI ] Caught wil::ResultException: D:\a\_work\1\s\external\pkg\src\AppInstallerCommonCore\MsixInfo.cpp(311)\WindowsPackageManager.dll!00007FF9523E6FB7: (caller: 00007FF95238E5C0) Exception(1) tid(1d74) 80072EFF
For the avoidance of doubt, downloading the exact same URL (for the installer) in a browser and launching it in Explorer allows the app to be successfully installed with no errors:
I downloaded the merged manifest created by the Validation pipelines, and I got this error -
--> Installing WinGet
Tip: you can type 'Update-EnvironmentVariables' to update your environment variables, such as after installing a new software.
--> Configuring Winget
Admin setting enabled.
--> Installing the Manifest 6354117b-8a5e-46cb-9940-bd390ccb03cd.yaml
Found WikiMed by Kiwix [Kiwix.WikiMed] Version 2.1.0.0
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.
Successfully verified installer hash
Starting package install...
Installer failed with exit code: 0x800b0110 : The certificate is not valid for the requested usage.
--> Refreshing environment variables
--> Comparing ARP Entries
PS C:\Users\WDAGUtilityAccount\Desktop\winget-pkgs>
@Trenly As you know from the last time we discussed this that is a known issue with the Azure validation scripts and does not happen when installing winget on a local machine. This is why my packages have had to have a waived-validation-installation-error tag since around mid June. There is nothing wrong with the Certificate. You can easily verify by downloading the appxbundle in a browser, and checking the certificate chain (context menu -> Properties -> Digital Signatures -> Details) - see screenshot below for this package. The issue here is that on recent local winget installations, winget times out during the hash check and doesn't permit installation of the 1.4GB package. It doesn't even get to certificate-checking stage. Plus the download speed continues to be extremely painful with DO, with the workarounds seemingly broken too.
And above package installs perfectly fine with the app installer on local machine:
@denelon Given the frequency of problems I'm having with UWP msix/appxbundle validation and installation with winget over the last 6-8 weeks, with all three of my UWP apps, I wonder if it would be useful to have some automated testing of winget builds on this type of bundle (and ideally on very large bundles >1GB)? On top of my validation issues with appxbundles, there now seems to be increasingly poor interaction between winget and GitHub download servers. They hiccup with Delivery Optimization far too frequently (I know that's not WinGet's issue, but there could be better fallback to wininet). It also looks like recent releases of winget have introduced really short timeouts for the hash check. It would be better not to have a timeout -- just let the user cancel with Ctrl-C if an operation is taking too long.
FYI I've never had any issues validating and installing any of my UWP apps (Kiwix.KiwixJS, Kiwix.Wikivoyage, Kiwix.WikiMed) from the Microsoft Store, and until recently, winget was pretty smooth. For the last couple of months the experience has become quite frustrating and time-consuming for what should be a quick and simple validation and installation process. It should be as simple as it is with the app installer (gif video above). Don't get me wrong, I really like winget and the concept of a Windows Package Manager, and I really want to get this working smoothly again.
I have reproduced the issue with "0x80072eff: unknown error" on another PC in winget v1.4.2011-preview. On my development PC I have winget stable v1.3.2091, but I get the same error on that PC (see screenshot here). Here you can see the issue happening with the current validated package of Kiwix.WikiMed (v2.0.9.0):
Exactly same is happening with the (not-yet-validated) package v2.1.0.0.
@JohnMcPMS Do you have any ideas here?
I tried downgrading to winget to v1.3.1661-preview. Hallelujah, it can install these packages correctly:
I subsequently tested v1.3.1681, and it can also install the packages correctly. The first version that bombs out on the hash check is v1.3.1741:
@JohnMcPMS, does this help identify where this regression was (re-)introduced?
I looked into the difference between these two builds and I don't see anything of consequence. The only files that changed were a mitigation to a crash that should not have affected install
. The only difference in configuration is that experimental features are disabled and it is an RC build (does not have -preview
). They are built with the same compiler version.
The errors that you are seeing (0x80072efd
and 0x80072eff
) are WININET_E_CANNOT_CONNECT
and WININET_E_CONNECTION_RESET
, not hash check related. These are likely still github server connection issues.
I tried both the most recent preview version and v1.3.1681
; they both failed. They don't fail to download the file though, they fail to verify the signature file before downloading. And this is almost certainly because this large MSIX has a very large number of files within it (55K+ articles and probably many images, etc.). The only public API to read the package is meant for local use, and is not so great when there are a lot of files.
I removed the SignatureSha256
from the manifest and was instantly able to get to downloading the file at a reasonable speed. I would suggest this as a mitigation for now.
@denelon, I sent you a cryptic mail about this, but I think there are multiple reasons for us to deprecate SignatureSha256
and move to a different mechanism. We should discuss further.
PS: There is no difference between appx and msix installer types in our code.
@JohnMcPMS Thank you very much for looking into this. I can remove the SignatureSha256 from my manifest, but will that require a change on the validation side?
Regarding the number of files, it isn't the case that there are thousands of files. All the Wikipedia/MDWiki content is packed into a compressed archive (a ZIM archive), which is not decompressed at installation time. The reader decodes strings from the compressed archive for search and displaying articles and images, i.e. it reads and decodes the archive on the fly. It is never unpacked into local files.
It is definitely SIZE related, however, because the 12MB base software (with a sample archive) installs fine, whereas that 1.2GB package, which has almost exactly the same structure, just with a larger archive, fails.
@Jaifroid we do have some work to parse MSIX packages and compare them against the manifest. I'll make sure we can override those failures if they are related to SignatureSha256.
I'm very curious about how well this works if we remove that "optional" field from these manifests.
@denelon I've pushed a commit removing that field in https://github.com/microsoft/winget-pkgs/pull/68684. Let's see!
There seems to be some development with this issue: at least the new WikiMed version 2.1.5 passed validation, installation tests, and was merged correctly. However, locally I am still getting an install failure:
EDIT: Linked to wrong PR, now corrected. It is the UWP version that is affected, not the Electron version.
Same issue occuring with Wikivoyage version 2.1.5. This manifest failed validation first time, but then when I made a small adjustment (updated ManifestVersion
to 1.2.0), it passed validation. It fails to install locally as well. This is a smaller bundle: 659MB. For comparison, there is no failure installing a 12MB version of the same app without a packaged content archive (Kiwix.KiwixJS
).
Issue still unresolved with winget v1.4.3132. Tested with winget install Kiwix.WikiMed. Got:
This package passed validation, so what is going wrong for end users?
Brief description of your issue
When I try to install the latest 1.4GB "WikiMed by Kiwix" package (
winget install kiwix.wikimed
), the install fails silently on both Windows 10 and Windows 11. Previously, with a smaller 1.3GB bundle, the install works fine. Is there a size limit for appxbundle packages? If I download the archive from the exact same link that is shown by runningwinget show kiwix.wikimed
, I can install the app successfully by launching the downloaded file.Steps to reproduce
Run
winget show kiwix.wikimed
to check that version 1.9.2 will be installed. Then runwinget install kiwix.wikimed
.Expected behavior
WikiMed should be installed. Winget should output these messages:
Actual behavior
Winget fails silently. It shows:
Environment