Aaron Stebner's WebLog

Thoughts about setup and deployment issues, WiX, XNA, the .NET Framework and Visual Studio

Possible workaround if .NET Framework setup hangs while registering System.EnterpriseServices.dll

Possible workaround if .NET Framework setup hangs while registering System.EnterpriseServices.dll

  • Comments 42

We have run into a few cases where customers have been trying to install the .NET Framework 2.0 and have seen setup hang or fail while trying to register System.EnterpriseServices.dll.  I have heard from a couple of customers who ran into this particular issue and found a workaround that allowed them to successfully install, so I wanted to post the workaround here to make it easier for others to find.  The customers I have heard from found this workaround useful for the .NET Framework 2.0, but the same workaround may also be useful for installation failures in the .NET Framework 1.0 and 1.1.

The command that registers System.EnterpriseServices.dll is implemented as a custom action that runs the command regsvcs.exe /bootstrapi.  This command can fail or hang indefinitely if the Microsoft Distributed Transaction Coordinator (MSDTC) service is in a broken state on the system.  If you see .NET Framework setup (1.0, 1.1 or 2.0) fail or hang during registration of System.EnterpriseServices.dll, the following steps may be useful to resolve this issue:

  1. Click on the Start menu, choose Run and type services.msc
  2. Locate the Distributed Transaction Coordinator service, right-click on it and choose Properties
  3. In the Startup type drop-down, select Disabled
  4. If the service status is currently listed as running, click the button to stop the service
  5. Close the Services control panel and try to install the .NET Framework again

Note that I have written about other possible causes of this type of installation failure in the following blog posts, and if the above workaround does not succeed, these additional articles may be helpful:

 

  • hi, good blog. found it thru googling

    i want you to know my workaround.

    1. Uninstall 1.1 from add/remove programs
    2. Extract NDP1.1-KB886904-X86.exe /Xp:c:\M886904.msp
    3. install framework 1.1
    4. install SP1 tru running M886904.msp
    5. reboot
  • I had this exact problem with .Net framework 1.1.
    I'm no computer whizzkik and I found your instructions simple and easy to follow.
    It seems to have done the trick, thanks very much.
  • Hi, i also found it by google.
    I used your info and it was easy to use, but for me it did not work. i tried it on Framework 1.1 the english version, maybe some other workaround for me:(
  • Hi Rico - for the .NET Framework 1.1, there are a lot of possible causes of this error. Have you tried the suggestions in the links at the end of this blog post to see if any of them help here as well?

  • Hi Aaron,

    i have the same problem. Tried everything you described here but nothing works. The installation fails and does a rollback on registering the System.EnterpriseServices.dll

    I used your uninstaller, stoped DTC, disabled the DPE and changed my localization to EN and DE - nothing helps. Have you or anyone else any idea to sove this problem?

    btw many thanks for the workarounds you figured out.
  • Hi,

    I have the same situatin as Gordon. I have tried all the workarounds this link suggests including editing the portion of the .ini for Data Execution Protection, ensuring the language is set, and disabling DTC.

    The following processes are hanging: RegSvcs, Ngen, and several forked processes of msiexec. RegSvcs and Ngen are chewing up 40% to 50% of the CPU time.

    It seems Ngen is sensitive to the security settings at compile time? Here is a link to what services Ngen provides (whic I am sure you knew):

    http://msdn2.microsoft.com/6t9t5wcf.aspx

    Method of original installation: I use ntrack from ntrack.com. Build 2042 (beta) packages .NET 2.0. I made sure I did not install any previous versions of .NET via Microsoft Updates. I installed ntrack... it forces you to install .NET 2.0 first (version 2.0.50727). .NET gets to System.EnterpriseServices.dll and hangs. RegSvcs and NGen are chewing up CPU cycles. I believe tow to three msiexec processes are forked at that time. The only way out is to kill the processes in Task Manager. Then if you try to uninstall or repaid via Add/remove Programs I have had two things happen (1) the ununstaller will complain that it needs to close itself before it can start (in essence) or (2) the repair or uninstall fails at the same point. I've tried to use the Windows Installer Cleanup Utility... hangs at same place. I've tried to install the Beta version of .NET 2.0 so I could get a complete install then remove it... no luck, although I can't remember what happened. Anythign else you might need to help?

    Paul
  • Yes i did all the things even the debugging thing. Nothing work, but the funny thing is that if i install 2.0 it works. I need 1.1 for the program i want to run. So why does 2.0 can install and 1.0 or 1.1 (the one i need) not. Is it possible to uninstall XP-SP2 and will it work then?

    Oh this is what the eventlog said:
    0000: 3242437b 44453746 44392d44 342d4631
    0010: 2d314333 43463039 3546342d 45414532
    0020: 41323731 7d31
  • Hi Rico - There are some bugs in setup for the .NET Framework that have been fixed in 2.0, so it does not necessarily surprise me that this scenario works for the .NET Framework 2.0 but does not for 1.1. I'm sorry for the problems you're encountering. Can you please contact me at aaronste@microsoft.com so I can gather some additional information from you and figure out the best next steps here?

  • Success!!! :-)

    Okay, here is what I did.

    1. Complete re-install of Windows XP with SP1 including reformatting the partition I was using.
    2. Installed only the native stuff I needed to do the job: Intel .INF patch, NIC card driver, and SATA drive update (same as I did before, but in my previous install I also installed extra stuff off my Intel CD like RealPlayer, etc).
    3. Did not install the drivers for my video card or sound card.
    4. Config'd minor stuff like the paging file size, Windows look-n-feel, etc. Turned Automatic Updates off.
    5. Ran the licensing wizard from Windows. Activated my license.
    6. Ran Windows Update and installed the ActiveX component needed, ie, BITS, Windows Installer 3.1, et cetera. Rebooted.
    7. Ran Windows Update. Validated Windows. Installed all (36+ ?; don't remember qty) critical updates and 0 optional components. Told Windows NOT to tell me to install .NET 1.1 so I can't make that mistake in the future. Rebooted. [B] Note: this step is different than my previous install. I made probably a bad assumption that SP2 would roll-up all critical updates post SP1... I believe this to be a false assumption now, but who knows! The SP2 documentation says only that a Windows XP install is required, nothing about prior critical updates, etc. In retrospect, this new way was the smart way to go.[/B]
    8. Installed Windows SP2 from over Internet rather than off stored file I had. Why? Just in case there was any corruption in the file. Rebooted.
    9. Ran Windows Update. Installed 5 critical updates. Rebooted.
    10. Ran ntrack Build 2042. It installed .NET 2.0 build 2.0.50727 (right version?). This time the install trudged right on through.... no hang at System.EnterpriseServices.dll.
    11. Continuing on with ntrack installed the Build 2042 without problems.

    Now onto installing creating a restore Pint, installing spwyare, AV, tweaking performance, installing a myriad of other applications, installing drivers for my video and sound card, et cetera.

    I'm so happy I could spit!!! I was getting ready to spit out $500 for another sound recording software and all my files where in ntrack.

    Paul
  • Hi Folkz,

    good news... .NET Framework is installed successful on my PC.

    What i have done:

    1. Leave my PC @ Work on Friday 19:45
    2. Came Back on Monday
    3. try to register System.EnterpriseServices.dll manual via regasm - failed due to the not installed Framework
    4. used the FrameworkUninstaller from Aaron the second time
    5. restart my system
    6 install the Framework

    In addition to this i have done following settings:
    - deactivated DTS
    - deactivated DEP

    I am wondering about this, because all these steps i have done on Friday too but with no success. After running the uninstaller the second time, everything went ok.
  • Hi Aaron,

    I'm using Windows 2000 Prof. SP4 and still can not install .NET Framework (DOTNETFX) 2.0. My 1.1 version used to work fine. I have already perform a manual clean up of 2.0 version according to your blog and also uninstall 1.1 completely. After that I install 2.0 version only and still hangs on registering System.EnterpriseServices.dll.

    I maked sure I disabled the DTC and unregister services related to .NET (mscorsvw.exe) and ASP.NET (aspnet_state.exe) using delsrv.exe before re-install v2.0. Still no luck. I notice if I used netsvc.exe I can still some services related to .NET, which I can't see from GUI version (services.msc), but I can't unregister them using delsrv.exe.

    As desperate action, I end the regsvcs process when it hangs, the installation continues but then it keeps hanging on other points with mscorsvw consuming 99% of my CPU Load. Keep ending mscorsvw processes finally bring me to the end of installation. It said successfull, but I don't think it was the case. My framework installation log shows some failures.

    Also I can't run my application that I wanted to run, it just hangs.

    Please help me.

    Thank you very much in advance.
    //Edo
  • I used Task Manager to lower the priority of the regsvcs.exe process (which was pegged at 99%).  To do this, run Task Manager, find the process in the Processes tab, right click and choose "Set Priority" and "Below Normal".  After that, everything sped along.
  • I hand the issue with registering System.EnterpriseServices.dll trying to install .NET 2.0

    Here is what worked for me:

    An application I installed Tenebril GhostSurf 2006 Platinum basically broke 2.0.  I thought it was the spyware feature piece so I disabled that and still no go.  I uninstalled the application and then .NET 2.0 installed fine.  I tested a couple of .NET 2.0 apps and all was well. I reinstalled GhostSurf and .NET 2.0 broke again.  I called the Vendor to let them know.  They downgraded me to 2005 which does not break .NET 2.0 :) Life is good again since I was only really using the proxy feature it was no real loss for me.  Anyway, maybe this will help someone else out.
  • mscorsvw.exe is still the biggest user of CPU time in my installation of the 32-bit checked build of Windows Vista beta 1.  It's rather obvious that Vista includes .Net 2 and that mscorsvw.exe relates to ngen, but I don't know what it's working on or how to contend with it.

    Some time ago I pressed Shift+F10 to get a command prompt, started taskmgr.exe and mmc.exe, and have been watching the event logs and CPU usage.

    Today I added the Services snap-in and it is working along with the Event Viewer snap-in.  I stopped the Distributed Transaction Coordinator (it had been running) and changed its property to disabled (it had been set to manual, but it had been started non-manually).

    In Task Manager, I can see that the number of executing processes went down by 1.  But there is no other visible change.  mscorsvw.exe is still the biggest user of CPU time.

    Actually I don't know if you count this as a hang or not, and I sure don't really know if System.EnterpriseServices.dll is involved or not.  mscorsvw.exe sure isn't deadlocked, it's the biggest user of both CPU time and memory.

    For the first four months mscorsvw.exe averaged around 97% of the CPU, fluctuating between 90% and 99%.  For the next one and a fraction months, paging has become an issue, so mscorsvw.exe gets around 50% of the CPU, fluctuating between 1% and 99%.  I even put the Task Manager on the slowest refresh rate so that I can see what's happening while only wasting 1% of the CPU.  Also most days I don't even refresh the event viewer any more.

    A few days ago I read a statement by Dr. Grimes that Vista beta 1 has only 10 managed assemblies.  So mscorsvw.exe has taken approximately five months of CPU time so far with no end in sight, doing ngening of some portion of just 10 assemblies!?

    Do you know how to find the actual current status of this installation and see if there might be some way to get installation to complete before my MSDN subscription runs out?
  • On a completely different machine, Windows Vista beta 1 checked build x64 completed installation but has around 15 minidumps and a bunch of other error reports that Microsoft says should be reported to Microsoft.  Vista beta 1 includes instructions on how to use a beta bug reporting tool.

    The beta bug reporting tool's installer refuses to install itself until .Net Framework 2 is installed.

    .Net Framework 2's installer refuses to install itself because of bugs in itself and/or bugs in Vista.

    .Net Framework 2's installer starts its rollback after an error involving System.EnterpriseServices.dll.

    In this Vista installation, Distributed Transaction Coordinator was not started, but its start setting was Manual, which as we know doesn't always mean Manual.  So I set it to disabled.  It didn't make any difference.

    Japanese isn't a new language for Microsoft products, so it's not like the list of new languages that Mr. Stebner referred to, but customers of Microsoft's Japanese products recognize it as a language that Microsoft doesn't often test.  So I went into Control Panel - Regional Options and changed the default locale options from Japanese to English.  It didn't make any difference.

    So there are around 20 bug reports, which Microsoft pretends to want to be notified about instead of requiring would-be bug submitters to pay an up-front support fee before reporting them.  But there is no way to report them because the bug report tools have bugs that prevent themselves from being installed.
Page 1 of 3 (42 items) 123
Leave a Comment
  • Please add 2 and 4 and type the answer here:
  • Post