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

Complex installers #1242

Closed
denelon opened this issue Jul 1, 2021 · 2 comments · Fixed by #1796
Closed

Complex installers #1242

denelon opened this issue Jul 1, 2021 · 2 comments · Fixed by #1796
Assignees
Labels
Area-Manifest This may require a change to the manifest Issue-Feature This is a feature request for the Windows Package Manager client.
Milestone

Comments

@denelon
Copy link
Contributor

denelon commented Jul 1, 2021

Description of the new feature/enhancement

As we get closer to supporting .zip and standalone .exe installers, we need some additional mechanisms to identify a few different scenarios. These include what kind of an installer is inside of .zip files. It also includes scenarios where a package is distributed with a .exe installer, but it also contains an .msi installer (PowerToys).

Proposed technical implementation details (optional)

We would add a new node to the Installers called "NestedInstallerType".

This example would help fix the upgrade scenario related to PowerToys:

Installers:
  - InstallerType: exe
    NestedInstallerType: msi
    InstallerArchitecture: x64
    InstallerSHA256: 12341234123412341234123412341234123412341234
    InstallerURL: https://www.contoso.com/awesomeapp/1.0.0/awesomeapp.x64.exe

This example is for a nullsoft installer distributed inside of a .zip file, but this could also be .exe, inno, wix, etc.

Installers:
  - InstallerType: zip
    NestedInstallerType: nullsoft
    InstallerArchitecture: x64
    InstallerSHA256: 12341234123412341234123412341234123412341234
    InstallerURL: https://www.contoso.com/awesomeapp/1.0.0/awesomeapp.x64.zip

This example is for a standalone / portable executable (these are not yet supported) inside of a .zip file.

Installers:
  - InstallerType: zip
    NestedInstallerType: standalone
    InstallerArchitecture: x64
    InstallerSHA256: 12341234123412341234123412341234123412341234
    InstallerURL: https://www.contoso.com/awesomeapp/1.0.0/awesomeapp.x64.zip
@denelon denelon added the Issue-Feature This is a feature request for the Windows Package Manager client. label Jul 1, 2021
@ghost ghost added the Needs-Triage Issue need to be triaged label Jul 1, 2021
@denelon denelon added Area-Manifest This may require a change to the manifest and removed Needs-Triage Issue need to be triaged labels Jul 1, 2021
@denelon
Copy link
Contributor Author

denelon commented Oct 1, 2021

This was included in the Apps & Features section for multiple entries. We still have additional work in the client to support upgrade scenarios and matching logic for list.

"InstallerType": {
"$ref": "#/definitions/InstallerType"
}
},

#1396

@ffes
Copy link

ffes commented Oct 20, 2021

Another example would be various Autodesk programs.

When you download "DWG TrueView" from https://www.autodesk.com/viewers (tab "Windows Viewer"), you will download an .exe. AFAICS this is a custom extractor that extracts all the required files in C:\Autodesk and starts the real setup.exe after it is extracted.

In the knowledge base of Autodesk is an example how to extract that sfx from the command line: https://knowledge.autodesk.com/search-result/caas/sfdcarticles/sfdcarticles/How-to-run-self-extraction-of-DWG-TrueView-2019-install-package-from-Command-Line.html

@denelon denelon modified the milestones: v.Next-Client, v1.3-Client Dec 1, 2021
@ghost ghost added the In-PR Issue related to a PR label Dec 14, 2021
@ghost ghost removed the In-PR Issue related to a PR label Jan 20, 2022
florelis pushed a commit that referenced this issue Jan 20, 2022
…1796)

* Modified the applicability check in `InstalledTypeComparator` to also consider the installer types listed under `AppsAndFeaturesEntries`
* Extended string returned from `ExplainInapplicable` to also mention the installed type and other types accepted by the manifest.

Closes #1242. Validated that upgrading PowerToys (mentioned in that issue) worked correctly using a local manifest edited to include the `AppsAndFeaturesEntries` and installed type `msi`.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-Manifest This may require a change to the manifest Issue-Feature This is a feature request for the Windows Package Manager client.
Projects
Development

Successfully merging a pull request may close this issue.

3 participants