Enable .NET Framework 3.5 in Windows 10 using SCCM

In this post we will see the steps to enable Dot Net Framework 3.5 in windows 10 using SCCM. Few legacy applications still need dot net framework 3.5 to function well.

When you install windows 10, the .Net Framework 3.5 is not enabled. The user has to enable it manually and this is painful when you have many systems in your setup.

We will be using SCCM to achieve this task. We will create a package that enables .Net framework 3.5 in Windows 10. To enable dot net framework 3.5, there are various methods to go with.

You could also use DISM method or group policy or by using Powershell too. We will use a very simple way to deploy the dot net framework 3.5.

Related Posts :-

Enable NET Framework 3.5 in Windows 10 using SCCM

Let’s now look at the steps to enable .NET framework 3.5 in windows 10 using SCCM. First of all I have got few set of files required for deployment.

Ensure that you copy microsoft-windows-netfx3-ondemand-package to a folder first. Then paste both the scripts in the same folder. You can download them from here. It’s a zip and extract all of them and place it into sources folder.

Enable .NET Framework 3.5 in Windows 10 using SCCM Snap1Right click Packages and click Create Package.

Enable .NET Framework 3.5 in Windows 10 using SCCM Snap1

Specify the name of the package and provide the path to source files. Click Next.

Enable .NET Framework 3.5 in Windows 10 using SCCM Snap1Select Do not create a program. Click Next.

Enable .NET Framework 3.5 in Windows 10 using SCCMClick Close.

Enable .NET Framework 3.5 in Windows 10 using SCCMRight click Task Sequences and click Create Task Sequence. Next select Create a new custom task sequence. Click Next.

Enable .NET Framework 3.5 in Windows 10 using SCCMSpecify the Task Sequence name and click Next.

Enable .NET Framework 3.5 in Windows 10 using SCCMOn the completion page, click Close.

Enable .NET Framework 3.5 in Windows 10 using SCCM

Right click and edit the task sequence. Click Add > General > Run PowerShell script.

Enable .NET Framework 3.5 in Windows 10 using SCCM

Provide the script name with extension. Ensure the PowerShell execution policy is set to Bypass. Click OK.

Enable .NET Framework 3.5 in Windows 10 using SCCM

On the client computer refresh the software center. When you see the application click Install. The package is downloaded and installed.

Enable .NET Framework 3.5 in Windows 10 using SCCM

Finally you have found an easy way to enable .Net Framework 3.5 in Windows 10.

Enable .NET Framework 3.5 in Windows 10 using SCCM

Video Tutorial :-

68 Comments

  1. Tested on Win10 22H2, above worked. Thank you.

  2. hi.
    where is the bat file called?

  3. Hi everyone,

    Juste for information. (I passed long time to resolve versioning of Win10)
    I make an application NetFx3.5 with this package as a deployment type.

    I use a new personal Global condition for know the version of Windows with this script.

    $Build = (Get-ItemProperty ‘HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion’ -Name CurrentBuild).CurrentBuild

    switch ($Build) {
    #Clients
    “18363” { $OS = “Win10_1909” }
    “19042” { $OS = “Win10_20H2” }
    “19043” { $OS = “Win10_21H1” }
    “19044” { $OS = “Win10_21H2” }
    “22000” { $OS = “Win11_21H2” }
    #Server
    “14393” { $OS = “WinSrv_2016” }
    “17763” { $OS = “WinSrv_2019” }
    “20348” { $OS = “WinSrv_2022” }
    #Default
    Default { $OS = “Non”}
    }
    Write-Host $OS

    And you just have to create one deployment type by version in your application. (and one
    source folder by version)

    It works fine for me

    Thx Prajwal for this post (and all other)

    1. Juste one more for all versions 😉
      detection => registre

      hive => HKLM
      Key => SOFTWARE\Microsoft\NET Framework Setup\NDP\v3.5
      Value => Install

      have to existe

  4. Did anyone find a method of applying .net 3.5 to a 1909 task sequence ?

    1. Avatar photo Abdul Hannan says:

      you need to have the .net cab files from 1909 iso. If you use older ones it won’t work.

  5. I’m having the exact same problem, Daniel. Won’t run in the machine build task sequence as I’ve always had it and it won’t auto after the machine has built. I have had it say ‘Success’, but nothing has happened. If I run the PowerShell manually it works. Which defies the point sadly.

  6. Not working on 1909. The task sequence finishes without an error but nothing really happens.

    1. I have the same issue

    2. Same issue here. Has any of you been able to fix it?

  7. Hi Prajwal,

    Firstly I would like to thank you for taking the time to write this tutorial.

    Secondly I would like to advise that I have tried this tutorial with Windows 10 v1903.

    My results are that whilst Software Center shows .Net as having installed when I look at the Windows Features dialog ‘.Net Framework 3.5 (includes .NET 2.0 and 3.0)’ does not have a check in the box next to it. Due to this some apps don’t see .Net as having been installed.

    Kind Regards,

    Davo

  8. So this no longer works, and I believe it’s due to the way Microsoft changed Get-WindowsFeature to Get-WindowsCapability. That said, I used a powershell script within SCCM – Add-WindowsCapability -Online -Name NetFx~~~~ -Source “\\Servername\Share” Within your share, copy from a windows ISO, Source\SXS

  9. Avatar photo Casper Rügge says:

    Works fine for me on my test lab.. Windows 10 1809…

  10. For 1809

    DISM /Online /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:”\\sccm01\OSD\Apps\Sources\Microsoft\.Net 3.5″

    I moved the sxs contents to the folder above (both .net cabs) and added that command to the task sequence after the PC has joined domain.

  11. Avatar photo Caroline Habgood says:

    Cancel this comment, (I can’t?) just read about the name of the cab file below. Thank you!

  12. Hi Prajwal,

    I don’t have network connection for SCCM, i am using standalone media (USB) , how we can enable it & what will be the source location in this case ?

  13. Hi, I’d like to advise using this process does work with the 1809 update. The issue why it will not work is the naming of the extracted CAB file. With the 1809 Windows media we have its called
    microsoft-windows-netfx3-ondemand-package~31bf3856ad364e35~amd64~~

    When the file is extracted, not renamed and the Online install batch file is edited to have the file reference there to have the same name as the actual file name, then the sequence when deploys, does enable .Net 3.5

    I want to thank Prajwal Desai for his blog on SCCM. We have moved over to SCCM where I work. I constantly reference this blog as I struggle with fixing issues with it. As I do not have access to Group Policy I have to do what I can with packages in SCCM.

  14. Thanks for this! one thing I would add is naming the package by the Windows 10 version the payload was obtained from as you have to recreate it for each new version. It’ll help track these things in future.

  15. Avatar photo Rajeev Kumar says:

    This does not work on Win 10 1809. TS works and complete successfully but does not enable Dot Net 3.5. Did you try on 1809.

    1. This is correct, the above works on 1803 but not 1809.

  16. Avatar photo Ravinder Jaiswal says:

    I created application to below script (InstallDotNet.cmd) and it is working. Place the related CAB in the same folder.

    dism /online /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:%~dp0 /NoRestart /Quiet

    Detection method 1.
    HKEY_LOCAL_MACHINESOFTWAREMicrosoftNET Framework SetupNDPv3.5
    Install=1

    Detection method 2
    HKEY_LOCAL_MACHINESOFTWAREMicrosoftNET Framework SetupNDPv3.5
    SP=1

  17. Avatar photo Ravinder Jaiswal says:

    Is is possible to do it using Application instead of Task Sequence…?

  18. Avatar photo Terry Lavoie says:

    I used to do this before 1809. Do you know how to make it work in 1809?

      1. No it is not.. any suggestion?
        thank you

  19. Hi,

    i’m having a problem with the script.

    Enable-WindowsOptionalFeature : The source files could not be found.
    Use the “Source” option to specify the location of the files that are required to restore the feature. For more

    thank you

  20. when i run the script manually i don’t get any error, but when the sccm deploys it. i receive this error

    Enable-WindowsOptionalFeature : The source files could not be found.
    Use the “Source” option to specify the location of the files that are required to restore the feature. For more

  21. Avatar photo Kenneth Jensen says:

    Hi, and thanks for all your good posts.

    I also apply updates using SCCM, and .net 3.5 is available there. Would it be possible to enable .NET simply by running something like:
    “Install-WindowsFeature Net-Framework-Core” in my TS?

  22. Avatar photo Holly Newman says:

    This works perfectly, thanks. Is there any reason this couldn’t be done as an Application instead of a Package/Task Sequence? The reason I ask is the User Experience options for Software Center in Applications are better than Task Sequences. Specifically, if the Application is Required, you can Hide it from Software Center – I didn’t see that option in Task Sequences.

  23. Avatar photo Sunny1519 says:

    Perfect,, works as suggested

  24. Can someone please answer Sam’s question. I would like to run as required instead of available as I have an application in OSD TS that needs this enabled.

    1. Avatar photo Marwan Afifi says:

      you can apply it in your OSD task sequence as a step after
      “applying operating system” step.

  25. Can this be set as required instead of available to install without user interaction?

  26. Worked perfectly!
    I just wanted to say thank you for this tutorial and all of the tutorials that you have posted. They have all been incredibly helpful.

  27. Avatar photo Jens Lamade says:

    How can I make a cab-package with the source files of .Net Framework 3.5 for Windows Server 2012 R2 to deploy it via SCCM?

  28. Avatar photo WallySantos says:

    Hi Pradjwal!
    were can i find the microsoft-windows-netfx3-ondemand-package?
    I’m not understanting or i can’t find it.

    Thanks for your help!

    1. Avatar photo WallySantos says:

      I found it! Thanks! 🙂

      1. Whenever I add that package to download file, it’s been removed by third party dmca. So i won’t be including the package in download. Only Script will be available for download.

  29. Works great. Thank you.

  30. Hi Prajwal, great article, looking for applied this in my lab can you please update download link, looks like expired now

  31. Avatar photo carlo tomeo says:

    The install file has been removed.

  32. Hi Prajwal, can you please upload the files again, they have been removed.

  33. Avatar photo Gary Johnson says:

    I am trying this on Fall Creators Update 1709. Do these files need to be updated?
    My task sequence completes successfully but .NET 3.5 is not enabled, even after a reboot.

    1. Gary,
      I am trying the same thing on 1709. The Task Sequence completes successfully and I watched as it opened a new window to install .Net 3.5.
      After it finished I checked to see if the box was checked on the “Turn Windows Features On and Off” and it was still unchanged. Did you ever get this resolved?

  34. Avatar photo David Carter says:

    Thanks for a great blog but I am having issues with the task sequence failing

    On examining the log it displays the following error
    The argument ‘Install NetFX3.ps1’ to the -File parameter does not exist. Provide the path to an existing ‘.ps1’ file as an argument to the -File parameter.

    Any help gratefully appreciated

    1. Are you following exactly the same steps mentioned in the post ?. There might be an issue while accessing the path. Could you check that ?.

      1. Avatar photo David Carter says:

        Yes I followed them exactly, and on the client PC the task sequence is copied to the folder C:\_SMSTaskSequence\Packages , does that not mean the path is correct?

      2. Avatar photo David Carter says:

        My bad there was a typo in the ps1 path

  35. Avatar photo David Carter says:

    Ok it did finally appear in Software Center but then the task sequence failed (0xFFFD0000)

    1. 0XFFFD0000 translates to wrong PS path or probably there is some auth problem with the user account that runs this script. Check both of them.

  36. Avatar photo David Carter says:

    When I refresh Software Center, nothing appears, any idea?

  37. dropbox link doesnt work, could you please post the scripts?

    Error (429)
    This link is temporarily disabled. The person who shared it hit their daily limit of traffic or downloads. Learn about traffic limits.

    1. I have updated the dropbox links except the .net framework 3.5. I will update it soon.

  38. Avatar photo Tomáš Větroň says:

    I´m using SCCM 2012 and in Task Sequence Editor is no option Run Powershell Script, just Run Command Line. How can I run ps1 file to enable .Net3.5? Thank for help

    1. Avatar photo Robert Ferguson says:

      @Tomas Vetron the “Run Powershell Script” step in the Task Sequence Editor was added in 2012 R2. Can you upgrade to R2?

  39. Avatar photo Tomáš Větroň says:

    Hi Prajwal,
    I´m using SCCM 2012 and in Task Sequence Editor there is no Run Powershell Script option, just Run Command Line. How can I run your ps1 file in Command Line option? Thank you for help. OP

Leave a Reply

Your email address will not be published. Required fields are marked *