Skip to content

fix(msix): default PublisherDisplayName to the registered Store name - #1043

Merged
giswqs merged 1 commit into
mainfrom
fix/msix-publisher-display-name
Jul 1, 2026
Merged

fix(msix): default PublisherDisplayName to the registered Store name#1043
giswqs merged 1 commit into
mainfrom
fix/msix-publisher-display-name

Conversation

@giswqs

@giswqs giswqs commented Jul 1, 2026

Copy link
Copy Markdown
Member

Problem

The v1.9.0 Microsoft Store upload failed validation:

Package acceptance validation error: The PublisherDisplayName element in the app manifest of geolibre-desktop-1.9.0-x64.msix is GeoLibre, which doesn't match your publisher display name: Open Geospatial Solutions.

The release workflow (release.yml) runs packaging/msix/build-msix.ps1 with no arguments, so the package used the default PublisherDisplayName = "GeoLibre". The Store validates Properties/PublisherDisplayName strictly against the registered publisher name and, unlike the Identity Name/Publisher (which it remaps on ingestion), does not rewrite it. That is why this was the only blocking error.

Fix

  • Default -PublisherDisplayName to "Open Geospatial Solutions" (the registered Partner Center value, already documented in the packaging README).
  • Update the packaging README parameter table to match.

The runFullTrust warning in the same report is expected for a Tauri desktop app and only needs one-time capability approval in Partner Center; no code change required.

Note

This corrects future MSIX builds. The already-uploaded v1.9.0 MSIX needs to be rebuilt (re-run the Windows release job, or rebuild locally with the corrected default) to produce an uploadable package.

The Microsoft Store rejects the package when Properties/PublisherDisplayName
does not match the registered publisher display name, and (unlike the Identity
Name/Publisher, which the Store remaps on ingestion) it is validated strictly.
The release workflow runs build-msix.ps1 with no arguments, so it used the
old default "GeoLibre", which failed validation ("doesn't match your publisher
display name: Open Geospatial Solutions").

Default PublisherDisplayName to "Open Geospatial Solutions" so the CI-built
MSIX passes Store validation, and update the packaging README table to match.
Copilot AI review requested due to automatic review settings July 1, 2026 17:04
@netlify

netlify Bot commented Jul 1, 2026

Copy link
Copy Markdown

Deploy Preview for geolibre-app ready!

Name Link
🔨 Latest commit fd4b706
🔍 Latest deploy log https://app.netlify.com/projects/geolibre-app/deploys/6a45488fd229f90008720b7f
😎 Deploy Preview https://deploy-preview-1043--geolibre-app.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

@coderabbitai

coderabbitai Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

@giswqs, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 3 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 0a912eab-e724-42b7-85a3-969ffb739f6c

📥 Commits

Reviewing files that changed from the base of the PR and between 71a3f20 and fd4b706.

📒 Files selected for processing (2)
  • packaging/msix/README.md
  • packaging/msix/build-msix.ps1
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/msix-publisher-display-name

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@giswqs
giswqs merged commit 364f755 into main Jul 1, 2026
13 of 14 checks passed
@giswqs
giswqs deleted the fix/msix-publisher-display-name branch July 1, 2026 17:05

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR fixes Microsoft Store MSIX validation failures by aligning the default Properties/PublisherDisplayName in the MSIX manifest with the publisher display name registered in Partner Center, ensuring that Store uploads succeed even when the build script is run with no arguments (as in the release workflow).

Changes:

  • Update build-msix.ps1 default -PublisherDisplayName to Open Geospatial Solutions and document why the Store requires an exact match.
  • Update the MSIX packaging README parameter table to reflect the corrected default and clarify that the Store does not remap this field.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
packaging/msix/README.md Updates documentation so the -PublisherDisplayName default/requirements match Microsoft Store expectations.
packaging/msix/build-msix.ps1 Changes the default PublisherDisplayName used in the generated Appx manifest to the Partner Center registered value, with clarifying comments.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@github-actions

github-actions Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

⚡ Cloudflare Pages preview

Item Value
Preview https://c0d364e2.geolibre-preview.pages.dev
Demo app https://c0d364e2.geolibre-preview.pages.dev/demo/
Commit 0de500c

# against the registered publisher display name, so it must match Partner
# Center exactly ("Open Geospatial Solutions"). Unlike Identity Name/Publisher,
# the Store does not remap it on ingestion.
[string] $PublisherDisplayName = "Open Geospatial Solutions",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Medium confidence: this default is shared by both build targets described in the README — the self-signed/winget MSIX built by release.yml (defaults: Publisher = "CN=GeoLibre") and the manually-built Microsoft Store MSIX (Publisher overridden to the Partner Center seller GUID).

Before this change both Publisher and PublisherDisplayName defaulted to "GeoLibre", so the self-signed/winget artifact was internally consistent. After this change, the default release.yml build will embed Publisher="CN=GeoLibre" alongside PublisherDisplayName="Open Geospatial Solutions" — a mismatch between the signing identity and the displayed publisher name for the winget/direct-download package, which didn't exist before.

If release.yml's default build is in fact the same artifact being uploaded to the Store (as the PR description implies — no -Publisher/-Name override is passed there either), it may be worth also defaulting -Publisher/-Name to the Store identity, or conversely keeping PublisherDisplayName branching per target, so the self-signed build's Identity and Properties/PublisherDisplayName stay consistent with each other.

@github-actions

github-actions Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Code review

This is a small, low-risk config-default change (2 files, +6/-2), so findings are limited.

Bugs

  • Medium confidence: the shared default now embeds a mismatch between Identity/Publisher (CN=GeoLibre, unchanged) and Properties/PublisherDisplayName (now Open Geospatial Solutions) for the self-signed/winget MSIX built by release.yml, which previously had Publisher and PublisherDisplayName consistently "GeoLibre". Whether this matters depends on whether release.yml's default build is truly the same artifact uploaded to the Store (per the PR description) or a distinct self-signed/winget target as the README's "two distinct targets" section implies. See inline comment on build-msix.ps1:11.

Security

  • None found. No untrusted input, no injection surface — this only changes a hardcoded default string used in an XML-escaped manifest field (ConvertTo-XmlText already handles escaping).

Performance

  • Not applicable — no logic/loop changes.

Quality

  • The new inline comment above $PublisherDisplayName is clear and matches the existing style used for $Name/$DisplayName. The README table update is accurate and consistent with the script.
  • Minor/non-blocking: the README's "Build for the Microsoft Store" example still explicitly passes -PublisherDisplayName "Open Geospatial Solutions", which is now redundant since it matches the new default — harmless, but could be trimmed or left as explicit documentation (arguably still useful for clarity).

CLAUDE.md

  • No violations. This change is confined to packaging/msix/ (PowerShell + docs), which isn't covered by any specific convention in CLAUDE.md beyond general repo structure, and nothing here conflicts with it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants