microsoft / StoreBroker

A PowerShell module that leverages the Windows Store Submission API to allow easy automation of application submissions to the Windows Store. The master branch is stable and the v2 branch is under active development.
Other
97 stars 40 forks source link

Fails when package name contains a special characters #227

Open taoyouh opened 2 years ago

taoyouh commented 2 years ago

Steps to reproduce:

  1. Create a new project using the WinUI 3 two-project template. There will be a MSIX packaging project called xxx (Packaged) which contains a space and a pair of parentheses.
  2. Use StoreBroker to create a submission containing that msixupload (using New-SubmissionPackage).
  3. The command fails saying:
    Read-AppPackageBundleMetadata : Cannot validate argument on parameter 'AppPackagePath'. Cannot bind argument to parameter 'Path' because it is an empty string.
    At C:\Users\appveyor\Documents\WindowsPowerShell\Modules\StoreBroker\StoreBroker\StoreBroker\PackageTool.ps1:2204 char:20

Error detail: See the following code. It tries to find the msix package declared in the manifest. https://github.com/microsoft/StoreBroker/blob/abd0007755fe662773913efcd9b7865e77cfd33d/StoreBroker/PackageTool.ps1#L2312-L2314

In the manifest of my project, the package name is UniversalFtpServer (Package)_1.4.1.0_x86.msix, but the actual file is UniversalFtpServer%20%28Package%29_1.4.1.0_x86.msix. The idfference makes StoreBroker unable to find the correct msix package and fail.