Workaround for possible timing issue that can cause .NET Framework setup failures

I got an email from the .NET Framework setup technical support team today with some more information about a possible workaround for setup failures that occur while trying to register System.EnterpriseServices.dll or run RegSvcs.exe /bootstrapi.

I have previously posted instructions to use the MsiBreak environment variable to gather debugging information if the .NET Framework setup fails due to this error. The technical support team has found a few cases where setting a break point on this custom action, then waiting for a minute or so and then pressing OK to continue .NET Framework setup will allow it to succeed.

If you would like to try this workaround, you can use the following steps:

  1. Right-click My Computer, and then click Properties
  2. On the Advanced tab, click Environment Variables, and then under System Variables, click New
    Note: You must add MsiBreak to the list of System Variables (and not to the list of User Variables)
  3. In the Variable Name field, enter "MsiBreak" (without the quotation marks).
  4. In the Variable Value field, enter the name of custom action you want to break on. The name must match the name listed in the Action column of the CustomAction table of the MSI:
    For .NET Framework 1.0 or 1.1 setup: CA_ComregEnterpriseServices.3643236F_FC70_11D3_A536_0090278A1BB8
    For .NET Framework 2.0 setup: DD_CA_ComregEnterpriseServices_X86.3643236F_FC70_11D3_A536_0090278A1BB8
  5. Run .NET Framework setup and start installing
  6. During installation, a break message will appear stating "To debug your custom action, attach your debugger to process XXX (0xZZZ) and press OK".
  7. Wait for a minute or so with this dialog on the screen
  8. Press OK to allow setup to continue and hopefully succeed

Note that I have written about other possible causes of this type of installation failure in the following blog posts. If the above workaround does not succeed, these additional articles may be helpful in resolving this issue on your system: