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

PI: WinUI + WASDK check misses WinUI 2/C++ programs #3266

Closed
dongle-the-gadget opened this issue Jun 20, 2024 · 1 comment · Fixed by #3454
Closed

PI: WinUI + WASDK check misses WinUI 2/C++ programs #3266

dongle-the-gadget opened this issue Jun 20, 2024 · 1 comment · Fixed by #3454
Assignees
Labels
Area-DI Related to Dev Insights Issue-Bug Something isn't working or needs investigation Priority-2 Resolution-Fix-Committed Fix is checked in, but may take 3-4 weeks before it's in a release

Comments

@dongle-the-gadget
Copy link

Dev Home version

0.1501.533.0

Windows build number

10.0.26241.5000

Other software

No response

Steps to reproduce the bug

  1. Open Project Ironsides.
  2. Select a C++ WinUI 3 app or any WinUI 2 app (such as Windows Explorer, Microsoft Store).
  3. Notices that WinUI is unchecked in "App details".
  4. Detach the process and select any C++ Windows App SDK app (such as Windows Explorer).
  5. Notices that Windows App SDK is unchecked in "App details".

Expected result

For WinUI 2 apps, "WinUI" should be checked.
For C++ WinUI 3 apps, "WinUI" and "Windows App SDK" should be checked.
For C++ Windows App SDK apps that don't use WinUI, "Windows App SDK" should be checked.

Actual result

Both the "WinUI" and "Windows App SDK" checkboxes are unchecked.

Included System Information

No response

Included Extensions Information

No response

@dongle-the-gadget dongle-the-gadget added the Issue-Bug Something isn't working or needs investigation label Jun 20, 2024
@microsoft-github-policy-service microsoft-github-policy-service bot added the Needs-Triage New issue that the core contributors need to triage label Jun 20, 2024
@dongle-the-gadget
Copy link
Author

dongle-the-gadget commented Jun 20, 2024

Taking a glance at the code, it seems like Project Ironsides is checking two DLLs for the checks (both being wrong):

  • Microsoft.Windows.SDK.NET.dll for Windows App SDK check.
  • Microsoft.WinUI.dll for WinUI check.

Microsoft.WinUI.dll is the C#/WinRT projection DLL for WinUI 3, and as such only C# WinUI 3 apps use it. A more accurate DLL to check for is Microsoft.UI.Xaml.dll, which is also used by WinUI 2.

Microsoft.Windows.SDK.NET.dll is the C#/WinRT projection for the Windows SDK. This means that only .NET apps get picked up, and also .NET apps that use the Windows TFM for Windows SDK access get the checkmark even if they don't use the Windows App SDK.

There's no easy way to do an accurate check on the latter though, since the Windows App SDK has many DLLs and each major update can add a few more to the list. In addition, applications can opt for either framework-dependent or self-contained deployment, so checking package dependencies is also unreliable.

@krschau krschau added the Area-DI Related to Dev Insights label Jun 20, 2024
@andreww-msft andreww-msft added Priority-2 and removed Needs-Triage New issue that the core contributors need to triage labels Jun 21, 2024
@andreww-msft andreww-msft self-assigned this Jun 21, 2024
@krschau krschau added this to the Dev Home v0.17 milestone Jul 23, 2024
@krschau krschau added the Resolution-Fix-Committed Fix is checked in, but may take 3-4 weeks before it's in a release label Jul 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-DI Related to Dev Insights Issue-Bug Something isn't working or needs investigation Priority-2 Resolution-Fix-Committed Fix is checked in, but may take 3-4 weeks before it's in a release
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants