Notices: This section not yet converted to new layout. Download stats are rolling back out.

Microsoft .NET Framework 4.7.2

This package skips automatic verification:

Dependency requires reboot

This package was approved as a trusted package on 7/12/2018.

The .NET Framework is a development platform for building apps for web, Windows, Windows Phone, Windows Server, and Microsoft Azure. It consists of the common language runtime (CLR) and the .NET Framework class library, which includes a broad range of functionality and support for many industry standards.

The .NET Framework provides many services, including memory management, type and memory safety, security, networking, and application deployment. It provides easy-to-use data structures and APIs that abstract the lower-level Windows operating system. You can use a variety of programming languages with the .NET Framework, including C#, F#, and Visual Basic.

The .NET Framework 4.7.2 includes improvements in several areas:

  • [ASP.NET] Support for SameSite cookie in ASP.NET
  • [ASP.NET] Support for ASP.NET Dependency Injection
  • [ClickOnce] Per-monitor support for WPF and HDPI-aware VSTO apps deployed via ClickOnce
  • [SQL] Always Encrypted enhancements in SQL Connectivity
  • [Networking & BCL] Enhanced .NET Framework support for .NET Standard 2.0
  • [BCL] Cryptography improvements
  • [WPF] Diagnostic enhancements

The .NET Framework 4.7.2 will replace any existing .NET Framework 4 and later installation on your machine. This means all .NET Framework 4 and later applications on your machine will run on the .NET Framework 4.7.2 upon installation. The .NET Framework 4.7.2 installs on Windows 10 Fall Creators Update, Windows 10 Creators Update, Windows 10 Anniversary Update, Windows 8.1, Windows 7 SP1, Windows Server version 1709, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012 and Windows Server 2008 R2 SP1 OS platforms. .NET Framework 4.7.2 is also included in Windows 10 April 2018 Update.

The matching Developer Pack can be installed using this package.

To install Microsoft .NET Framework 4.7.2, run the following command from the command line or from PowerShell:

C:\> choco install dotnetfx

To upgrade Microsoft .NET Framework 4.7.2, run the following command from the command line or from PowerShell:

C:\> choco upgrade dotnetfx


  • tools\ChocolateyInstall.ps1 Show
    . (Join-Path -Path (Split-Path -Parent -Path $MyInvocation.MyCommand.Definition) -ChildPath 'helpers.ps1')
    $packageName = 'dotnetfx'
    $release = 461808
    $version = '4.7.2'
    $productNameWithVersion = "Microsoft .NET Framework $version"
    $url = ''
    $checksum = 'C908F0A5BEA4BE282E35ACBA307D0061B71B8B66CA9894943D3CBB53CAD019BC'
    $checksumType = 'sha256'
    if (Test-Installed -Release $release) {
        Write-Host "$productNameWithVersion or later is already installed."
    $originalFileName = Split-Path -Leaf -Path ([uri]$url).LocalPath
    $downloadFilePath = Get-DefaultChocolateyLocalFilePath -OriginalFileName $originalFileName
    $downloadArguments = @{
        packageName = $packageName
        fileFullPath = $downloadFilePath
        url = $url
        checksum = $checksum
        checksumType = $checksumType
        url64 = $url
        checksum64 = $checksum
        checksumType64 = $checksumType
    Get-ChocolateyWebFile @downloadArguments | Out-Null
    $safeLogPath = Get-SafeLogPath
    $installerExeArguments = @{
        packageName = $packageName
        file = $downloadFilePath
        silentArgs = ('/Quiet /NoRestart /Log "{0}\{1}_{2}_{3:yyyyMMddHHmmss}.log"' -f $safeLogPath, $packageName, $version, (Get-Date))
        validExitCodes = @(
            0, # success
            3010 # success, restart required
    Invoke-CommandWithTempPath -TempPath $safeLogPath -ScriptBlock { Install-ChocolateyInstallPackage @installerExeArguments }
    if ($Env:ChocolateyExitCode -eq '3010')
        Write-Warning "A restart is required to finalize $productNameWithVersion installation."
        if ($Env:ChocolateyExitCode -eq $null)
            Write-Host "A restart may be required to finalize $productNameWithVersion installation."
  • tools\helpers.ps1 Show
    $scriptDirectory = Split-Path -Parent -Path $MyInvocation.MyCommand.Definition
    function Get-SafeLogPath
        $logPath = $Env:TEMP
        if ($logPath -like '\\*')
            # .NET installer does not like logging to a network share (
            $candidates = @("$Env:LOCALAPPDATA\Temp\chocolatey", "$Env:LOCALAPPDATA\Temp", "$Env:USERPROFILE\AppData\Local\Temp\chocolatey", "$Env:USERPROFILE\AppData\Local\Temp", "$Env:SystemRoot\TEMP", $scriptDirectory)
            foreach ($candidate in $candidates)
                if ((Test-Path -Path $candidate) -and $candidate -notlike '\\*')
                    Write-Verbose "Using '$candidate' as log path because `$Env:TEMP points to a network share, which may cause the installation to fail"
                    $logPath = $candidate
        return $logPath
    function Test-Installed($Release)
        $props = Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full' -Name Release -ErrorAction SilentlyContinue
        return $props -ne $null -and $props.Release -ge $Release
    function Get-DefaultChocolateyLocalFilePath
            [Parameter(Mandatory = $true)] [string] $OriginalFileName
        # adapted from Install-ChocolateyPackage 0.10.8
        $chocTempDir = $env:TEMP
        $tempDir = Join-Path $chocTempDir "$($env:chocolateyPackageName)"
        if ($env:chocolateyPackageVersion -ne $null) { $tempDir = Join-Path $tempDir "$($env:chocolateyPackageVersion)"; }
        $tempDir = $tempDir -replace '\\chocolatey\\chocolatey\\', '\chocolatey\'
        if (![System.IO.Directory]::Exists($tempDir)) { [System.IO.Directory]::CreateDirectory($tempDir) | Out-Null }
        $downloadFilePath = Join-Path $tempDir $OriginalFileName
        Write-Debug "Local file path: $downloadFilePath"
        return $downloadFilePath
    function Invoke-CommandWithTempPath
            [Parameter(Mandatory = $true)] [string] $TempPath,
            [Parameter(Mandatory = $true)] [scriptblock] $ScriptBlock
        $oldTemp = $Env:TEMP
        if ($Env:TEMP -ne $TempPath)
            Write-Debug "Changing `$Env:TEMP from '$oldTemp' to '$TempPath'"
            $Env:TEMP = $TempPath
            & $ScriptBlock
            if ($Env:TEMP -ne $oldTemp)
                Write-Debug "Changing `$Env:TEMP back to '$oldTemp'"
                $Env:TEMP = $oldTemp

Virus Scan Results

In cases where actual malware is found, the packages are subject to removal. Software sometimes has false positives. Moderators do not necessarily validate the safety of the underlying software, only that a package retrieves software from the official distribution point and/or validate embedded software against official distribution point (where distribution rights allow redistribution).

Chocolatey Pro provides runtime protection from possible malware.


Package Maintainer(s)

Software Author(s)

  • Microsoft


Release Notes


.NET Framework 4.7.2 announcement
.NET Framework 4.7.2 readme
.NET Framework 4.7.2 changes

Package Updated installer url after .NET Framework 4.7.2 release on Microsoft Update with additional quality fixes.

Version History

Version Downloads Last updated Status
Microsoft .NET Framework 4.8 202 Friday, April 19, 2019 approved
Microsoft .NET Framework 4.8 24 Friday, April 19, 2019 approved
Microsoft .NET Framework 4.8 282 Thursday, February 21, 2019 approved
Microsoft .NET Framework 4.8 102 Saturday, January 5, 2019 approved
Microsoft .NET Framework 4.8 143 Sunday, October 7, 2018 approved
Microsoft .NET Framework 4.8.0 213 Saturday, June 30, 2018 approved
Microsoft .NET Framework 4.7.2 159 Saturday, February 17, 2018 exempted
Show More

Discussion for the Microsoft .NET Framework 4.7.2 Package

Ground rules:

  • This discussion is only about Microsoft .NET Framework 4.7.2 and the Microsoft .NET Framework 4.7.2 package. If you have feedback for Chocolatey, please contact the google group.
  • This discussion will carry over multiple versions. If you have a comment about a particular version, please note that in your comments.
  • The maintainers of this Chocolatey Package will be notified about new comments that are posted to this Disqus thread, however, it is NOT a guarantee that you will get a response. If you do not hear back from the maintainers after posting a message below, please follow up by using the link on the left side of this page or follow this link to contact maintainers. If you still hear nothing back, please follow the package triage process.
  • Tell us what you love about the package or Microsoft .NET Framework 4.7.2, or tell us what needs improvement.
  • Share your experiences with the package, or extra configuration or gotchas that you've found.
  • If you use a url, the comment will be flagged for moderation until you've been whitelisted. Disqus moderated comments are approved on a weekly schedule if not sooner. It could take between 1-5 days for your comment to show up.

comments powered by Disqus uses cookies to enhance the user experience of the site.