I have heard from a few people who have run into error code 25015 with a data error (cyclic redundancy check) message while trying to install the .NET Framework 2.0, 2.0 SP1 or 2.0 SP2. This error can also occur during .NET Framework 3.0, 3.5 or 3.5 SP1 setup because all of these versions of the .NET Framework will attempt to install the .NET Framework 2.0 behind the scenes.
How to diagnose this error
When this error occurs, the following information appears in a dialog box and/or in the verbose MSI log file (named %temp%\dd_netfx20MSI*.txt for the original release of the .NET Framework 2.0 and %temp%\dd_net_framework20*.txt for the .NET Framework 2.0 SP1 or SP2):
Error 25015.Failed to install assembly
'C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Microsoft.Visual Basic.dll' because of system error: Data error (cyclic redundancy check)
MSI (s) (A1!B0) [12:34:56:111]: Product: Microsoft .NET Framework 2.0 Service Pack 1 -- Error 25015.Failed to install assembly 'C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Microsoft.Visual Basic.dll' because of system error: Data error (cyclic redundancy check).
Note that the exact file that is listed in these error messages can vary across computers, but typically they will list the same file each time if you re-run setup on the same computer.
How to work around this error
In many of the cases I've seen where this exact data error (cyclic redundancy check) message appears, the root cause ended up being some corrupt sectors on the hard drive. If that is the cause, then it can help to run the Chkdsk tool that ships with Windows to scan the hard drive and repair any corrupt sectors that it finds.
To run Chkdsk and repair corrupt sectors, you can use the following steps:
- (on Windows Vista and higher) Click on the Start menu, choose All Programs, then Accessories, then right-click on the item named Command Prompt and choose Run as administrator
- (on versions of Windows before Vista) Click on the Start menu, choose Run, type cmd and click OK
- Run this command: chkdsk c: /R
Note: This command will scan the C drive. You should substitute the C drive with whatever drive your Windows directory is on if it is not on the C drive. The drive letter used in this command should match the drive letter listed in the error message.
- Wait for the command to finish - it can take a while, especially if the drive letter it is scanning has a lot of hard drive space.
- After the command finishes, try again to install the .NET Framework
What to do if the workaround does not help
I want to mention one caveat here that I typically include in all of my .NET Framework troubleshooting blog posts - there are many possible causes for .NET Framework setup failures, and this blog post only describes one of them. The above workaround will likely not help solve all possible installation issues. If this workaround does not help in your scenario, then I suggest looking at the .NET Framework setup troubleshooting guide for links to other possible installation issues and workarounds, links to log file locations, links to readme files, etc.