Microsoft .NET Framework 3.5 SP1 (KB951847) Fails to install on Windows Essential Business Servers

[Today’s post comes to us courtesy of Mark Stanfill and Chris Puckett]

Updated 12/11/2009 – Added msiexec /fp instructions.

You may see installation failures of Microsoft .NET Framework 3.5 Service Pack 1 (KB951847) on the 3 EBS 2008 Standard Edition Servers.  Clients and other servers are not affected.  The behavior is that the update will fail to install and continually be offered each time you check for new updates.

The following event will be logged:

Log Name:      Application
Source:        MsiInstaller
Date:          5/6/2009 3:17:22 PM
Event ID:      11325
Task Category: None
Level:         Error
Keywords:      Classic
User:          CONTOSO\Administrator
Computer:      msg.contoso.local
Description:
Product: Microsoft .NET Framework 3.5 -- Error 1325.'Microsoft.NET' is not a valid short file name.

Event 11325

To correct this, run the following steps on all 3 EBS Servers:

1.  Log on to the server and copy this script to your server.

2.  Either copy and paste the contents in to a new file created locally on the server or else unblock the content.  To unblock content, right-click on the file in Explorer, choose Properties, and choose Unblock on the General tab.

image

Click apply and OK.

3.  Open an elevated command prompt and execute the script:

image

Note:  You may see a few “Property ___ does not exist” errors.  These are innocuous and can be ignored.

4.  If prompted, copy WFServicesReg.exe from another system to the C:\Windows\Microsoft.NET\Framework\v3.5 and C:\Windows\Microsoft.NET\Framework64\v3.5 folders.  The versions of WFServicesReg.exe in each folder are different.  The current version is 3.4.5940.0 for both files.  The \Framework folder version is 178 KB, while the \Framework64 version is 267 KB.

5.  Run the hotfix.

6.  After the hotfix installs successfully, run the command MsiExec.exe /fp {CE2CDD62-0124-36CA-84D3-9F4DCF5C5BD9} .  (This command replaces a few non-critical files in to the Framework and Framework64 folders).

Others have blogged solutions that will also work, but take much longer than the script to run.