microsoft / winget-create

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

Cannot update manifest with additional installers #506

Closed sirredbeard closed 8 months ago

sirredbeard commented 8 months ago

Brief description of your issue

I maintain sirredbeard.wslinternals. It contains a collection of portable .exe's as "installers". The new version, 0.0.14, adds a new .exe, wsl-perf.exe. I am trying to update the sirredbeard.wslinternals manifest in the repository using winget-create.

When I run winget create update, I get the error The number of new installer packages must match the number of existing installer packages.

When I try to create a new manifest to include wsl-perf, I get the error We have detected that this package identifier already exists. If you intend to update an existing package, please use the update command.

Steps to reproduce

Running wingetcreate update:

wingetcreate.exe update --urls https://github.com/sirredbeard/wslinternals/releases/download/0.0.14/0.0.14.zip --version 0.0.14 sirredbeard.wslinternals --token <token> --submit
Retrieving latest manifest for sirredbeard.wslinternals
Downloading and parsing: https://github.com/sirredbeard/wslinternals/releases/download/0.0.14/0.0.14.zip...
The number of new installer packages must match the number of existing installer packages.

Running wingetcreate new:

PS D:\wslinternals> wingetcreate.exe new https://github.com/sirredbeard/wslinternals/releases/download/0.0.14/0.0.14.zip
 --token <token>
Downloading and parsing: https://github.com/sirredbeard/wslinternals/releases/download/0.0.14/0.0.14.zip...
 Select the installer(s) from the zip archive:: list-wsl.exe, sysdistrowt.exe, wsl-dist-update.exe, wsl-latest-kernel.ex
e, wsl-perf.exe, wsl-reset.exe, wslctl.exe
This tool will walk you through a series of questions to help you create your package manifest.

For information about the restrictions for each field, visit https://aka.ms/winget-manifest-schema

Press ENTER to submit the value for each question including accepting the (default) value.

Please enter values for the following fields:
The package unique identifier |e.g. Microsoft.VisualStudio|
 [PackageIdentifier] value is: sirredbeard.wslinternals

We have detected that this package identifier already exists. If you intend to update an existing package, please use the update command.

Expected behavior

That I can overwrite existing package manifests with new manifests containing additional portable .exe's/installers.

Actual behavior

wingetcreate new says to run wingetcreate update, wingetcreate update fails

Environment

Windows Package Manager Manifest Creator v1.5.7.0

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

Windows: Windows.Desktop v10.0.22635.3130
System Architecture: X64
Package: Microsoft.DesktopAppInstaller v1.21.3482.0
github-actions[bot] commented 8 months ago

Hi I'm an AI powered bot that finds similar issues based off the issue title.

Please view the issues below to see if they solve your problem, and if the issue describes your problem please consider closing this one and thumbs upping the other issue to help us prioritize it. Thank you!

Open similar issues:

Closed similar issues:

Note: You can give me feedback by thumbs upping or thumbs downing this comment.

mdanish-kh commented 8 months ago

Related to:

Unfortunately, this package can currently only be updated through the interactive mode. Use this command for interactive update.

wingetcreate update sirredbeard.wslinternals --version 0.0.14 --interactive
sirredbeard commented 8 months ago

I will use the interactive update process or manually edit the manifests when new utilities are added, see https://github.com/microsoft/winget-pkgs/pull/137190