Workaround for Error 2902 with Microsoft Visual Studio 2005 Tools for the Microsoft Office System

When installing Visual Studio 2005 Service Pack 1 on Microsoft Visual Studio 2005 Tools for the Microsoft Office System, you might see an error that reads,

The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2902. The arguments are: ixoRegAddValue, ,

You can see the problem in the following log snippet.

MSI (s) (1C:74) [14:45:40:861]: Executing op: ActionStart(Name=WriteRegistryValues,Description=Writing system registry values,Template=Key: [1], Name: [2], Value: [3])
MSI (s) (1C:74) [14:45:40:861]: Executing op: ProgressTotal(Total=642,Type=1,ByteEquivalent=13200)
MSI (s) (1C:74) [14:45:40:861]: Executing op: RegAddValue(,Value=mpejzswyrifptbgmeizxqvbgphxamqzqabkqizgbrm,)

Before the call to RegAddValue, there is no call to RegOpenKey. This is caused because two components are authored to write to the same key, but have different action states. For Microsoft Visual Studio 2005 Tools for the Microsoft Office System, those two components are VSTO_SKU_PID_Info________.3643236F_FC70_11D3_A536_0090278A1BB8 and VSTO_SKU_License_Key.3643236F_FC70_11D3_A536_0090278A1BB8, but because VSTO_SKU_PID_Info________.3643236F_FC70_11D3_A536_0090278A1BB8 was authored with component attribute msidbComponentAttributesNeverOverwrite (0x80), it won’t overwrite an existing key. This is confirmed in the log.

MSI (s) (1C:74) [14:44:19:370]: Disallowing installation of component: VSTO_SKU_PID_Info________.3643236F_FC70_11D3_A536_0090278A1BB8 since the registry keypath exists and the component is marked to never overwrite existing installations

To workaround this issue, follow the steps below. Remember to use caution when editing the registry.

  1. Open regedit.exe
  2. Navigate to HKEY_CLASSES_ROOTLicensesBA32367F-28F8-4AEA-848D-95AE438B3B9C
  3. Right-click on HKEY_CLASSES_ROOTLicensesBA32367F-28F8-4AEA-848D-95AE438B3B9C and select Export
  4. Save this key to a file
  5. Delete HKEY_CLASSES_ROOTLicensesBA32367F-28F8-4AEA-848D-95AE438B3B9C
  6. Close regedit.exe
  7. Install Visual Studio 2005 Service Pack 1
  8. After the patch has completed installing, double-click the .reg file you saved in step 4 to merge it back into your registry

Note that this bug is fixed in Windows Installer 4.0 on Windows Vista so you shouldn’t run into the same error for the same reason on Vista.