microsoft / microsoft/winget-create
Support automatically grabbing the Product Code for Burn installers.
Nobody has claimed this yet.
- Dominant language
- C#
- Stars
- 651
- Forks
- 114
- Avg merge
- 7h 52m
- Merged PRs (30d)
- 3
Description
Description of the new feature/enhancement
Burn installers are created by the WiX toolset and are exes that contain an MSI, which means that they have a Product Code that can be used for ARP matching by WinGet. We often add it manually in the community repo, but since the MSI is in the bundle, it would be a heck of a lot easier if wingetcreate could get it automatically.
Proposed technical implementation details (optional)
I guess you'd need to extract the burn installer to get the MSI out of it, and there would have to be some logic to make sure that it's the MSI that the user is making a manifest for if there were multiple (which seems to be possible reading over the spec, so I guess you'd have to try to get the product code for the last <MsiBundle> in the chain? I'm not an expert on how WiX works).
Source: https://wixtoolset.org/documentation/manual/v3/bundle/authoring_bundle_package_manifest.html
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the issue description and the linked WiX Bundle Package Manifest documentation to understand how Burn installers contain MSI packages and Product Codes. Determine how wingetcreate would identify the MSI being manifested, including bundles with multiple MSI packages. Done means the appropriate Product Code can be obtained automatically for supported Burn installers and the behavior is covered by verification or tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- cli
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100