Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
68 changes: 68 additions & 0 deletions BannerlordModEditor.UI/Package.appxmanifest
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
<?xml version="1.0" encoding="utf-8"?>
<Package
xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest"
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities">
Copy link

Copilot AI Mar 20, 2026

Choose a reason for hiding this comment

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

The manifest introduces the uap, mp, and rescap namespaces but does not mark them as ignorable on the <Package> element. This commonly causes schema/packaging validation failures. Add IgnorableNamespaces=\"uap mp rescap\" (or the appropriate subset actually used) to the <Package> element.

Suggested change
xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities">
xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
IgnorableNamespaces="uap mp rescap">

Copilot uses AI. Check for mistakes.

<Identity
Name="BannerlordModer.BannerlordModEditor"
Publisher="CN=BannerlordModer"
Version="1.0.0.0" />

<mp:PhoneIdentity PhoneProductId="a3f5c8d2-7e4b-4f1a-9c6d-8b2e3f4a5c6d" PhonePublisherId="00000000-0000-0000-0000-000000000000"/>
Copy link

Copilot AI Mar 20, 2026

Choose a reason for hiding this comment

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

mp:PhoneIdentity is a legacy Windows Phone element and is typically unnecessary for modern MSIX desktop apps. Removing it reduces confusion and avoids potential schema/certification warnings related to phone-targeted metadata.

Copilot uses AI. Check for mistakes.

<Properties>
<DisplayName>Bannerlord Mod Editor</DisplayName>
<PublisherDisplayName>BannerlordModer</PublisherDisplayName>
<Logo>Assets\icon.png</Logo>
<Description>A professional Mod editor for Mount &amp; Blade II: Bannerlord</Description>
</Properties>

<Dependencies>
<TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.17763.0" MaxVersionTested="10.0.22621.0" />
<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.17763.0" MaxVersionTested="10.0.22621.0" />
</Dependencies>

Comment on lines +23 to +26
Copy link

Copilot AI Mar 20, 2026

Choose a reason for hiding this comment

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

Declaring both Windows.Universal and Windows.Desktop can unintentionally broaden device targeting (including non-desktop families) even though the app appears to require desktop-only capabilities (e.g., full trust). If the intent is Store distribution for desktop only, prefer keeping just Windows.Desktop to avoid incorrect availability/Store certification issues.

Suggested change
<TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.17763.0" MaxVersionTested="10.0.22621.0" />
<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.17763.0" MaxVersionTested="10.0.22621.0" />
</Dependencies>
<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.17763.0" MaxVersionTested="10.0.22621.0" />
</Dependencies>

Copilot uses AI. Check for mistakes.
<Resources>
<Resource Language="x-generate" />
<Resource Language="en-US" />
<Resource Language="zh-CN" />
</Resources>

<Applications>
<Application Id="App"
Executable="BannerlordModEditor.exe"
EntryPoint="BannerlordModEditor.UI.App">
Comment on lines +34 to +36
Copy link

Copilot AI Mar 20, 2026

Choose a reason for hiding this comment

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

For MSIX-packaged Win32/WinUI 3/WPF desktop apps, EntryPoint is typically Windows.FullTrustApplication (with a windows.fullTrustProcess extension if using the Desktop Bridge model). Using an app-class entry point here is likely to break activation/launch. Align the manifest with the app model you’re packaging (full-trust desktop vs. UWP), updating EntryPoint (and adding/removing the full-trust extension) accordingly.

Copilot uses AI. Check for mistakes.
<uap:VisualElements
DisplayName="Bannerlord Mod Editor"
Description="A professional Mod editor for Mount &amp; Blade II: Bannerlord"
BackgroundColor="transparent"
Square150x150Logo="Assets\icon-150.png"
Square44x44Logo="Assets\icon-44.png">
<uap:DefaultTile Wide310x150Logo="Assets\icon-310.png" Square310x310Logo="Assets\icon-310.png" />
<uap:SplashScreen Image="Assets\splash.png" />
</uap:VisualElements>
<Extensions>
<uap:Extension Category="windows.fileTypeAssociation">
<uap:FileTypeAssociation Name="xml">
<uap:SupportedFileTypes>
<uap:FileType ContentType="application/xml">.xml</uap:FileType>
</uap:SupportedFileTypes>
</uap:FileTypeAssociation>
</uap:Extension>
<uap:Extension Category="windows.protocol">
<uap:Protocol Name="bannerlordmodeditor">
<uap:DisplayName>Bannerlord Mod Editor Protocol</uap:DisplayName>
</uap:Protocol>
</uap:Extension>
</Extensions>
</Application>
</Applications>

<Capabilities>
<rescap:Capability Name="runFullTrust" />
<rescap:Capability Name="unvirtualizedResources" />
Copy link

Copilot AI Mar 20, 2026

Choose a reason for hiding this comment

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

Both runFullTrust and especially unvirtualizedResources are restricted capabilities that can trigger Store certification rejection unless you have approval/strong justification. If unvirtualizedResources isn’t strictly required, drop it; if they are required, consider documenting why (and ensuring the package submission is prepared for restricted capability review).

Suggested change
<rescap:Capability Name="unvirtualizedResources" />

Copilot uses AI. Check for mistakes.
</Capabilities>

</Package>
Loading