diff --git a/docs/framework/install/dotnet-35-windows-11-faq.yml b/docs/framework/install/dotnet-35-windows-11-faq.yml new file mode 100644 index 0000000000000..25a9e947b61b1 --- /dev/null +++ b/docs/framework/install/dotnet-35-windows-11-faq.yml @@ -0,0 +1,75 @@ +### YamlMime:FAQ +metadata: + title: .NET Framework 3.5 on Windows 11 FAQ + description: "This article answers frequently asked questions about .NET Framework 3.5 on Windows 11." + titleSuffix: "" + ms.topic: faq + ms.date: 02/02/2026 + ai-usage: ai-assisted + +title: .NET Framework 3.5 on Windows 11 FAQ +summary: | + This article answers frequently asked questions about .NET Framework 3.5 on Windows 11. For more information, see [Install .NET Framework 3.5 on Windows 11](dotnet-35-windows-11.md). + + [!INCLUDE [dotnet-35-installer](includes/dotnet-35-installer.md)] + +sections: + - name: Availability and lifecycle + questions: + - question: Is .NET Framework 3.5 included in Windows 11? + answer: | + Your Windows 11 version determines availability: + + - Windows 11 Insider Preview Build 27965 and later versions. + + No. Windows doesn't include .NET Framework 3.5 as a built-in or optional component. + + - Windows 11 25H2 and earlier versions. + + Yes. Windows includes .NET Framework 3.5 as a built-in optional component. Enable it through Windows Features on Demand. + + - question: How long is the .NET Framework 3.5 standalone installer supported? + answer: Support ends January 9, 2029, according to the official [Microsoft .NET Framework lifecycle policy](/lifecycle/products/microsoft-net-framework). + + - question: When I upgrade to a newer version of Windows, is .NET Framework 3.5 included or persisted? + answer: No. When you upgrade Windows to the next release, reinstall .NET Framework 3.5. + + - name: Installation and deployment + questions: + - question: How do I get .NET Framework 3.5 if my application requires it? + answer: Use the standalone installer. For more details, including a link to the installer, see [Announcing Windows 11 Insider Preview Build 27965 (Canary Channel)](https://blogs.windows.com/windows-insider/2025/10/08/announcing-windows-11-insider-preview-build-27965-canary-channel/). + + - question: Are silent installs supported for the new .NET Framework 3.5 standalone installer? + answer: Yes. Use `/q` and `/quiet` command-line options for unattended deployment. + + - question: Can I apply .NET Framework 3.5 to an offline Windows image? + answer: No. Offline installation and servicing isn't supported because .NET Framework 3.5 is no longer an optional Windows Feature on Demand component. DISM and other tools that customize offline Windows deployment images can't manage .NET Framework 3.5. Use **online servicing** to modify a Windows installation. For more information, see [Modify a Windows image](/windows-hardware/manufacture/desktop/modify-an-image?view=windows-11). + + - name: Migration and support + questions: + - question: What is the recommended migration path? + answer: | + Update your application from .NET Framework to .NET. If you can't move to .NET, update your application to .NET Framework 4.8.1. For more information, see [Microsoft .NET Framework lifecycle policy](/lifecycle/products/microsoft-net-framework). + + - question: Where can enterprises and ISVs get additional help with compatibility? + answer: | + Use the [Microsoft FastTrack – App Assure](/microsoft-365/fasttrack/windows-365-and-app-assure#app-assure) program for personalized migration and compatibility assistance. + + - name: Troubleshooting + questions: + - question: | + When I try to run a legacy .NET Framework 3.5 application or its installer, I see a "Program Compatibility Assistant" or a Microsoft .NET Framework runtime message box. Is this expected? + answer: | + Yes. Your application or its installer requires .NET Framework 3.5 to run. The message box links to this document. + + - question: | + My .NET Framework 3.5 application displays an unclear message, like "runtime error" without further guidance when I don't have .NET 3.5 installed. Is this expected? + answer: | + Legacy applications might handle the missing dependency in various ways, including unclear messages. Use the mitigation guidance in this document or contact your software vendor for more information. + +additionalContent: | + ## Related content + + - [Install .NET Framework 3.5 on Windows 11](dotnet-35-windows-11.md) + - [Developers and .NET Framework 3.5](dotnet-35-windows.md#developers-and-net-framework-35) + diff --git a/docs/framework/install/dotnet-35-windows-11.md b/docs/framework/install/dotnet-35-windows-11.md new file mode 100644 index 0000000000000..9e28c5f81d675 --- /dev/null +++ b/docs/framework/install/dotnet-35-windows-11.md @@ -0,0 +1,72 @@ +--- +title: Install .NET Framework 3.5 on Windows 11 +description: Learn how to install .NET Framework 3.5 on Windows 11. .NET Framework 3.5 can run apps that target .NET Framework 1.0 through 3.5. +ms.date: 02/02/2026 +ai-usage: ai-assisted +--- +# Install .NET Framework 3.5 on Windows 11 + +.NET Framework 3.5 is supported on Windows 11. How you obtain .NET Framework 3.5 depends on which version of Windows 11 you're using. Use the following list to identify the installation method that's applicable to you: + +- [Windows 11 25H2 and earlier versions.](dotnet-35-windows.md#install-net-framework-35-on-demand) +- [Windows 11 Insider Preview Build 27965 and later versions.](#windows-11-insider-preview-build-27965-and-later) + +## Windows 11 Insider Preview Build 27965 and later + +[!INCLUDE [dotnet-35-installer](includes/dotnet-35-installer.md)] + +For more information about this change to .NET Framework 3.5, see [.NET Framework 3.5 on Windows 11 FAQ](dotnet-35-windows-11-faq.yml). + +## .NET Framework 3.5 optional components + +_Applies to **Windows 11 Insider Preview Build 27965 and later**_ + +The following optional .NET Framework 3.5 components were previously available as Windows Features on Demand. Windows 11 Insider Preview Build 27965 removes these components: + +- ASP.NET 3.5 +- .NET Extensibility 3.5 +- WCF HTTP Activation +- WCF non-HTTP Activation + +## How to enable ASP.NET 3.5 and WCF in IIS + +Starting with Windows 11 Insider Preview Build 27965, ASP.NET 3.5 and WCF require additional registration to run in IIS. + +Enable ASP.NET 3.5 on your device using the [`Enable-ASPNet35.ps1`](https://go.microsoft.com/fwlink/?linkid=2348600&clcid=0x409) PowerShell script. The script enables the functionality of the following optional components that have been removed from Windows: + +- ASP.NET 3.5 +- .NET Extensibility 3.5 + +> [!NOTE] +> The script only restores the functionality of these optional components so that applications that depend on them can continue working. The optional components are still missing from Windows 11 and tools like DISM won't detect these optional components as present after running the script. + +### Prerequisites + +- Windows Insider Preview Build 27965 or later +- Windows PowerShell 5.1 +- .NET Framework 3.5 +- The Web Server (IIS) feature or role enabled, along with the **ISAPI Filters** and **ISAPI Extensions** optional components +- An administrative PowerShell command window + +### Run the script + +1. Download the [`Enable-ASPNet35.ps1`](https://go.microsoft.com/fwlink/?linkid=2348600&clcid=0x409) script to a local directory. +1. Open a Windows PowerShell command window **as Administrator**. +1. Change the execution policy to allow scripts downloaded from the Internet and signed by trusted publishers: + + ```powershell + Set-ExecutionPolicy RemoteSigned + ``` + + For more information about execution policy settings, see [Set-ExecutionPolicy](/powershell/module/microsoft.powershell.security/set-executionpolicy?view=powershell-5.1&preserve-view=true). + +1. Go to the directory where you downloaded the script. +1. Run the script: + + ```powershell + .\Enable-ASPNet35.ps1 + ``` + +## How to determine which version of Windows you're using + +[!INCLUDE [dotnet-determine-windows-version](includes/dotnet-determine-windows-version.md)] diff --git a/docs/framework/install/dotnet-35-windows.md b/docs/framework/install/dotnet-35-windows.md index affb0d3078c6a..a49a89ebe04cb 100644 --- a/docs/framework/install/dotnet-35-windows.md +++ b/docs/framework/install/dotnet-35-windows.md @@ -1,11 +1,13 @@ --- title: Install .NET Framework 3.5 on Windows description: Learn how to install .NET Framework 3.5 on Windows and Windows Server. .NET Framework 3.5 can run apps that target .NET Framework 1.0 through 3.5. -ms.date: 07/10/2025 +ms.date: 02/02/2026 ai-usage: ai-assisted --- # Install .NET Framework 3.5 on Windows and Windows Server +[!INCLUDE [dotnet-35-find-update](includes/dotnet-35-find-update.md)] + .NET Framework is software that allows programs to run on your computer. Think of it as an engine that apps need to function—just like a car needs an engine to run, some apps need .NET Framework to work. This article helps you install version 3.5, which is an older version that some apps still require. You might need .NET Framework 3.5 to run an app on Windows or Windows Server. Windows and Windows Server come with .NET Framework 4, which doesn't support apps built with .NET Framework 1.1 through 3.5. To run these apps, install .NET Framework 3.5. If you're a developer that requires .NET Framework 3.5, see the section [Developers and .NET Framework 3.5](#developers-and-net-framework-35). @@ -17,6 +19,8 @@ If you're a developer that requires .NET Framework 3.5, see the section [Develop You might see the following configuration dialog if you try to run an app that requires an older version of .NET Framework. Depending on your version of Windows, the dialog might be slightly different. Choose **Download and install this feature** to enable .NET Framework 3.5. This option requires an internet connection. +[!INCLUDE [dotnet-35-find-update](includes/dotnet-35-find-update.md)] + :::image type="content" source="./media/dotnet-35-windows/dotnet-framework-installation-dialog.png" alt-text="Screenshot of the .NET Framework installation dialog."::: ### Why am I getting this pop-up? @@ -27,6 +31,8 @@ You might see the following configuration dialog if you try to run an app that r Enable .NET Framework 3.5 through the **Add Roles and Features Wizard**. +[!INCLUDE [dotnet-35-find-update](includes/dotnet-35-find-update.md)] + 1. Press the Start :::image type="icon" source="media/dotnet-35-windows/windows-keyboard-logo.png" border="false"::: button on the taskbar. 1. Search for **Add Roles and Features Wizard** and open it. 1. Search for **Windows Features** and open it. The **Turn Windows features on or off** dialog box appears. @@ -38,7 +44,7 @@ Enable .NET Framework 3.5 through the **Add Roles and Features Wizard**. ## Enable .NET Framework 3.5 on Windows -You can enable the .NET Framework 3.5 through the Windows Control Panel. This option requires an internet connection. +[!INCLUDE [dotnet-35-windows-11-caution-version](includes/dotnet-35-windows-11-caution-version.md)] 1. Press the Start :::image type="icon" source="media/dotnet-35-windows/windows-keyboard-logo.png" border="false"::: button on the taskbar. 1. Search for **Windows Features** and open it. The **Turn Windows features on or off** dialog box appears. @@ -50,7 +56,13 @@ You don't need to select the child items for **Windows Communication Foundation ## Download the offline installer -The .NET Framework 3.5 SP1 offline installer is available for Windows versions **prior to Windows 10 and Windows Server 2016**. For more information, see [.NET Framework 3.5 SP1 download page](https://dotnet.microsoft.com/download/dotnet-framework/net35-sp1?wt.mc_id=install-docs). +[!INCLUDE [dotnet-35-windows-11-caution-version](includes/dotnet-35-windows-11-caution-version.md)] + +The .NET Framework 3.5 SP1 offline installer is available for Windows versions **prior to Windows 10 and Windows Server 2016**, such as **Windows 8**. For more information, see [.NET Framework 3.5 SP1 download page](https://dotnet.microsoft.com/download/dotnet-framework/net35-sp1?wt.mc_id=install-docs). + +[!INCLUDE [dotnet-35-find-update](includes/dotnet-35-find-update.md)] + +### Windows 10 Starting with Windows 10 and Windows Server 2016 operating systems, the only supported way of installing .NET Framework 3.5 in an offline mode is by using the original installation media's _:::no-loc text="cab":::_ files. For more information, see [Microsoft .NET Framework 3.5 deployment considerations](/windows-hardware/manufacture/desktop/microsoft-net-framework-35-deployment-considerations). @@ -65,6 +77,20 @@ If you still can't resolve your installation issue or you don't have an internet ## Developers and .NET Framework 3.5 +[!INCLUDE [dotnet-35-installer](includes/dotnet-35-installer.md)] + +For more information about this change to .NET Framework 3.5, see [.NET Framework 3.5 on Windows 11 FAQ](dotnet-35-windows-11-faq.yml). + +Additionally, the optional components that rely on .NET Framework 3.5 have also been removed: + +- ASP.NET 3.5 +- .NET Extensibility 3.5 +- WCF HTTP Activation +- WCF non-HTTP Activation + +> [!IMPORTANT] +> Microsoft strongly recommends you upgrade your application from .NET Framework to modern .NET, such as .NET 10. If you can't move to .NET, upgrade your application to .NET Framework 4.8 or 4.8.1. For more information about upgrading from .NET Framework 3.5, see [.NET Framework 4 migration issues](../migration-guide/net-framework-4-migration-issues.md) and [Overview of porting from .NET Framework to .NET](../../core/porting/framework-overview.md). + If you're a developer that maintains existing software and you need to use .NET Framework 3.5, enable it with the following steps: 1. Install .NET Framework 3.5 on your system using the instructions in this article. diff --git a/docs/framework/install/guide-for-developers.md b/docs/framework/install/guide-for-developers.md index 5c654f5b2754d..96771cae6eb21 100644 --- a/docs/framework/install/guide-for-developers.md +++ b/docs/framework/install/guide-for-developers.md @@ -1,7 +1,7 @@ --- title: "Install the .NET Framework developer pack or redistributable" description: "Developers can download and install the .NET Framework developer pack and targeting pack. You can include the .NET Framework redistributable with your apps." -ms.date: 07/10/2025 +ms.date: 02/02/2026 helpviewer_keywords: - ".NET Framework redistributable package, downloading" - ".NET Framework, installing" diff --git a/docs/framework/install/includes/dotnet-35-find-update.md b/docs/framework/install/includes/dotnet-35-find-update.md new file mode 100644 index 0000000000000..5aedd080fe807 --- /dev/null +++ b/docs/framework/install/includes/dotnet-35-find-update.md @@ -0,0 +1,8 @@ +--- +ms.author: adegeo +ms.date: 02/02/2026 +ms.topic: include +--- + +> [!IMPORTANT] +> .NET Framework 3.5 was released in 2008. Before installing .NET Framework 3.5, try to find an updated version of your software that uses a new version of .NET Framework or .NET. diff --git a/docs/framework/install/includes/dotnet-35-installer.md b/docs/framework/install/includes/dotnet-35-installer.md new file mode 100644 index 0000000000000..8208aa0f83848 --- /dev/null +++ b/docs/framework/install/includes/dotnet-35-installer.md @@ -0,0 +1,8 @@ +--- +ms.author: adegeo +ms.date: 02/02/2026 +ms.topic: include +ai-usage: ai-assisted +--- + +Starting with Windows 11 Insider Preview Build 27965, .NET Framework 3.5 is no longer available as a Windows Features on Demand optional component. Install it using a standalone installer (also known as an offline installer). For more information, see [Announcing Windows 11 Insider Preview Build 27965 (Canary Channel)](https://blogs.windows.com/windows-insider/2025/10/08/announcing-windows-11-insider-preview-build-27965-canary-channel/). diff --git a/docs/framework/install/includes/dotnet-35-windows-11-caution-version.md b/docs/framework/install/includes/dotnet-35-windows-11-caution-version.md new file mode 100644 index 0000000000000..3e6b2e0821bf2 --- /dev/null +++ b/docs/framework/install/includes/dotnet-35-windows-11-caution-version.md @@ -0,0 +1,8 @@ +--- +ms.author: adegeo +ms.date: 02/02/2026 +ms.topic: include +--- + +> [!CAUTION] +> If you're using Windows 11 Insider Preview Build 27965 or later, see [Install .NET Framework 3.5 on Windows 11](../dotnet-35-windows-11.md). diff --git a/docs/framework/install/includes/dotnet-determine-windows-version.md b/docs/framework/install/includes/dotnet-determine-windows-version.md new file mode 100644 index 0000000000000..9accae4d25b34 --- /dev/null +++ b/docs/framework/install/includes/dotnet-determine-windows-version.md @@ -0,0 +1,22 @@ +--- +ms.author: adegeo +ms.date: 02/02/2026 +ms.topic: include +--- + +There are a few different ways you can find the version of Windows you're using: + +- Select [this (ms-settings:about) link](ms-settings:about) which might open the Settings app. + + 1. Scroll down to the **Windows specifications** section and find the **Version** field. + +- Use the start menu: + + 1. Press the Windows key to open the **Start** menu. + 1. Type `Settings` to find the **Settings** app and open it. + 1. Scroll down to the **Windows specifications** section and find the **Version** field. + +- Run the `winver.exe` app: + + 1. Press the Windows+R keyboard shortcut to open the **Run** dialog. + 1. Type `winver.exe` and press Enter. diff --git a/docs/framework/install/on-windows-and-server.md b/docs/framework/install/on-windows-and-server.md index 2b544b59a892c..04731d7eb9b4f 100644 --- a/docs/framework/install/on-windows-and-server.md +++ b/docs/framework/install/on-windows-and-server.md @@ -26,12 +26,6 @@ The following versions of .NET Framework are still supported: - [.NET Framework 4.6.2](https://dotnet.microsoft.com/download/dotnet-framework/net462) (support ends January 12, 2027) - [.NET Framework 3.5 Service Pack 1](https://dotnet.microsoft.com/download/dotnet-framework/net35-sp1) (support ends January 9, 2029) -### .NET Framework 3.5 - -.NET Framework 3.5 is still supported by Microsoft, even though it's an older version of .NET Framework. However, only the .NET Framework 3.5 runtime is supported, which runs apps. Developing new apps that target .NET Framework 3.5 isn't supported. This version of .NET Framework supports running apps that target versions 1.0 through 3.5, and can be installed alongside .NET Framework 4. - -If you try to run an app that targets .NET Framework 1.0 through 3.5, and .NET Framework 3.5 is missing, you're prompted to install it. For more information, see [Install .NET Framework 3.5 on Windows](dotnet-35-windows.md). - ### .NET Framework 4.x All .NET Framework 4.x versions are in-place updates. Only a single 4.x version can be present on Windows. Because .NET Framework is installed as part of Windows, consider that: @@ -40,6 +34,14 @@ All .NET Framework 4.x versions are in-place updates. Only a single 4.x version - If the OS comes preinstalled with a particular .NET Framework version, you can't install a previous 4.x version on the same machine. - If you install a later version, you don't have to first uninstall the previous version. +### .NET Framework 3.5 + +.NET Framework 3.5 is supported by Microsoft, even though it's an older version of .NET Framework. However, only the .NET Framework 3.5 runtime is supported, which runs apps. Developing new apps that target .NET Framework 3.5 isn't supported. This version of .NET Framework supports running apps that target versions 1.0 through 3.5, and can be installed alongside .NET Framework 4. + +[!INCLUDE [dotnet-35-installer](includes/dotnet-35-installer.md)] + +If you try to run an app that targets .NET Framework 1.0 through 3.5, and .NET Framework 3.5 is missing, you're prompted to install it. For more information, see [Install .NET Framework 3.5 on Windows](dotnet-35-windows.md). + ## Developers and Visual Studio Visual Studio uses .NET Framework Developer Packs to support targeting specific versions of .NET Framework 4. If you're a developer who must work on a project targeting an old version of .NET Framework 4, install the corresponding developer pack. For more information, see [Install .NET Framework for developers](guide-for-developers.md). diff --git a/docs/framework/toc.yml b/docs/framework/toc.yml index 9caa626263c34..ba053f8c1f783 100644 --- a/docs/framework/toc.yml +++ b/docs/framework/toc.yml @@ -34,7 +34,13 @@ items: - name: Troubleshoot 'This application could not be started' href: install/application-not-started.md - name: .NET Framework 3.5 - href: install/dotnet-35-windows.md + items: + - name: Windows 11 + href: install/dotnet-35-windows-11.md + - name: Windows 11 and .NET Framework 3.5 FAQ + href: install/dotnet-35-windows-11-faq.yml + - name: Windows 10, Windows Server, and other Windows + href: install/dotnet-35-windows.md - name: Migration guide items: - name: Overview @@ -108,7 +114,7 @@ items: href: migration-guide/version-compatibility.md - name: Configure an app to support .NET Framework 4 or later href: migration-guide/how-to-configure-an-app-to-support-net-framework-4-or-4-5.md - - name: Migrate from .NET Framework 1.1 + - name: Migrate from .NET Framework 1.1 - 3.5 href: migration-guide/migrating-from-the-net-framework-1-1.md - name: .NET Framework 4 migration issues href: migration-guide/net-framework-4-migration-issues.md