Skip to content

"winget validate" does not recognise "EXE" in all-caps as being a supported filetype for RelativeFilePath. #6180

@DandelionSprout

Description

@DandelionSprout

Relevant area(s)

WinGet CLI

Relevant command(s)

winget validate

Brief description of your issue

Apparently RelativeFilePath is not case-insensitive, leading to winget validate, and thus as far as I can currently tell also winget install, rejecting files with the EXE file extension in all-caps, whereas it fully accepts files with the exe file extension in all-lowercase.

Steps to reproduce

  1. Find and/or create a portable software whose executables have the .EXE filetype in all-caps. An example of such is in this attached ZIP file: Example manifest ZIP archive.
  2. Open Powershell 7.6.1 in Windows Terminal.
  3. Run winget validate --manifest (...)
  4. Receive the error Manifest Error: The file type of the referenced file is not allowed. [RelativeFilePath] Value: (...).EXE

Expected behavior

winget validate treats EXE in RelativeFilePath as being either case-insensitive or as being an alias of exe.

Actual behavior

winget validate does not treat EXE in all-caps as being an allowed filetype.

Image

Environment

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

Windows: Windows.Desktop v10.0.19045.6456
System Architecture: X86
Package: Microsoft.DesktopAppInstaller v1.28.240.0

Winget Directories
-----------------------------------------------------------------------------------------------------------------------
Logs                               %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\Diag…
User Settings                      %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\sett…
Portable Links Directory (User)    %LOCALAPPDATA%\Microsoft\WinGet\Links
Portable Links Directory (Machine) C:\Program Files\WinGet\Links
Portable Package Root (User)       %LOCALAPPDATA%\Microsoft\WinGet\Packages
Portable Package Root              C:\Program Files\WinGet\Packages
Portable Package Root (x86)        C:\Program Files\WinGet\Packages
Installer Downloads                %USERPROFILE%\Downloads
Configuration Modules              %LOCALAPPDATA%\Microsoft\WinGet\Configuration\Modules

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

Admin Setting                             State
--------------------------------------------------
LocalManifestFiles                        Enabled
BypassCertificatePinningForMicrosoftStore Disabled
InstallerHashOverride                     Disabled
LocalArchiveMalwareScanOverride           Disabled
ProxyCommandLineOptions                   Disabled
DefaultProxy                              Disabled

Metadata

Metadata

Assignees

No one assigned

    Labels

    Command-ValidateIssue related to WinGet ValidateIssue-BugIt either shouldn't be doing this or needs an investigation.

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions