Skip to content

[Pipeline Bug]: Validation VM cannot enable Hyper-V / virtualization Windows Features declared as package dependencies #396952

Description

@denelon

Description of the new feature/enhancement

WinGet manifests can declare a dependency on Windows optional features via Dependencies.WindowsFeatures, and WinGet attempts to enable those features before installing the package. The automated validation pipeline cannot validate any package that declares a virtualization Windows Feature dependency (e.g. Microsoft-Hyper-V, HypervisorPlatform), because the validation sandbox is itself a VM without nested virtualization — enabling Hyper-V fails deterministically.

This is not a manifest defect. A correct manifest fails validation forever, surfacing as Internal-Error-Dynamic-Scan with the Installation Validation step failing.

Symptom / detection signature (from manual validation):

Install finished with exit code: -1978334960
Failed to enable Windows Feature [Microsoft-Hyper-V] with exit code: 50

| Hex      | Dec         | Symbol                                    | Description                          |
| -------- | ----------- | ----------------------------------------- | ------------------------------------ |
| 00000032 | 50          | ERROR_NOT_SUPPORTED                       | The request is not supported.        |
| 8A150110 | -1978334960 | APPINSTALLER_CLI_ERROR_INSTALL_DEPENDENCIES | Failed to install package dependencies. |

Example: #382520 (Skywork.SkyworkDesktop.QEMU 1.6.0). All other validation stages pass (InstallerScan, ManifestPolicy, URL, Catalog); only InstallationVerification returns Error. The manifest correctly declares:

Dependencies:
  WindowsFeatures:
  - HypervisorPlatform
  - Microsoft-Hyper-V

Proposed technical implementation details (optional)

Options:

  1. Route packages that declare virtualization WindowsFeatures dependencies to nested-virtualization-capable or bare-metal validators so the feature can actually be enabled.
  2. Provide a manual-validation waiver path for packages whose only failure is an un-enableable declared WindowsFeatures dependency (moderator-verified), so a correct manifest is not blocked by an infra limitation.
  3. Detect a declared WindowsFeatures dependency the VM cannot enable and skip the enable/verify step with a documented waiver, rather than failing the whole run as Internal-Error-Dynamic-Scan.

Automation-facing detection signature: Failed to enable Windows Feature + ERROR_NOT_SUPPORTED (50) + APPINSTALLER_CLI_ERROR_INSTALL_DEPENDENCIES (0x8A150110).

Metadata

Metadata

Assignees

No one assigned

    Labels

    Area-Validation-PipelineIssues related to the manifest validation pipeline.Issue-BugIt either shouldn't be doing this or needs an investigation.

    Type

    Fields

    No fields configured for Bug.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions