beeware / beeware/briefcase

Add an MSIX packaging option for Windows

Open
#2,097 5 comments 1 reaction 0 assignees View on GitHub
enhancement windows
Dominant language
Python
Stars
3.3k
Forks
549
Avg merge
1d 4h
Merged PRs (30d)
40

Description

### What is the problem or limitation you are having?

Windows appears to have added a new app distribution format - [MSIX](https://learn.microsoft.com/en-us/windows/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.

Contributor guide

Open the contributing guide

Research direction

Start with the `briefcase package windows -p msix` entry point and investigate the MSIX format and Microsoft’s packaging and signing tools. Review the existing MSI and ZIP packaging paths, along with WIX tooling upgrade issue #1185; done means the command is accepted and produces a signed MSIX installer from the application content.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.