Possible causes of Windows Vista hotfix install failures

The .NET Framework 3.5 beta 2 includes updates for the .NET Framework 2.0 and 3.0.  Since the .NET Framework 2.0 and 3.0 are installed as OS components on Windows Vista, the updates are delivered as Windows Vista hotfix packages.  We have seen some issues related to the installation of these .NET Framework 2.0 and 3.0 updates during .NET Framework 3.5 beta 2 setup that have turned out to be caused by known bugs with the Windows Vista hotfix installation engine.  The following items describe the issues we have seen so far with the Windows Vista hotfix installation engine and how to work around them to unblock .NET Framework 3.5 beta 2 installation:

Issue 1 - Installer encountered an error 0x8007177f. This machine is disabled for file encryption.

Aaron Ruckman described this issue in this blog post.  If you encounter this issue during .NET Framework 3.5 setup, the .NET Framework 2.0 update package will fail with error code 6015.  If you are running the .NET Framework 3.5 setup directly, you will see an error like the following in the setup error log:

[07/01/07,11:30:00] Microsoft .NET Framework 2.0SP1 (CBS): [2] Error: Installation failed for component Microsoft .NET Framework 2.0SP1 (CBS). MSI returned error code 6015

If you are running VS 2008 setup (which chains the .NET Framework 3.5 as a prerequisite), you will see an error like the following in the setup error log:

[07/01/07,11:30:00] Microsoft .NET Framework v3.5: [2] Error code 6015 for this component means "This machine is disabled for file encryption."

This error means that there is a domain policy in effect that prevents file encryption using the Encrypting File System (EFS) from working.  There is a Windows Vista hotfix available to correct this issue, and information about obtaining it can be found in the knowledge base article located at http://support.microsoft.com/kb/933595.

Issue 2 - Installer encountered an error 0x80073712.

On some Windows Vista systems, it is possible that the OS component store has gotten into a corrupt state.  When this happens, the Windows Features control panel will be empty, and any Windows Vista hotfixes that you attempt to install will indicate that they are not applicable.  If you are running the .NET Framework 3.5 setup directly, you will see an error like the following in the setup error log:

[07/01/07,11:30:00] Microsoft .NET Framework 2.0SP1 (CBS): [2] Error: Installation failed for component Microsoft .NET Framework 2.0SP1 (CBS). MSI returned error code 1

If you are running VS 2008 setup (which chains the .NET Framework 3.5 as a prerequisite), you will see an error like the following in the setup error log:

[07/01/07,11:30:00] Microsoft .NET Framework v3.5: [2] Error code 1 for this component means "Incorrect function."

There are steps in the knowledge base article at http://support.microsoft.com/kb/931712 that can be used to update the registry in order to repair the Windows Vista component store in order to work around this error.  To summarize the steps listed in that knowledge base article, you can do the following:

  1. Open an administrative command prompt by clicking on the Start menu, choosing All Programs, then Accessories, then right-clicking on the Command Prompt item and choosing Run as administrator
  2. Type the following command:  reg delete HKLM\COMPONENTS /v StoreDirty /f

After running this command, you can re-run .NET Framework 3.5 or VS 2008 setup and hopefully resolve this error.

Note that return code 1 from a Windows Vista hotfix package means that the package is not applicable on the system.  However, this StoreDirty registry value is not the only possible cause of this error for .NET Framework 2.0 and 3.0 hotfixes.  The same error can appear in the setup logs if you previously had the beta 1 version or some pre-beta 2 CTP version of the .NET Framework 3.5 installed on your Windows Vista system and the old beta was not uninstalled prior to installing beta 2.  If the above workaround does not help, you can try the following to remove any pre-beta 2 versions of the .NET Framework 2.0 and 3.0 update packages for Windows Vista:

  1. Go to the Programs and Feature control panel
  2. Click the link at the top left labeled View installed updates
  3. Locate any updates named Hotfix for Microsoft Windows (KB110806), Hotfix for Microsoft Windows (KB929300) and Hotfix for Microsoft Windows (KB930264), right-click on them and choose Uninstall if they are present on your system
  4. Reboot and try to install the .NET Framework 3.5 beta 2 again