Closed richlander closed 1 year ago
"will not be tested" does that specifically mean no CI for Windows 7?
Yes. It means a few things for .NET 7:
Will it be the same with Windows 8.1 or will .Net 7 support it due to being released within its support timeframe?
Windows 8.1 will only be supported with .NET 6, for the remainder of Windows 8.1 support. It will not be supported with .NET 7.
.NET 7 will not be supported on Windows 7, will not be tested, but nothing will be done to hinder it.
So no Win7-specific code removal for .NET 7 then? But possibly in .NET 8 timeframe?
So no Win7-specific code removal for .NET 7 then? But possibly in .NET 8 timeframe?
Right. That's the new plan. I updated this older comment: https://github.com/dotnet/core/issues/7556#issuecomment-1162588646
No CI for Windows 7.
I would follow up with a question about a rough time line then. If CI were (hypothetically) removed tomorrow, then I think there is a decent chance something will find its way in that will not work on Windows 7, or break key scenarios, for .NET 7.
If CI is removed closer to the final release, or at least the 7.0 snap, then it is more likely .NET 7 will remain functional in Windows 7.
When do we expect those changes to happen?
That's a good question. Hasn't been discussed yet. I'll post when we have clarity on that.
Just to leave my two cents here, but I am okay with this announcement. Just wanted to be a voice of support. :)
Microsoft had a sizable awareness push back in 2019/2020 that mainline support for Windows 7 was coming to an end (and now a similar thing is happening with Windows 8.1). While a number of users may still be on Windows 7, it'd be a lie to say that Windows 7 is not an old, unsupported, out of date OS at this point. Although a lot of products (both Microsoft and non-Microsoft) still support Windows 7, I personally think we're at the point now where such support shouldn't be expected anymore out of any product. As mentioned earlier in the thread, even if a product on Windows 7 is still supported, the underlying OS isn't receiving support and isn't getting security updates anymore.
And just as a user can still boot up Windows 7 today even if it's unsupported, we can still boot up .NET 6 whenever we need to deploy to Windows 7.
what about the win7 baseline OS like windows server 2008 R2 and win8.x baseline OS like Windows Server 2012 ?
If this article is to be believed, Windows 7 ESU will be extended to 6 years (instead of the 3 that expire next January). If this is the case, then shouldn't .NET continue to support Windows 7 with ESU fully for a few more versions e.g. up to .NET 8 or 9 (esp. since both are Microsoft products)?
I'd like to say that I really appreciate being able to support Windows 7 as well, but I know that it definitely takes a bit of effort so I will understand if support is removed (but I will still be saddened).
If this article is to be believed, Windows 7 ESU will be extended to 6 years (instead of the 3 that expire next January). If this is the case, then shouldn't .NET continue to support Windows 7 with ESU fully for a few more versions e.g. up to .NET 8 or 9 (esp. since both are Microsoft products)?
I'd like to say that I really appreciate being able to support Windows 7 as well, but I know that it definitely takes a bit of effort so I will understand if support is removed (but I will still be saddened).
^ 100% this.
Also a comment about the person who mentioned openssl, another cryptographic library that exists is crypto++ (C++).
Windows 7 ESU will be extended to 6 years
I haven't heard that. I'll ask.
Office made a similar announcement recently: https://techcommunity.microsoft.com/t5/office-end-of-support-blog/act-now-and-keep-microsoft-365-apps-supported-after-january-10/ba-p/3568981
I think Windows 7 CI should remain intact for .NET 6 and 7 (until 6 and 7 is EOL) and then when main switches to .NET 8 disable it on main. That way servicing releases to .NET 7 do not accidentally regress windows 7 support code.
I haven't heard that. I'll ask.
So did you hear anything back regarding this?
The end of support for previous versions is inevitable... Although it looks very funny - MSFT spent a year making .Net 7 on Windows 7 and just before the release decided that .Net 7 would not work/supported on Windows 7/8.
What about support for 2012 servers? It would seem much more logical to announce that .Net 7 will be the last version that runs on Windows 7/8 and will have limited (security only/migration only) support on the systems after 2023.
As noted above, some companies may have already spent money testing products on .Net 7 and Windows 7/8 in the last year.
It would have been much more honest to announce that .Net 8 will not work on Windows 7/8 and remove the old code at the beginning of the development cycle.
ye
Even the .NET 6 will not be supported past end of ESU seems like a backflip. Imo, you need to leave the .NET 6 implementation as is in terms of Windows 7 specific things, and if you "accidentally" break it, you gotta fix it regardless of whether ESU has ended. Otherwise it's as bad as intentionally breaking it imo since that's the end result for anyone wanting to update .NET 6 to the latest patch on Windows 7.
Here's what I think is a reasonable minimum since you seem to desperately not want to support Windows 7 (.NET 6, and any other versions that have officially supported Windows 7 ever that are still getting patches):
Only a few weeks left until the official release at this point, has a final determination been made? I imagine such a big change in code won't happen at this point.
The problem is that someone is desperately want to remove the non-supported OS code 🥹 . and it's interesting that I can't find any article that said openJdk remove "windows xp" support
it's interesting that I can't find any article that said openJdk remove "windows xp" support
Because the big companies are saturated with Jdk-based products and they still buy security patches for JDKs from 15-20 years ago.
it's interesting that I can't find any article that said openJdk remove "windows xp" support
Because the big companies are saturated with Jdk-based products and they still buy security patches for JDKs from 15-20 years ago.
The big companies are also saturated with Windows 7, hence why they buy continued support (ESUs).
I don't like this...eager hurriedness to kill off Windows 7 and 8.1, certainly not with where their successors seem to be headed...but I suppose that's a debate best not ignited here.
Final update on this topic. We updated .NET 7 release notes to remove Windows 7.
Why such suffering? Just stop supporting Windows for simple computers, and offer a transition to a quantum computer (in Q# language).
Зачем такие мучения? Просто прекратите поддержку Windows для простых компьютеров, и предложите переход на квантовый компьютер (на языке Q#).
Golang, nodejs as electronjs stop support win 7,8
I have never quite understood, shouldn’t it be natural for .net as a platform to become a universal solution? Let me give you an example. When someone wants to use the .net platform to develop the Edge browser, the .net platform does not support Windows 7, which means that the .net platform cannot be an option. However, in reality, we all know that edge supports Windows 7.
This news makes people have to think deeply. .net seems to always only want to be a second-class platform for various platforms. This short-sighted and self-defeating purpose or goal greatly limits the .net platform from becoming a truly universal and high-value platform. Yes, .net not a platform worth investing in!
If the .net platform only wants to play the role of glue, then maybe it can only be the glue forever.
However, in reality, we all know that edge supports Windows 7.
It is not what the official support statement for Edge says. There is a difference between "supported" and "still works".
I'm aware that official support for Windows 7 ended with .NET 7, I have to keep my project using .NET6.
I attempted to publish it with .NET 7 from an enterprise application, but it didn't run on Windows 7.
Can the community provide any assistance in making it compatible with Windows 7?
@jkotas @richlander @John0King
@RockNHawk If your app worked fine with .NET 6 on Windows 7 there shouldn't be any problems with .NET 7. It's worked perfectly fine for me. Please elaborate on what you mean by "didn't run". Is an error shown? Silent crash? Check the Application event log for more clues too.
@RockNHawk If your app worked fine with .NET 6 on Windows 7 there shouldn't be any problems with .NET 7. It's worked perfectly fine for me. Please elaborate on what you mean by "didn't run". Is an error shown? Silent crash? Check the Application event log for more clues too.
Wow, .NET 7 works fine on Windows 7 for you ??
Unfortunately, I was prompted that API-ms-win-crt-run-time L1-1-0-0.dll was missing, and I have tried folling fix:
I picked up all api-ms-*.dll
from the .NET 6's app self contained distribution, copy these dll files into the .NET 7 version directory.
Retry run app, but got the following error:
(the api-ms-*.dll list from .NET 6 application self contained folder I copied to .NET 7 folder)
Unable to find entry point, unable to locate program input point UCRTBASE, . Noinfo. The dynamic link library api-ms-win-ct-runtime-1-l-0. DLL on.
Note: Windows 7 sp1 x64, the .NET 6 works well, and I have tried publish a very simple ASP.NET Core app with .NET 7 with the same error
Unfortunately, I was prompted that API-ms-win-crt-run-time L1-1-0-0.dll was missing
The UCRT dlls should already be required for .NET 6. They were unnecessarily included in .NET 6, and removed in .NET 7.
The .NET 6 support on Windows 7 already indicates UCRT: https://learn.microsoft.com/en-us/dotnet/core/install/windows?tabs=net60#additional-deps You should be able to find the api-ms-* files in system32.
When talking about Windows 7 support, we are always referring to the final version with all updates installed.
Unfortunately, I was prompted that API-ms-win-crt-run-time L1-1-0-0.dll was missing
The UCRT dlls should already be required for .NET 6. They were unnecessarily included in .NET 6, and removed in .NET 7.
The .NET 6 support on Windows 7 already indicates UCRT: https://learn.microsoft.com/en-us/dotnet/core/install/windows?tabs=net60#additional-deps You should be able to find the api-ms-* files in system32.
When talking about Windows 7 support, we are always referring to the final version with all updates installed.
Yeah, But I'm trying using .NET 7 on Windows 7, not .NET 6.
Unfortunately, I was prompted that API-ms-win-crt-run-time L1-1-0-0.dll was missing
The UCRT dlls should already be required for .NET 6. They were unnecessarily included in .NET 6, and removed in .NET 7.
The .NET 6 support on Windows 7 already indicates UCRT: https://learn.microsoft.com/en-us/dotnet/core/install/windows?tabs=net60#additional-deps You should be able to find the api-ms-* files in system32.
When talking about Windows 7 support, we are always referring to the final version with all updates installed.
Have you tried running .NET 7 or .NET 8 on Windows 7, does it works ?
@RockNHawk Try installing the latest C++ runtimes:
Install both.
@RockNHawk Try installing the latest C++ runtimes:
Install both.
Cool, it works. Thank you for your information, I can use .NET 7 event maybe .NET 8 on windows 7. Great!
HI. I'm a windows 7 user and I'm trying to figure out what version of .NET to install. I keep coming across different answers from 3 to 7, maybe even 8. I'm not very tech savvy and before today i didn't even know what .NET was (I still don't, i just know i need it to install games through Steam's console). I have windows 7 Home Premium 6.1 (Build 7601: Service Pack 1) x64
@Sin-Shadow-Fox Each software has its own .NET version requirement. In the context of this issue, I have found everything up to .NET 8 to work fine on Windows 7, but do note that the software that utilizes it may not actually be Windows 7 compatible anymore. This is more of a question for the developer(s) of the software you are using.
@Sin-Shadow-Fox Each software has its own .NET version requirement. In the context of this issue, I have found everything up to .NET 8 to work fine on Windows 7, but do note that the software that utilizes it may not actually be Windows 7 compatible anymore. This is more of a question for the developer(s) of the software you are using.
How do i contact them?
@Sin-Shadow-Fox Whoever makes the .NET executable you are trying to launch, they are the ones you need to reach out to.
@Sin-Shadow-Fox Whoever makes the .NET executable you are trying to launch, they are the ones you need to reach out to.
I don't know who makes .NET.
@Sin-Shadow-Fox Microsoft makes .NET, but application developers use .NET to build their apps. Whoever made the app you are using are the ones you need to get in touch with.
@Sin-Shadow-Fox Microsoft makes .NET, but application developers use .NET to build their apps. Whoever made the app you are using are the ones you need to get in touch with.
I guess that might be Steam/Valve but the only way to contact them is through their ticket system which is notorious for being unhelpful. Is there another way?
@Sin-Shadow-Fox If the problem is with a Steam component, you are out of luck in this case because Steam dropped support for Windows 7 a few months ago: https://help.steampowered.com/en/faqs/view/4784-4F2B-1321-800A
Time to upgrade. 🙂
@Sin-Shadow-Fox If the problem is with a Steam component, you are out of luck in this case because Steam dropped support for Windows 7 a few months ago: https://help.steampowered.com/en/faqs/view/4784-4F2B-1321-800A
Time to upgrade. 🙂
Unfortunately there is not a viable upgrade to windows 7 in the windows OS chain yet (and i really don't want to move to linux). Fortunately however, thanks to windows 7 users putting our Steam clients into offline mode before the shutoff, Steam still works perfectly fine I'm happy to report. However in order to use the Steam console, i need to have .NET installed https://steamcommunity.com/sharedfiles/filedetails/?id=2353930763
@Sin-Shadow-Fox Ok, it's not clear what .NET version you will need, but just install all these and it should hopefully take care of the issue:
@Sin-Shadow-Fox Ok, it's not clear what .NET version you will need, but just install all these and it should hopefully take care of the issue:
1. https://aka.ms/dotnet/8.0/windowsdesktop-runtime-win-x64.exe 2. https://aka.ms/dotnet/7.0/windowsdesktop-runtime-win-x64.exe 3. https://aka.ms/dotnet/6.0/windowsdesktop-runtime-win-x64.exe 4. https://aka.ms/dotnet/5.0/windowsdesktop-runtime-win-x64.exe
Doesn't having several different versions of the same program running at the same time create issues?
@Sin-Shadow-Fox In this case there is nothing to worry about. Of course, you can go through 1-by-1 to figure out what is actually needed, and only keep that one installed.
Each release version of .NET can be installed side-by-side, and furthermore, if an app is built for .NET 7, it won't run unless you have 7 installed (usually), even if you have 8 installed.
@Sin-Shadow-Fox In this case there is nothing to worry about. Of course, you can go through 1-by-1 to figure out what is actually needed, and only keep that one installed.
So i ended having to install all 4 that you provided and . . .
Each release version of .NET can be installed side-by-side, and furthermore, if an app is built for .NET 7, it won't run unless you have 7 installed (usually), even if you have 8 installed.
Then doesn't that mean i should technically install every version of .NET?
@Sin-Shadow-Fox you should ask your questions to the developers of the DepotDownloader tool https://github.com/SteamRE/DepotDownloader
.NET support for Windows 7 and 8.1 will end in January 2023
Windows 7 and Windows 8.1 are currently supported with .NET 6. They will not be supported with .NET 7+.
Windows 7 is only supported (with .NET 6) for organizations that have purchased Extended Security Updates (ESU). Windows 7 will be supported for those organizations until the ESU offering ends, which is January, 2023. At that time, Windows 7 will no longer be supported with .NET 6.
Windows 8.1 is supported until January 2023. At that time, Windows 8.1 will no longer be supported with .NET 6.
Windows Server 2012/R2 ESU will start mid-way through the .NET 7 lifecycle, in October 2023. We will offer support for Windows Server 2012/R2 throughout .NET 7 and .NET 8, assuming you have purchased ESU updates. We recommend that you do not install .NET 7 on Windows Server 2012/R2 unless you have a migration plan (within a year of .NET 7 General Availability) to a newer operating system or plan to purchase Windows Server ESU.
Windows Server 2016+ will be supported throughout .NET 7 and .NET 8.
We encourage you to migrate to Windows 10 or 11 if you would like to use .NET 7 or later on Windows Client.