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
- 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.
- Open Powershell 7.6.1 in Windows Terminal.
- Run
winget validate --manifest (...)
- 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.
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
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 alsowinget install, rejecting files with theEXEfile extension in all-caps, whereas it fully accepts files with theexefile extension in all-lowercase.Steps to reproduce
.EXEfiletype in all-caps. An example of such is in this attached ZIP file: Example manifest ZIP archive.winget validate --manifest (...)Manifest Error: The file type of the referenced file is not allowed. [RelativeFilePath] Value: (...).EXEExpected behavior
winget validatetreatsEXEinRelativeFilePathas being either case-insensitive or as being an alias ofexe.Actual behavior
winget validatedoes not treatEXEin all-caps as being an allowed filetype.Environment