Microsoft KB Archive/304218

From BetaArchive Wiki
Knowledge Base


Article ID: 304218

Article Last Modified on 9/23/2005



APPLIES TO

  • Microsoft COM+ 1.0, when used with:
    • Microsoft Windows 2000 Service Pack 1
    • Microsoft Windows 2000 Service Pack 2



This article was previously published under Q304218

SYMPTOMS

The COM+ hosting process, Dllhost.exe, may shut down under different circumstances.

In one typical scenario, all Dllhost.exe processes that are running are shut down if an administrator opens the Add/Remove Windows Components Wizard (hereafter, the wizard) to review a list of components that are installed in a particular system.

CAUSE

The Sysocmgr.exe tool manages multiple installable system components (ISCs) through the wizard on Windows 2000-based systems. Whenever the wizard is invoked, Sysocmgr.exe notifies all ISCs that the system has been modified, regardless whether a particular ISC is modified in this update. This occurs even if you click Cancel and exit the wizard before you update anything. After an ISC receives this notification, each ISC may choose to shut down certain processes to release locks on resources.

For example, if the wizard updates Message Queuing (also known as MSMQ), Sysocmgr.exe notifies Microsoft Internet Information Services (IIS) that the system has been modified. Therefore, IIS shuts down the Dllhost.exe process even though COM+ is not part of the update.

You cannot restrict each ISC from running COM+ setup to resolve this problem, because each ISC may have its own requirements. Furthermore, you cannot configure COM+ to prevent Dllhost.exe from being shut down because Dllhost.exe should be recycled under certain circumstances.

RESOLUTION

Because it is impossible to trace what shuts down the Dllhost.exe process, it may be difficult to control or to prevent the COM+ server process from being shut down on a critical production server. It is recommended that you use a mechanism to disable, to prevent, or to restrict Dllhost.exe from shutting down.

Because most administrators do not expect COM+ setup to run when they cancel the wizard, and because Sysocmgr.exe notifies the ISCs to do the update by design, Microsoft COM+ Hotfix Rollup Package 18.2 configures COM+ setup to log and to trace, but not to perform, the operation. Therefore, COM+ Hotfix Rollup Package 18.2 configures COM+ setup to carry "no-operation" if you click Cancel to cancel the operation in the wizard.

To resolve this problem, obtain the latest service pack for Windows 2000. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

260910 How to Obtain the Latest Windows 2000 Service Pack


To resolve this problem, obtain Microsoft COM+ Hotfix Rollup Package 18.2. For additional information, click the article number below to view the article in the Microsoft Knowledge Base:

317177 INFO: Availability of Windows 2000 Post-Service Pack 2 COM+ Hotfix Rollup Package 18.2



WORKAROUND

Use one of the following methods to work around this problem:

  • If you are an enterprise customer, you should schedule system down time if you want to update any installable system components that are installed on production systems.
  • For enterprise production systems, you should restrict permission to run the COM+ setup operation to certain users. To do this, only allow a limited number of users execute permissions on the following file:

    %systemroot%\System32\Setup\Comsetup.dll

    In addition, any user who has permission to run COM+ setup should lock out the server.
  • If you are an enterprise customer, you can rename Sysocmgr.exe to prevent these problems from occurring. Sysocmgr.exe is located in the following folder:

    %systemroot%\System32\Sysocmgr.exe


STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article. This problem was first corrected in Windows 2000 Service Pack 3.


Additional query words: kbIISCom kbWin2000preSP3COMRollup182Fix dllhost sysocmgr

Keywords: kbbug kbfix kbwin2000presp3fix kbqfe kbwin2000sp3fix kbhotfixserver KB304218