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

[Bug]: Pipelines fail to validate packages with WinUI dependency #44310

Closed
yoshiask opened this issue Feb 2, 2022 · 13 comments
Closed

[Bug]: Pipelines fail to validate packages with WinUI dependency #44310

yoshiask opened this issue Feb 2, 2022 · 13 comments
Labels
Issue-Bug It either shouldn't be doing this or needs an investigation. Needs-Author-Feedback This needs a response from the author. No-Recent-Activity No activity has occurred on this work item for seven days.
Milestone

Comments

@yoshiask
Copy link

yoshiask commented Feb 2, 2022

Brief description of your issue

The automatic validation of packages fails if the package contains a dependency on WinUI 2.5+. This is particularly problematic for UWP apps updated in the last year, as WinUI 2.4 (the most recent working version) released in May 2020, and the Sun Valley / Win11 styles were introduced in WinUI 2.6.

Steps to reproduce

  1. Submit a PR to add a package with a dependency on WinUI 2.6.
  2. Wait for the CI to run.
  3. Observe that validation fails.

See #43996 or #30081 for an example.

Expected behavior

Validation does not fail because of dependencies on stable WinUI versions.

Actual behavior

Validation fails even when the package is otherwise valid.

Environment

N/A
@yoshiask yoshiask added the Issue-Bug It either shouldn't be doing this or needs an investigation. label Feb 2, 2022
@ghost ghost added the Needs-Triage This work item needs to be triaged by a member of the core team. label Feb 2, 2022
@jedieaston
Copy link
Contributor

jedieaston commented Feb 2, 2022

We may need to start listing WinUI 2.5+ as a dependency (which won't help you now but would be a workaround for this that won't break packages on Windows 10 where it isn't installed by default).

Does anyone know if there's somewhere Microsoft makes the appx available for download outside of the store? The only link I can find with a quick search is to the SDK.

@veler
Copy link
Contributor

veler commented Feb 2, 2022

Does anyone know if there's somewhere Microsoft makes the appx available for download outside of the store? The only link I can find with a quick search is to the SDK.

It looks like Windows Terminal can be installed through WinGet: https://github.com/Microsoft/Terminal#via-windows-package-manager-cli-aka-winget

@jedieaston
Copy link
Contributor

jedieaston commented Feb 2, 2022

Found it: https://docs.microsoft.com/en-us/windows/apps/windows-app-sdk/downloads

Installing the Windows App SDK Runtime gives you the WinUI frameworks too.

@veler
Copy link
Contributor

veler commented Feb 2, 2022

Does that mean that installing this VSIX on the CI's VM should give us this possibility?
In the documentation, I see WinUI 3 listed but not 2.5/2.6.

@jedieaston
Copy link
Contributor

We would need to add it as a dependency to manifests that require WinUI, and I don't know if it works for 2.x. I'll test it later today and see.

@ItzLevvie
Copy link
Contributor

ItzLevvie commented Feb 3, 2022

It looks like Windows Terminal can be installed through WinGet: https://github.com/Microsoft/Terminal#via-windows-package-manager-cli-aka-winget

cc @veler: This is because Windows Terminal includes a pre-built WinUI 2.7 in the MSIX package so it doesn't require people to install that dependency on their device if they don't have it.

Installing the Windows App SDK Runtime gives you the WinUI frameworks too.

An alternative way would be to contact the WinUI team to see if they can create aka.ms links (similar to the VCLibs UWP Desktop links) for WinUI 2.5, 2.6 & 2.7 which can then be added into the WinGet package repository so that the package can have its dependencies included.

For example:

Dependencies:
  PackageDependencies:
  - PackageIdentifier: Microsoft.WinUI.x64
    MinimumVersion: 2.6

I don't know if it works for 2.x

If the VSIX/MSIX only includes WinUI 3.0 then it'll not work for WinUI 2.x.

WinUI is version-specific so if an app needs WinUI 2.6, you will not be able to use WinUI 2.7 or WinUI 3.0, it must be WinUI 2.6.

@jedieaston
Copy link
Contributor

I didn't realize Microsoft.UI.Xaml was the same thing. In which case, microsoft/winget-cli#1861 is an issue I made on the other repo for the same ask since DesktopAppInstaller now requires WinUI too.

@denelon
Copy link
Contributor

denelon commented Feb 3, 2022

We're doing some work to enable support Windows App SDK.

@denelon denelon removed the Needs-Triage This work item needs to be triaged by a member of the core team. label Feb 3, 2022
@yoshiask
Copy link
Author

yoshiask commented Feb 6, 2022

We're doing some work to enable support Windows App SDK.

While this is greatly appreciated, I would like to note just in case that this will not fix issues with WinUI 2.x dependencies.

@yoshiask
Copy link
Author

yoshiask commented Feb 8, 2022

actions/runner-images#4856
It looks like windows-2022 is being introduced. Does Windows Server 2022 including WinUI 2.6? Would updating the workflows to the latest version fix this issue?

@denelon
Copy link
Contributor

denelon commented Feb 12, 2022

I think the bigger question in my will it install correctly on machines requiring a newer version of WinUI.

It's possible to set a minimum OS version in the manifest to prevent the Windows Package Manager from installing on an older OS. That "should" cause a different error message internally when we perform dynamic analysis if we're on an older OS than what is specified.

@denelon
Copy link
Contributor

denelon commented Jan 3, 2024

This issue is quite old, but I believe now that we have support for dependencies this issue might be resolved. Can anyone confirm?

@denelon denelon added the Needs-Author-Feedback This needs a response from the author. label Jan 3, 2024
@microsoft-github-policy-service microsoft-github-policy-service bot added the No-Recent-Activity No activity has occurred on this work item for seven days. label Jan 9, 2024
Copy link
Contributor

Hello @yoshiask,

This issue has been automatically marked as stale because it has been marked as requiring author feedback but has not had any recent activity. It will be closed if no further activity occurs within 3 days of this comment.

Template: msftbot/noRecentActivity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Issue-Bug It either shouldn't be doing this or needs an investigation. Needs-Author-Feedback This needs a response from the author. No-Recent-Activity No activity has occurred on this work item for seven days.
Projects
None yet
Development

No branches or pull requests

5 participants