A couple of weeks ago, I posted a blog about regtlb errors with a workaround.
To summarize, when installing the .NET Framework, we have roughly 10 TLB files we register through oleaut.
When registering those files, the registry is locked and the registration fails, causing the framework install to fail and rollback. A customer helped us find a work around using a tool to change the registry ACLs. However, changing the ACLs scares us since we don’t know what else that might break.
Aaron and Rob (our dev lead) found another customer with the problem and hacked around the framework MSI. After some amazing debugging work, they discovered the Custom Action registering the TLB files were running under the user context (impersonating the user) instead of running under local system context.
By changing the properties of the custom action and running under local system context, the registration passes. We tested the fix with some customers who ran into the problem and it worked for them. We weren’t able to repro this issue in house but did verify our change didn’t regress anything.
If you ran into regtlbv12.exe failures in Beta 2, check out Aaron’s blog about this and the workaround.
I’m pretty excited we fixed this because it was our number 2 Watson hit. We counted 566 customers who ran into this problem and we were afraid this was going to be one of our top ten support calls after we ship. It took us a while to figure this one out and I’m glad the fix finally made it into the product.
Huge thanks to Aaron and Rob for helping push this through.