microsoft / winget-create

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

[Bug report] Unable to inspect MSIX file #495

Closed Dragon1573 closed 5 months ago

Dragon1573 commented 6 months ago

Brief description of your issue

When inspecting *.msix file with wingetcreate.exe, an error System.IO.FileNotFoundException occur.

Steps to reproduce

  1. Install wingetcreate.exe version 1.5.7.0
  2. Create a new manifest with wingetcreate new and enter the installer URL converternow-windows.msix

Expected behavior

wingetcreate.exe successfully inspected the *.msix file.

Actual behavior

D:\Workloads\winget-pkgs [master ≡]> wingetcreate.exe new "https://github.com/ferraridamiano/ConverterNOW/releases/download/v4.2.0/converternow-windows.msix"
正在下载和分析: https://github.com/ferraridamiano/ConverterNOW/releases/download/v4.2.0/converternow-windows.msix...
System.IO.FileNotFoundException: 系统找不到指定的文件。 (0x80070002)
   at Microsoft.Msix.Utils.AppxPackagingInterop.IAppxPackageReader.GetFootprintFile(APPX_FOOTPRINT_FILE_TYPE type)
   at Microsoft.WingetCreateCore.PackageParser.GetAppxMetadataAndSetInstallerProperties(String path, InstallerManifest installerManifest, Installer baseInstaller, List`1 installers)
   at Microsoft.WingetCreateCore.PackageParser.ParseMsix(String path, Installer baseInstaller, Manifests manifests, List`1 newInstallers)
   at Microsoft.WingetCreateCore.PackageParser.ParsePackageAndGenerateInstallerNodes(InstallerMetadata installerMetadata, Manifests manifests)
   at Microsoft.WingetCreateCore.PackageParser.ParsePackage(InstallerMetadata installerMetadata, Manifests manifests)
   at Microsoft.WingetCreateCore.PackageParser.ParsePackages(List`1 installerMetadataList, Manifests manifests)
   at Microsoft.WingetCreateCLI.Commands.NewCommand.Execute()
   at Microsoft.WingetCreateCLI.Program.Main(String[] args)

Environment

D:\Workloads\winget-pkgs [master ≡]> wingetcreate.exe version
WingetCreateCLI 1.5.7.0
Copyright (C) 2023 WingetCreateCLI

  new         启动一系列问题以帮助生成新清单
  update      更新现有清单的字段
  submit      直接将有效清单提交到 Windows 程序包管理器存储库
  settings    打开设置
  token       修改 GitHub 身份验证令牌缓存
  cache       管理存储在缓存中的已下载安装程序
  show        显示 Windows 程序包管理器存储库中的清单
  info        显示工具的常规信息
  help        显示有关特定命令的详细信息。
  version     显示版本信息。

D:\Workloads\winget-pkgs [master ≡]> winget --info
Windows 程序包管理器 v1.6.3421
版权所有 (C) Microsoft Corporation。保留所有权利。

Windows: Windows.Desktop v10.0.22631.2861
系统体系结构: X64
软件包: Microsoft.DesktopAppInstaller v1.21.3421.0

Winget 目录
-------------------------------------------------------------------------------------------------------------------
日志                   %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\DiagOutputDir
用户设置               %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\settings.json
可移植链接目录(用户)   %LOCALAPPDATA%\Microsoft\WinGet\Links
可移植链接目录(计算机) C:\Program Files\WinGet\Links
可移植包根目录(用户)   D:\Applications\WinGet\Packages\Users\
可移植包根目录         D:\Applications\WinGet\Packages\Machine\
可移植包根目录 (x86)   D:\Applications\WinGet\Packages\Machine\
安装程序下载           D:\Dragon1573\Downloads

链接
----------------------------------------------------------------------------
隐私声明             https://aka.ms/winget-privacy
许可协议             https://aka.ms/winget-license
第三方声明           https://aka.ms/winget-3rdPartyNotice
主页                 https://aka.ms/winget
Windows 应用商店条款 https://www.microsoft.com/en-us/storedocs/terms-of-sale

管理员设置                                状态
------------------------------------------------
LocalManifestFiles                        已启用
BypassCertificatePinningForMicrosoftStore 已禁用
InstallerHashOverride                     已禁用
LocalArchiveMalwareScanOverride           已启用
Dragon1573 commented 6 months ago

[!NOTE]

This bug is found when working on https://github.com/microsoft/winget-pkgs/issues/106247.

Dragon1573 commented 5 months ago

Official Dev Team of ConvertNOW recommend users to install package using Microsoft Store instead of by the *.msix file.

This issue will be closed as Not planned.