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

Support for Win7 / Server 2008 R2 is DOOMED #4858

Open
6 tasks
StephanTLavavej opened this issue Jul 24, 2024 · 8 comments
Open
6 tasks

Support for Win7 / Server 2008 R2 is DOOMED #4858

StephanTLavavej opened this issue Jul 24, 2024 · 8 comments
Assignees
Labels
performance Must go faster

Comments

@StephanTLavavej
Copy link
Member

In VS 18.0 Preview 1 (whenever that happens, and whatever its official branding is), we will permanently drop support for targeting Windows 7 and Server 2008 R2, as originally explained in #4742. This time, we've got ultraboss approval (internal "experience" VSO-2164004).

⚙️ Code Changes

  • Revert Temporarily restore support for Win7 / Server 2008 R2 #4857.
  • Revert MSVC-PR-566956.
    • This will re-apply the commit "NON-GitHub: Link src/vctools/PDB binaries against synchronization.lib."
  • Block the VCRedist executable from being installed on Win7.
    • Thanks to Curtis Smith for explaining that we need to update src/SetupPackages/wix/Runtime/Bundle/vcredist.wxs to increase the bal:Condition from VersionNT >= v6.1 to VersionNT >= v6.2, and update comments/messages from "Windows 7" to "Windows 8".
    • While Win8.0 client is no longer supported by Microsoft, Server 2012 classic is receiving (paid) extended security updates until Oct 2026, so this is close enough. (Analysis from Always use cmpxchg16b on x64 for atomic_ref<16 bytes> #4751.)

📑 VS/MSVC Documentation

  • Document this in the Dev18 release notes.
    • Suggested wording: "Visual C++ no longer supports targeting Windows 7 and Windows Server 2008 R2, which have stopped receiving security updates."
  • Document this on the https://aka.ms/vcredist page.
  • Write a C++ Team Blog post.

📜 STL Changelog

  • Improved performance:
    • Improved the performance of system_clock::now() and atomic::wait() by directly calling APIs that were added in Windows 8.
      • The STL no longer supports targeting Windows 7 and Server 2008 R2.
@StephanTLavavej StephanTLavavej added the performance Must go faster label Jul 24, 2024
@StephanTLavavej StephanTLavavej self-assigned this Jul 24, 2024
@riverar
Copy link

riverar commented Jul 24, 2024

The current redistributable URLs contain the VS version in the URL (https://aka.ms/vs/17/release/vc_redist.x64.exe). Will these continue to provide a frozen-in-time bundle for affected targets? Or will they start failing for Windows 7 / Server 2008? Will there be a new /vs/18/ URL? Or perhaps the creation of a /vs/latest short-link is in order?

@StephanTLavavej
Copy link
Member Author

Given that replacing 17 with 16 in that short-link results in downloading the VS 2015-2019 VCRedist instead of the VS 2015-2022 VCRedist, I think it's safe to say that we have a predictable system for handling new major versions of the VCRedist here, and no specific action should be required on our (STL maintainers) part to handle Dev18. (I'll grudgingly admit that syncing Win7 support removal to the new major version results in a simpler-to-understand experience for users.)

@stdin82
Copy link

stdin82 commented Aug 9, 2024

Server 2008 R2 will continue to receive extended security updates until Jan 2026 (probably for Premium Assurance only)

just saying

@StephanTLavavej
Copy link
Member Author

Citation, please? (Not that it affects the decision.)

@riverar
Copy link

riverar commented Aug 9, 2024

That may be difficult to cite thanks to the black-hole that is Microsoft Learn/Docs, but Premium Assurance at the time was typically sold with six (6) years of Extended Support before moving to the Extended Security Update plan.

EOL (January 14, 2020) + Premium Assurance (6 years) = January 14, 2026.


EDIT: Found more information.

image

@ChrisDenton
Copy link

Copied datasheet: https://www.licensingschool.co.uk/wp-content/uploads/2016/04/SQL_Server_and_Windows_Server_Premium_Assurance_Datasheet-December-2016.pdf

Though I think you would have to have bought Premium Assurance within a fairly narrow time frame to take advantage of this.

@stdin82
Copy link

stdin82 commented Aug 10, 2024

A live source
https://configmgrbits.azureedge.net/adminuicontent/ConfigMgr.AdminUIContent.cab

LifecycleProducts.xml:
Server-PA

@StephanTLavavej
Copy link
Member Author

Thanks, good to know. This doesn't affect our removal decision - we're not going to go out there and smash a bunch of servers with hammers, it's just that programmer-users won't be able to use the next major version of VS to ship new code to the handful of end-users that might still be running this OS for a handful of months, and the corresponding VCRedist will be blocked from installing. VS 2022 will continue to be capable of targeting Server 2008 R2, and its redist will continue to work there.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
performance Must go faster
Projects
None yet
Development

No branches or pull requests

4 participants