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

Application executable is not marked as Windows 10 compatible in the default manifest #12904

Open
jkotas opened this issue Mar 21, 2020 · 7 comments
Assignees
Milestone

Comments

@jkotas
Copy link
Member

jkotas commented Mar 21, 2020

The manifest of self-contained apps does not contain Windows 10 supportedOS element. It means that self-contained applications run with compatibility shims by default.

The proposal based on the offline discussion:

  • Stop embedding the manifest in Roslyn for .NET 5 by passing the right command line option to the C# compiler (-nowin32manifest). There is a MS build property that drives this that we should set by default for .NET 5+, unless the app has explicitly provided manifest.
    • This is going to make apps on Linux a bit smaller. The Windows manifest in app.dll is a dead weight on Linux.
  • Attach Win10 compatible manifest to apphost by default if there is not one in app.dll.

Related:

@agocke
Copy link
Member

agocke commented Aug 3, 2020

@mateoatr Could you take a look at this?

@agocke agocke transferred this issue from dotnet/runtime Aug 12, 2020
@agocke
Copy link
Member

agocke commented Aug 12, 2020

Moving to SDK since the work should be here, and moving to .NET 6 since we won't get to this in the 5.0 time frame.

@agocke agocke added this to the 6.0.1xx milestone Aug 12, 2020
@agocke agocke assigned agocke and unassigned mateoatr Aug 12, 2020
mmitche pushed a commit to mmitche/sdk that referenced this issue Aug 18, 2020
…0191016.1 (dotnet#12904)

- Microsoft.NETCore.App.Ref - 3.1.0-preview2.19516.1
- Microsoft.NET.HostModel - 3.1.0-preview2.19516.1
- Microsoft.Extensions.DependencyModel - 3.1.0-preview2.19516.1
- Microsoft.DotNet.PlatformAbstractions - 3.1.0-preview2.19516.1
- Microsoft.NETCore.DotNetHostResolver - 3.1.0-preview2.19516.1
- Microsoft.NETCore.App.Runtime.win-x64 - 3.1.0-preview2.19516.1
@vitek-karas vitek-karas changed the title Self-contained apps are not marked as Windows 10 compatible in the manifest Application executable is not marked as Windows 10 compatible in the default manifest Aug 13, 2021
@agocke agocke modified the milestones: 6.0.1xx, Backlog Aug 13, 2021
@agocke
Copy link
Member

agocke commented Aug 13, 2021

Moving this to backlog for the moment, but I'd be interested in taking this for 6.0.2xx -- it just requires some coordination with Roslyn.

@miloush
Copy link

miloush commented Apr 21, 2023

@jkotas @agocke Can I ping the situation on this? I would be interested not only to have Windows 10 support in the default manifest but also comctl version 6 (to avoid having to do the Winforms manifest gymnastics e.g. in WPF applications), are there any compatibility concerns about that? I would think this could be done only starting with a particular version, like net9.0-windows.

@agocke agocke added this to AppModel Apr 21, 2023
@agocke
Copy link
Member

agocke commented Apr 21, 2023

No update yet. No one on the team currently has context on the issue so it would take some time to get ramped up, and it hasn't been high enough priority.

Not currently optimistic about it making .NET 8.

@jkotas
Copy link
Member Author

jkotas commented Apr 21, 2023

If your app needs a custom Win32 manifest, there is a simple workaround:

@miloush
Copy link

miloush commented Apr 24, 2023

Thanks, I think it would be good to have the default manifest updated. Doesn't have to be for .NET 8 obviously, but comctl6 is supported on all Windows versions supported by .NET, and Windows 10 is the only supported OS since .NET 7. Not quite sure why that is not reflected in the default manifest. For WPF we could add a build task to patch the default manifest during compilation, but I was interested first why shouldn't everyone simply have a better manifest out of the box.

@agocke agocke removed this from the Backlog milestone Jul 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: No status
Development

No branches or pull requests

4 participants