-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
.NETCore apps cannot specify a Windows application manifest and other things that must go in exe #1899
Comments
Is there an issue tracking this for the host side of the changes at core-setup? I imagine the SDK side would basically be able to respect this list and replace the manifest when appropriate? |
I opened an issue in core-setup. I think the SDK side would be to support specification of an Application Manifest for selfcontained applications and replace the application manifest from the host with the one specified by the project. That seems to give the most parity with the desktop way of doing things. |
I looked at this a bit more and I'm going to double down on this recommendation. That manifest can contain a lot of things that are application specific that folks may depend on which we cannot get right in a single copy in dotnet.exe. |
This needs to be done for .NETCore 3.0. There are a lot of things that should be transferred from the app to the host in the case of a standalone app in order to meet people's expectations. Here's a partial list:
1 & 2 will directly impact the desired functionality of .NET Core 3.0. There may be more. /cc @JeremyKuhne |
@tannergooding Do you have a pointer to the work you started for at least (3) in list above? |
@nguerrera, should be here: https://github.com/tannergooding/sdk/tree/embed-verinfo... I haven't checked if I have anything local that hasn't been pushed yet. |
Broadened the title to include 1-4 and whatever else. |
Subsystem bit is implemented now: #2470 |
@DustinCampbell and I were chatting about this this morning. In #2470, that only happens if there is a rid specified - should we do that implicitly and generate a host exe, etc if we know that it is a wpf/winforms exe (contains the framework reference)? |
Should we imply the RID itself in this case? With a self-contained false? This behavior would follow from that. And how would we choose between x86 and x64? I remember this being hard in the past when we were looking for some RID for compatibility for full framework projects. |
@peterhuene and I were just chatting about this challenge as well, and there isn't an easy answer. |
I think we should track whether you get an apphost by default separately from the work to put more stuff in an apphost. |
I believe this is being addressed by #2545. |
Opened #2553 to track the question about implicit RIDs and apphost generation. |
* Join macro * Make default format for the GUID macro overridable Fixes dotnet#1737 * Add links to the different template content repos in the readme * Convert repo list to bullets * Adding netstandard2.1 to the list of TFMs for 3.0 * Releases the original source location mount point * Change Build pool for internal builds (dotnet#1823) * Removing the SourceLink packages since it is provided by Arcade * Lowercase the content include path in the template pack csproj files * Add gitignore template * Update azure-pipelines.yml * Update web.config item template This updates the web.config item template to align with what `dotnet publish` produces when publishing * Update template_feed/Microsoft.DotNet.Common.ItemTemplates/content/WebConfig/web.config Co-Authored-By: Justin Kotalik <jukotali@microsoft.com> * Merge master into stabilize (dotnet#1905) * Update dependencies from https://github.com/dotnet/arcade build 20190418.7 (dotnet#1867) - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19218.7 * Update dependencies from https://github.com/dotnet/arcade build 20190422.2 (dotnet#1870) - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19222.2 * Update dependencies from https://github.com/dotnet/arcade build 20190423.2 (dotnet#1871) - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19223.2 * Update dependencies from https://github.com/dotnet/arcade build 20190424.9 (dotnet#1873) - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19224.9 * Update dependencies from https://github.com/dotnet/arcade build 20190425.5 (dotnet#1874) - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19225.5 * Update dependencies from https://github.com/dotnet/arcade build 20190426.3 (dotnet#1875) - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19226.3 * Update dependencies from https://github.com/dotnet/arcade build 20190429.8 (dotnet#1876) - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19229.8 * Update dependencies from https://github.com/dotnet/arcade build 20190430.6 (dotnet#1877) - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19230.6 * [master] Update dependencies from dotnet/arcade (dotnet#1879) * Update dependencies from https://github.com/dotnet/arcade build 20190501.6 - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19251.6 * Update dependencies from https://github.com/dotnet/arcade build 20190502.2 - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19252.2 * Update dependencies from https://github.com/dotnet/arcade build 20190503.8 (dotnet#1881) - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19253.8 * Update dependencies from https://github.com/dotnet/arcade build 20190504.1 (dotnet#1882) - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19254.1 * Update dependencies from https://github.com/dotnet/arcade build 20190505.2 (dotnet#1883) - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19255.2 * Update dependencies from https://github.com/dotnet/arcade build 20190506.12 (dotnet#1886) - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19256.12 * [master] Update dependencies from dotnet/arcade (dotnet#1888) * Update dependencies from https://github.com/dotnet/arcade build 20190507.7 - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19257.7 * Update dependencies from https://github.com/dotnet/arcade build 20190508.5 - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19258.5 * Update dependencies from https://github.com/dotnet/arcade build 20190509.9 (dotnet#1889) - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19259.9 * Update dependencies from https://github.com/dotnet/arcade build 20190510.2 (dotnet#1890) - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19260.2 * Update dependencies from https://github.com/dotnet/arcade build 20190511.1 (dotnet#1891) - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19261.1 * Update dependencies from https://github.com/dotnet/arcade build 20190512.1 (dotnet#1892) - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19262.1 * Update dependencies from https://github.com/dotnet/arcade build 20190513.3 (dotnet#1893) - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19263.3 * [master] Update dependencies from dotnet/arcade (dotnet#1895) * Update dependencies from https://github.com/dotnet/arcade build 20190514.13 - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19264.13 * Update dependencies from https://github.com/dotnet/arcade build 20190516.2 - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19266.2 * Update dependencies from https://github.com/dotnet/arcade build 20190516.4 - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19266.4 * Update dependencies from https://github.com/dotnet/arcade build 20190517.7 - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19267.7 * Update dependencies from https://github.com/dotnet/arcade build 20190518.2 - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19268.2 * Update dependencies from https://github.com/dotnet/arcade build 20190520.1 - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19270.1 * Update dependencies from https://github.com/dotnet/arcade build 20190520.2 - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19270.2 * Updating the glob.json to include the 2.1.x version * Update dependencies from https://github.com/dotnet/arcade build 20190521.7 (dotnet#1897) - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19271.7 * Update dependencies from https://github.com/dotnet/arcade build 20190522.13 (dotnet#1898) - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19272.13 * Update dependencies from https://github.com/dotnet/arcade build 20190523.11 (dotnet#1899) - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19273.11 * Update dependencies from https://github.com/dotnet/arcade build 20190524.6 (dotnet#1901) - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19274.6 * Update dependencies from https://github.com/dotnet/arcade build 20190528.1 (dotnet#1903) - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19278.1 * Merging stabilize into master (dotnet#1904) * Join macro * Make default format for the GUID macro overridable Fixes dotnet#1737 * Add links to the different template content repos in the readme * Convert repo list to bullets * Adding netstandard2.1 to the list of TFMs for 3.0 * Releases the original source location mount point * Change Build pool for internal builds (dotnet#1823) * Removing the SourceLink packages since it is provided by Arcade * Lowercase the content include path in the template pack csproj files * Add gitignore template * Update azure-pipelines.yml * Update web.config item template This updates the web.config item template to align with what `dotnet publish` produces when publishing * Update template_feed/Microsoft.DotNet.Common.ItemTemplates/content/WebConfig/web.config Co-Authored-By: Justin Kotalik <jukotali@microsoft.com> * Update --langVersion option's description * Removing Microsoft.Extensions.CommandLineUtils references from the repo
* Join macro * Make default format for the GUID macro overridable Fixes dotnet#1737 * Add links to the different template content repos in the readme * Convert repo list to bullets * Adding netstandard2.1 to the list of TFMs for 3.0 * Releases the original source location mount point * Change Build pool for internal builds (dotnet#1823) * Removing the SourceLink packages since it is provided by Arcade * Lowercase the content include path in the template pack csproj files * Add gitignore template * Update azure-pipelines.yml * Update web.config item template This updates the web.config item template to align with what `dotnet publish` produces when publishing * Update template_feed/Microsoft.DotNet.Common.ItemTemplates/content/WebConfig/web.config Co-Authored-By: Justin Kotalik <jukotali@microsoft.com> * Merge master into stabilize (dotnet#1905) * Update dependencies from https://github.com/dotnet/arcade build 20190418.7 (dotnet#1867) - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19218.7 * Update dependencies from https://github.com/dotnet/arcade build 20190422.2 (dotnet#1870) - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19222.2 * Update dependencies from https://github.com/dotnet/arcade build 20190423.2 (dotnet#1871) - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19223.2 * Update dependencies from https://github.com/dotnet/arcade build 20190424.9 (dotnet#1873) - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19224.9 * Update dependencies from https://github.com/dotnet/arcade build 20190425.5 (dotnet#1874) - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19225.5 * Update dependencies from https://github.com/dotnet/arcade build 20190426.3 (dotnet#1875) - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19226.3 * Update dependencies from https://github.com/dotnet/arcade build 20190429.8 (dotnet#1876) - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19229.8 * Update dependencies from https://github.com/dotnet/arcade build 20190430.6 (dotnet#1877) - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19230.6 * [master] Update dependencies from dotnet/arcade (dotnet#1879) * Update dependencies from https://github.com/dotnet/arcade build 20190501.6 - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19251.6 * Update dependencies from https://github.com/dotnet/arcade build 20190502.2 - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19252.2 * Update dependencies from https://github.com/dotnet/arcade build 20190503.8 (dotnet#1881) - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19253.8 * Update dependencies from https://github.com/dotnet/arcade build 20190504.1 (dotnet#1882) - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19254.1 * Update dependencies from https://github.com/dotnet/arcade build 20190505.2 (dotnet#1883) - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19255.2 * Update dependencies from https://github.com/dotnet/arcade build 20190506.12 (dotnet#1886) - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19256.12 * [master] Update dependencies from dotnet/arcade (dotnet#1888) * Update dependencies from https://github.com/dotnet/arcade build 20190507.7 - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19257.7 * Update dependencies from https://github.com/dotnet/arcade build 20190508.5 - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19258.5 * Update dependencies from https://github.com/dotnet/arcade build 20190509.9 (dotnet#1889) - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19259.9 * Update dependencies from https://github.com/dotnet/arcade build 20190510.2 (dotnet#1890) - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19260.2 * Update dependencies from https://github.com/dotnet/arcade build 20190511.1 (dotnet#1891) - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19261.1 * Update dependencies from https://github.com/dotnet/arcade build 20190512.1 (dotnet#1892) - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19262.1 * Update dependencies from https://github.com/dotnet/arcade build 20190513.3 (dotnet#1893) - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19263.3 * [master] Update dependencies from dotnet/arcade (dotnet#1895) * Update dependencies from https://github.com/dotnet/arcade build 20190514.13 - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19264.13 * Update dependencies from https://github.com/dotnet/arcade build 20190516.2 - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19266.2 * Update dependencies from https://github.com/dotnet/arcade build 20190516.4 - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19266.4 * Update dependencies from https://github.com/dotnet/arcade build 20190517.7 - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19267.7 * Update dependencies from https://github.com/dotnet/arcade build 20190518.2 - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19268.2 * Update dependencies from https://github.com/dotnet/arcade build 20190520.1 - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19270.1 * Update dependencies from https://github.com/dotnet/arcade build 20190520.2 - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19270.2 * Updating the glob.json to include the 2.1.x version * Update dependencies from https://github.com/dotnet/arcade build 20190521.7 (dotnet#1897) - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19271.7 * Update dependencies from https://github.com/dotnet/arcade build 20190522.13 (dotnet#1898) - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19272.13 * Update dependencies from https://github.com/dotnet/arcade build 20190523.11 (dotnet#1899) - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19273.11 * Update dependencies from https://github.com/dotnet/arcade build 20190524.6 (dotnet#1901) - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19274.6 * Update dependencies from https://github.com/dotnet/arcade build 20190528.1 (dotnet#1903) - Microsoft.DotNet.Arcade.Sdk - 1.0.0-beta.19278.1 * Merging stabilize into master (dotnet#1904) * Join macro * Make default format for the GUID macro overridable Fixes dotnet#1737 * Add links to the different template content repos in the readme * Convert repo list to bullets * Adding netstandard2.1 to the list of TFMs for 3.0 * Releases the original source location mount point * Change Build pool for internal builds (dotnet#1823) * Removing the SourceLink packages since it is provided by Arcade * Lowercase the content include path in the template pack csproj files * Add gitignore template * Update azure-pipelines.yml * Update web.config item template This updates the web.config item template to align with what `dotnet publish` produces when publishing * Update template_feed/Microsoft.DotNet.Common.ItemTemplates/content/WebConfig/web.config Co-Authored-By: Justin Kotalik <jukotali@microsoft.com> * Update --langVersion option's description * Removing Microsoft.Extensions.CommandLineUtils references from the repo
dotnet.exe does not contain an application manifest, nor does the stripped down version when building a standalone app. The result is that applications cannot specify supportedOS to tell Windows they want to run without any OS version compat shims.
On desktop the way this works is that an application can add a manifest file to the app project (Add new item > Application manifest file) and that gets embedded in the exe by the compiler. Since .NETCore apps don't actually build the EXE we'd have to do something different.
I propose we change the host to include all the latest
supportedOS
entries at the time we ship. This is consistent with what we do for exe's in desktop. We could then allow the application to specify a manifest then the SDK could replace the one in the host when building a standalone app.The text was updated successfully, but these errors were encountered: