microsoft / winget-create

The Windows Package Manager Manifest Creator command-line tool (aka wingetcreate)
MIT License
491 stars 84 forks source link

Improve handling of multiple nested installers #372

Closed mdanish-kh closed 1 year ago

mdanish-kh commented 1 year ago

Brief Description

  1. Allocate a new installer object for each nested installer so that changes in one nested installer object do not propagate into another
  2. As a consequence of the above change, logic needs to be added for merging nested installer files into a single installer in case of NestedInstallerType: portable. This is done as:
    • If two (or more) nested portable installers have the same architecture and hash, the only difference would be of RelativeFilePath in both of them; so we merge the two installers
  3. Display name of NestedInstallerFile for better clarity before a prompt asking for additional metadata or asking whether the package is a portable.
  4. Refactor PortableCommandAliasIfApplicable() as we expect a single NestedInstallerFiles node for each installer inside the method body now.

I've listed some test URLs/manifests in the linked issue


Microsoft Reviewers: Open in CodeFlow
ryfu-msft commented 1 year ago

/azp run

azure-pipelines[bot] commented 1 year ago
Azure Pipelines successfully started running 1 pipeline(s).