microsoft / microsoft/winget-cli
Only compare the first 3 parts of the version number for msi and wix installers as default
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 26.4k
- Forks
- 1.8k
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 15
Description
Description of the new feature / enhancement
According to the documentation, "Windows Installer uses only the first three fields of the product version. If you include a fourth field in your product version, the installer ignores the fourth field". Therefore, without any additional configuration, winget should only compare the first 3 version fields, too.
Proposed technical implementation details
If the version number of an msi or wix installer is compared to the version number in apps and features, only the first 3 version fields should be compared. If the fourth field is missing or differs, it should be handled as the same version.
Only if the AppsAndFeatures field in the manifest is set, the whole version number should be compared.
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 with the version-comparison path for MSI and WiX installers and the manifest's AppsAndFeatures field. Verify how versions are compared when that field is absent or present, using cases where the first three fields match but the fourth is missing or differs. Done means default comparisons ignore the fourth field, while an explicit AppsAndFeatures value compares the whole version.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- cli, operating-systems
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100