Applying Visual Studio SP1 on a Windows 2003 Domain Controller

I’ve got two development environments that I am using for my current project, both Virtual Machines. One is a Windows 2003 server with SQL 2005 and Visual Studio 2005, and the other is a Windows Server 2008 with SQL Server 2005 that will have Visual Studio 2008 soon.

I had to apply the latest service packs to my Windows 2003 server – SQL Server SP2 and Visual Studio SP1, as well as a bunch of other updates. The SQL Server 2005 SP2 update was critical because I’ve started doing some SQL Server Reporting Services work in SharePoint, and that strongly recommends SQL Server 2005 SP2.

As Windows Update was downloading the over 1GB of updates, I remembered that there’s a trick to getting Visual Studio 2005 SP1 to install on Windows Server. You have to create a Software Restriction Policy so Administrators can be exempt from it. Otherwise, the installer will attempt to do a verification on the update files that requires a block of contiguous memory (which happens to not be available) and will fail. The relevant instructions to define this policy are in http://support.microsoft.com/kb/925336:

1.

Click Start, click Run, type control admintools, and then click OK.

2.

Double-click Local Security Policy.

3.

Click Software Restriction Policies.

Note If no software restrictions are listed, right-click Software Restriction Policies, and then click Create New Policy.

4.

Under Object Type, double-click Enforcement.

5.

Click All users except local administrators, and then click OK.

6.

Restart the computer.

Important After you follow the previous steps, local administrators can install the .msi package or the .msp package. After the package is installed, reset the enforcement level by following the previous steps. In step 5, click All users instead of All users except local administrators.

Notes

The workaround may not work in an Active Directory domain environment. In an Active Directory domain environment, a domain policy refresh operation will overwrite the local Software Restriction Policies.

Adding more RAM to the computer will not resolve the problem.

 

However, since in my Virtual Machine, the server is also a domain controller, instead of creating this policy in the Local Security Policy, you do this in the Domain Controllers GPO. I did it both for computer and user settings, since I wasn’t sure which one was needed.

-Michael