Software

Microsoft .NET Windows Desktop Runtime 9.0

by Microsoft Corporation · MIT

.NET is a free, cross-platform, open-source developer platform for building many different types of applications.

Getting the right .NET 9 Desktop Runtime download

The current .NET Desktop Runtime. As with every major version, it installs alongside the others rather than replacing them, so having this does not remove the need for .NET 8 or 6 if an application asks for those.

This package contains the runtime plus the Windows Forms and WPF libraries that desktop applications need. It is not the SDK, which is for building software, and not the ASP.NET Core Runtime, which is for servers.

Take x64 for a normal 64-bit application. A 32-bit application needs the x86 package even on 64-bit Windows, and installing both is common and harmless.

Newer does not mean compatible

Installing the newest .NET is a reasonable instinct and frequently the wrong move. Each application targets a specific major version, and the runtime for that version has to be present. Check what the error message actually asks for before installing anything.

Record

Latest version
9.0.19
Minimum Windows
6.1.7601
Package identifier
Microsoft.DotNet.DesktopRuntime.9

Official downloads

These URLs are the ones Microsoft Corporation declares in its own manifest. We do not proxy or shorten them, and we do not host a copy.

More than one architecture below. Check which one your Windows is if you are not sure.

Verify the file you downloaded

Run this against the file on disk. If the output does not match the hash below, the file is not what Microsoft Corporation published. Delete it.

Windows · PowerShell

Get-FileHash "windowsdesktop-runtime-9.0.19-win-x64.exe" -Algorithm SHA256

macOS · Linux

shasum -a 256 "windowsdesktop-runtime-9.0.19-win-x64.exe"

Expected output

4bee05aa0637468a19cd82490858fc69e93fce8d22c0aeb272a76b71f0dc93e9

Got a different hash, or one you cannot place? Paste it into the hash checker and it will tell you which program and version it belongs to, past releases included.

Install Microsoft .NET Windows Desktop Runtime 9.0 silently

The unattended switch below is the one Microsoft Corporation declares in the installer manifest, not one we guessed by trying flags.

ARM64 · machine scope · publisher-declared

.\windowsdesktop-runtime-9.0.19-win-arm64.exe /quiet

64-bit · machine scope · publisher-declared

.\windowsdesktop-runtime-9.0.19-win-x64.exe /quiet

32-bit · machine scope · publisher-declared

.\windowsdesktop-runtime-9.0.19-win-x86.exe /quiet

Run it from the folder holding the downloaded file, in a terminal opened as administrator when the package installs for all users. Silent means no window and no prompts, so check the exit code rather than waiting for something to appear: 0 is success and 3010 means it worked but wants a reboot.

Silent install commands for every program we index · silent uninstall

Uninstall Microsoft .NET Windows Desktop Runtime 9.0 cleanly

Every guide on this tells you to hunt for the product code with Get-WmiObject or in the registry. You do not need to: it is published in the installer manifest, and it is printed below.

Product code · ARM64

{d0d50309-f424-42f2-957c-d005c5ba5b6f}

Uninstall, with the usual prompts

msiexec /x {d0d50309-f424-42f2-957c-d005c5ba5b6f}

Silent, for deployment

msiexec /x {d0d50309-f424-42f2-957c-d005c5ba5b6f} /qn /norestart

Product code · 64-bit

{7a013c32-dd46-48f5-81b1-2576c92468db}

Uninstall, with the usual prompts

msiexec /x {7a013c32-dd46-48f5-81b1-2576c92468db}

Silent, for deployment

msiexec /x {7a013c32-dd46-48f5-81b1-2576c92468db} /qn /norestart

Product code · 32-bit

{64050736-4c70-400c-a74f-84d8ccd7ffa0}

Uninstall, with the usual prompts

msiexec /x {64050736-4c70-400c-a74f-84d8ccd7ffa0}

Silent, for deployment

msiexec /x {64050736-4c70-400c-a74f-84d8ccd7ffa0} /qn /norestart

The product code changes with every version

The codes above belong to Microsoft .NET Windows Desktop Runtime 9.0 9.0.19, the version in our index. If you have an older release installed, its code is different and this command will report that the product is not installed. In that case run Get-Package -Name "Microsoft*" in PowerShell to read the code of what you actually have.

This removes the program as the publisher packaged it. Settings and files created after installation, typically under AppData, are deliberately left behind by the uninstaller and have to be deleted by hand if you want them gone.

Reinstalling and hitting error 1638? That is this same product code, and the command above is the fix.

Product codes for every program we index, with the msiexec switches and how to read the code off your own machine.

How we scored this 100 out of 100

SignalFindingPoints
SHA-256 hash published3 of 3 installers ship a SHA-256 hashWithout a published hash there is no way to prove the file you downloaded is the file the publisher built.30 / 30
Binary provenance3 on the publisher's own domainThe strongest signal against a repackaged installer: the file should come from the publisher, not from a mirror nobody vouches for.35 / 35
Served over HTTPS3 of 3 over HTTPSAn installer fetched over plain HTTP can be modified in transit.15 / 15
Licence declaredMITA declared licence tells you what you are actually allowed to do with the software.5 / 5

Is Microsoft .NET Windows Desktop Runtime 9.0 safe to download?

Yes, in the sense we can actually verify: the installer downloads from microsoft.com, which is a domain we have tied to Microsoft Corporation.

Every one of the 3 installers on this page comes with the SHA-256 Microsoft Corporation declared, so you do not have to take our word for it: hash the file you downloaded and compare.

What this does not tell you is whether the software itself is any good, or whether you want what it does once installed. A publisher can ship something you would rather not run and the download is still authentic. We answer the question we can measure and leave the other one to you.

If Windows says “Windows protected your PC” when you run it, that is SmartScreen reporting reputation, not a malware verdict — it shows up on perfectly legitimate software from small publishers and on releases that are simply new. The reverse matters more: no warning does not mean the file was checked.

How the 100/100 score is calculated · why the source matters more than the reputation

Install Microsoft .NET Windows Desktop Runtime 9.0 with winget

Windows ships with a package manager, and this program is in it. The identifier below is the one Microsoft's repository uses, which is also where the download URL and hash on this page come from.

Install

winget install --id Microsoft.DotNet.DesktopRuntime.9 --exact

Upgrade later

winget upgrade --id Microsoft.DotNet.DesktopRuntime.9

Why --exact: without it winget matches on name as well as identifier, and a search that returns more than one package makes it stop and ask rather than install. Pinning the identifier is what makes the command safe to put in a script.

Not installing anything, or getting an error back? The commands that actually come up covers upgrading everything at once, what --include-unknown is for, and why winget can be missing from a machine that should have it.

Old versions of Microsoft .NET Windows Desktop Runtime 9.019 with hashes

The version history of Microsoft .NET Windows Desktop Runtime 9.0, each release with the download URL the publisher declared at the time and the SHA-256 to check it against. Useful when an update breaks something and you need to downgrade to a build that worked.

We do not host any of these files and never re-upload them, which is the difference between this and an old-version download site.

9.0.18

  • windowsdesktop-runtime-9.0.18-win-arm64.exeARM64official URL

    4E87DBA65568FF26214470B53756A46D4AE8A9B129DC20B896F3F32DCF0CFAF1

  • windowsdesktop-runtime-9.0.18-win-x64.exe64-bitofficial URL

    12CD00688FC9F8F5187D25911BF656DB61998C264F03EEF4022FF2D9321D6982

  • windowsdesktop-runtime-9.0.18-win-x86.exe32-bitofficial URL

    A90BC401A7838F036A4D615CA7031099B4B950ED6A8F59F59C44150C6AD7D648

9.0.17

  • windowsdesktop-runtime-9.0.17-win-arm64.exeARM64official URL

    AFF2AFA44D06FAC39BE27575855EF0F464BA31FD23D80B60FF2CCAADFE3335CE

  • windowsdesktop-runtime-9.0.17-win-x64.exe64-bitofficial URL

    8B7A862A148855C0E870A7EFABB608682FF378290FA984EB7830A62D5E7A4E57

  • windowsdesktop-runtime-9.0.17-win-x86.exe32-bitofficial URL

    72A59475C642E799DE721041139B03A46617FE4180B938C6F00BCB27CEC88BB3

9.0.16

  • windowsdesktop-runtime-9.0.16-win-arm64.exeARM64official URL

    C02451143A631459EDB8AFAF4B8116D909C81FC9FAE4A635F72F3B7DFB2E63B6

  • windowsdesktop-runtime-9.0.16-win-x64.exe64-bitofficial URL

    CAE0548DD120358499DFAF4699F49491DE4C9224225D5CEA52024CDC6F3704E0

  • windowsdesktop-runtime-9.0.16-win-x86.exe32-bitofficial URL

    E38F3CBA960820826FE6181CD7D895360EA3F33E5E7B27E9677002AEE808195B

9.0.15

  • windowsdesktop-runtime-9.0.15-win-arm64.exeARM64official URL

    56A4F558122F3F4DD533732EB8F9171CECFA2326168F31C5E3E20BB04C6E446A

  • windowsdesktop-runtime-9.0.15-win-x64.exe64-bitofficial URL

    492204878986860A3A15C344B4A4DB7054DC43641A182A6A25662E4CA473C7D4

  • windowsdesktop-runtime-9.0.15-win-x86.exe32-bitofficial URL

    8DA7A9A26DD18B43A0996E201F67944A742A196C32025FEEFED928A8E7377A7D

9.0.14

  • windowsdesktop-runtime-9.0.14-win-arm64.exeARM64official URL

    45549803D37C82D1F57B304802774BB27D639CA56F366A8C0D0C5F6B6AA6388E

  • windowsdesktop-runtime-9.0.14-win-x64.exe64-bitofficial URL

    BA1D2A000DDF623EF6F1761ED43C1EC610CC1631BED2CD027A0806D469109E34

  • windowsdesktop-runtime-9.0.14-win-x86.exe32-bitofficial URL

    4B3B2559A065DB01740417221D61D2CE37D138C994407624B2E886BD6845401B

9.0.13

  • windowsdesktop-runtime-9.0.13-win-arm64.exeARM64official URL

    1228EEF12E3910B8C3145A1691B12D8465DF46F53282B35AC79C3D469E36CEBF

  • windowsdesktop-runtime-9.0.13-win-x64.exe64-bitofficial URL

    404AA21AE86195D4058549DFF715E15F10C48AFE1C6D77F51BC5A420164E07D5

  • windowsdesktop-runtime-9.0.13-win-x86.exe32-bitofficial URL

    C391C046DE51B7F57C4B2A3B39430F1E0CA67DD4DAD01825011260EA83D7061C

9.0.12

  • windowsdesktop-runtime-9.0.12-win-arm64.exeARM64official URL

    B61BF4EA5A4AD39B8FA6016969639F29E7409D86BFC7FC76D45E8ACAA6F2E7A3

  • windowsdesktop-runtime-9.0.12-win-x64.exe64-bitofficial URL

    385BB54FDCBFF0F771D994D601C0CF0626ADB3FF5EE760F7967E3F261E2F21EF

  • windowsdesktop-runtime-9.0.12-win-x86.exe32-bitofficial URL

    F7C18A2AAFAFB61390716407C242772899230865E5A8CB66823505F9A221F529

9.0.11

  • windowsdesktop-runtime-9.0.11-win-arm64.exeARM64official URL

    51D3156395DD48E385A5E17FC6023F45F7CC04D935B4FA13710899F5EF773719

  • windowsdesktop-runtime-9.0.11-win-x64.exe64-bitofficial URL

    DDA4DEF927873F64EE72DAAD84F37E1DC021E7F329C955E4D6DEB39BE981C990

  • windowsdesktop-runtime-9.0.11-win-x86.exe32-bitofficial URL

    C00AD915C04E95ED7D1DF68C35384E986C4A3509C7B0496D1597C3D9E10527AB

9.0.10

  • windowsdesktop-runtime-9.0.10-win-arm64.exeARM64official URL

    9E4576A3E7142D8FBDDC29B8EB419BAD4C3A035D7C0A0891D50CDC150D8F338A

  • windowsdesktop-runtime-9.0.10-win-x64.exe64-bitofficial URL

    35BBB4850EDBB0BF713E588B1D7026FC7CC1208331B2B5D9B3A33F27940D5CEF

  • windowsdesktop-runtime-9.0.10-win-x86.exe32-bitofficial URL

    BE7CE3493E6A699312E345AD932ACD0413B158B048ECCDB94DF22687A3B213AE

9.0.9

  • windowsdesktop-runtime-9.0.9-win-arm64.exeARM64official URL

    B0CE231683E51949C081ED579C99EB331CEF4EC89AE0CDE58872FF97834CA943

  • windowsdesktop-runtime-9.0.9-win-x64.exe64-bitofficial URL

    52D5B789D31999B1B5EAA590FAA1649506DD9A406C17DAA09681B78FF9DA9E68

  • windowsdesktop-runtime-9.0.9-win-x86.exe32-bitofficial URL

    16644911998BC85C166098DAF59758271290BB4F56B8A581E2C96FBA35291361

9.0.8

  • windowsdesktop-runtime-9.0.8-win-arm64.exeARM64official URL

    A705566F8C48D0A2A14FA4AF0D8CEE9F1A697FBDB950A4A78D5A76B20A475DD6

  • windowsdesktop-runtime-9.0.8-win-x64.exe64-bitofficial URL

    C9473A9C3DE6500597B7B7BB3EC82730027B6786034BA1B9115B79377D0233DD

  • windowsdesktop-runtime-9.0.8-win-x86.exe32-bitofficial URL

    C86961C869501998982271D1C5005E61741821701E0ECE4DAE765ED687CD75EE

9.0.7

  • windowsdesktop-runtime-9.0.7-win-arm64.exeARM64official URL

    087220A867C1EFDD39111DB3FE4BDF93CC875B72271F86E28745287E0E43A9CB

  • windowsdesktop-runtime-9.0.7-win-x64.exe64-bitofficial URL

    508E14881C88EB98D224FE9438E7F1FF39FB4B45ADA7CD4BFFC27B41C35D46D5

  • windowsdesktop-runtime-9.0.7-win-x86.exe32-bitofficial URL

    3E5C3181836CC55E7FC4FEB6378BBA3D7ED11A322E22E8B4AD91BF9BA7A1A63A

9.0.6

  • windowsdesktop-runtime-9.0.6-win-arm64.exeARM64official URL

    F18EA9E5784807ADBC35D55728740BE6C061EDF402DE1017BE5324F516C1400C

  • windowsdesktop-runtime-9.0.6-win-x64.exe64-bitofficial URL

    3193BB08FA84CF1424965BFD2DA3D21F2F850C55FF70DFE1C911BEA7CEABB4FC

  • windowsdesktop-runtime-9.0.6-win-x86.exe32-bitofficial URL

    3148C338E4B048C86E6BA010842B61FE8EF13B6CC95ABC7BD1B1C3641C3C2C17

9.0.5

  • windowsdesktop-runtime-9.0.5-win-arm64.exeARM64official URL

    271B4D62FC4F84A30DB75AF85DB1D6DF1FA65C77C2B01D2B49FCE7B17801DE2B

  • windowsdesktop-runtime-9.0.5-win-x64.exe64-bitofficial URL

    A9620B3BF29C8EF2B4C18051589BD24E0C2437EAEC4E677F54D67FDD0F3A38BC

  • windowsdesktop-runtime-9.0.5-win-x86.exe32-bitofficial URL

    0052D0014A434B0503CB5D1F973EFB526DAC6F86FF3B4109327FD024500815A6

9.0.4

  • windowsdesktop-runtime-9.0.4-win-arm64.exeARM64official URL

    6127B2733B3096F43E3E83C1899D3E25D8E6C5743716C0DE845446E9A953E195

  • windowsdesktop-runtime-9.0.4-win-x64.exe64-bitofficial URL

    526DD9B55389FB76816BBAC42C97C17B802EBCD2107E73FFB2C77A74EFD1FED1

  • windowsdesktop-runtime-9.0.4-win-x86.exe32-bitofficial URL

    4DBD41E328E150385D55F8AC50C0C960505EE88265020CD4C74ACD46CE6E55C2

9.0.3

  • windowsdesktop-runtime-9.0.3-win-arm64.exeARM64official URL

    B8CA029E331565DE3E51E4FA9B81E249926C8F88364CF806A943C08896D9E2E5

  • windowsdesktop-runtime-9.0.3-win-x64.exe64-bitofficial URL

    E477EFA08FD14D6D543B71DBFCA0C5E2F2A1B18DDA244D3E6BC0EF548C528C38

  • windowsdesktop-runtime-9.0.3-win-x86.exe32-bitofficial URL

    5B7D7CB9FE3522C72E3EB81C91319C2FC6707875753680BD228E389C5744D0C1

9.0.2

  • windowsdesktop-runtime-9.0.2-win-arm64.exeARM64official URL

    2F2E2F442C0FE261E1ED0214BE89F99C3FCB80EAD5252879CFA1F807F7400C00

  • windowsdesktop-runtime-9.0.2-win-x64.exe64-bitofficial URL

    A45A449B1AB864A34738C1057A52478B805F291AD77CC2286B73C46DB153D330

  • windowsdesktop-runtime-9.0.2-win-x86.exe32-bitofficial URL

    9832F63FC6DB8D4A06EE3F056998966654CCFA9F3B02FD1E0E99960DF22FC4C8

9.0.1

  • windowsdesktop-runtime-9.0.1-win-arm64.exeARM64official URL

    6FF118CA3F953B3175494BCF3C70CDB1489F4AB1E16F642D91DECB5E1F1B9360

  • windowsdesktop-runtime-9.0.1-win-x64.exe64-bitofficial URL

    FE0CF37987F11DBB50BB7F58D2FE5FA75777B81F6DEDC1481940EA5A566671E8

  • windowsdesktop-runtime-9.0.1-win-x86.exe32-bitofficial URL

    4DA96170ECD146355B7FFF658C05FA76D96F870BAD2783707BAB28513668B55A

9.0.0

  • windowsdesktop-runtime-9.0.0-win-arm64.exeARM64official URL

    65919BFFDBFC29027CCA3A807A7D73F06A4394D045FE9D5DFA5D38EE0E3F3230

  • windowsdesktop-runtime-9.0.0-win-x64.exe64-bitofficial URL

    F8695B6EA8B98FF075160A9200ADF3A9C26585BC05F14F2A1E3C755A31F488B3

  • windowsdesktop-runtime-9.0.0-win-x86.exe32-bitofficial URL

    F9F7E182A3516EC7EBBA4F2A1D68B016CE7786A460BB7353641031DC4C6E9834

Publishers take old builds offline without warning, so a link here can stop working even though the hash stays correct forever. If you already have the file, the hash is what matters: it tells you whether what you have is what they published.

Every version on record20

Every Microsoft .NET Windows Desktop Runtime 9.0 version with a published manifest, newest first. The most recent ones are listed above with their file names and hashes.

  • 9.0.19
  • 9.0.18
  • 9.0.17
  • 9.0.16
  • 9.0.15
  • 9.0.14
  • 9.0.13
  • 9.0.12
  • 9.0.11
  • 9.0.10
  • 9.0.9
  • 9.0.8
  • 9.0.7
  • 9.0.6
  • 9.0.5
  • 9.0.4
  • 9.0.3
  • 9.0.2
  • 9.0.1
  • 9.0.0

Common questions

Can I uninstall older .NET runtimes after installing .NET 9?
Only if nothing on the machine needs them. Major versions run side by side and applications bind to the version they were built against, so removing .NET 6 or 8 breaks anything targeting those.

Similar programs we index

Matched on the categories Microsoft Corporation and others declare in their own manifests, so the grouping is theirs rather than ours. Each one has its official URL and hash on the same terms as this page.

More programs we index

Not related to Microsoft .NET Windows Desktop Runtime 9.0 — just other entries, each with its own official URL and published hash.

Where our data comes from