Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add an MSIX packaging option for Windows #2097

Open
freakboy3742 opened this issue Jan 2, 2025 · 2 comments
Open

Add an MSIX packaging option for Windows #2097

freakboy3742 opened this issue Jan 2, 2025 · 2 comments
Labels
enhancement New features, or improvements to existing features. windows The issue relates to Microsoft Windows support.

Comments

@freakboy3742
Copy link
Member

What is the problem or limitation you are having?

Windows appears to have added a new app distribution format - MSIX. This format appears to be preferred for some usages, so it should be supported by Briefcase.

Describe the solution you'd like

briefcase package windows -p msix should be a valid packaging command.

Describe alternatives you've considered

Do nothing, continue to support MSI and ZIP packaging.

Additional context

Our existing WIX tooling needs to be upgraded (see #1185), but WiX documentation is... not great.

The documentation of MSIX is... dense, and doesn't spend a lot of time explaining how MSIX fits into the existing MSI ecosystem. However, from an initial read, it appears that MSIX might (maybe?) be compatible with Windows App Store distribution.

Another advantage of MSIX appears to be that Microsoft itself is providing the tooling to build the installers, so we don't need to rely on a badly documented third-party tool to meet Windows packaging needs.

The first step to progress this will be to investigate the new format and tools and see what is involved in turning a "directory of content" into a signed MSIX installer.

@freakboy3742 freakboy3742 added enhancement New features, or improvements to existing features. windows The issue relates to Microsoft Windows support. labels Jan 2, 2025
@freakboy3742
Copy link
Member Author

This draft PEP discussing the Windows installer landscape for CPython gives some background that might be helpful in untangling the installer landscape. In particular, it seems to suggest that MSI is effectively a "dead end", and the focus is now on app-store distribution (using MSIX, which is apparently also referred to as APPX).

@MosGeo
Copy link

MosGeo commented Jan 30, 2025

Just saw this and I will chime in a few points. Note that this info is from me checking things out here are there so It might wrong or outdated.

  • I think MSIX and MSI are completely different. They are not built on the same codebase.
  • WIX/MSI is definitly not dead. It is being updated regularly and still widely used. I think the PEP link above mention that the version they are using is not being updated (similar to briefcase that is stuck at v3).
  • WIX allows the cretion of MSIX through an extension. But if one is only targetting MSIX, it is probably best to cut the middle man and use MSIX tools directly.

Probably, the most important part and annoying one: MSIX have to be digitially signed and they cannot be installed without being trusted. This means that for self-signed packages (i.e., free certificate), the user will have to download the certificate manually and trust it before initiating the installation (microsoft/msix-packaging#332).

That being said, I think MSIX removes a lot of the limitation related to size and number of files limit so it is better options for that. MSIX/WIX did some work in latest versions too.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New features, or improvements to existing features. windows The issue relates to Microsoft Windows support.
Projects
None yet
Development

No branches or pull requests

2 participants