Cannot Create Instance of Remote COM+ Component from Windows NT 4.0 by Using CoGetClassObject or CreateInstance (312866)
The information in this article applies to:
- Microsoft COM+ 1.0, when used with:
- the operating system: Microsoft Windows 2000
- the operating system: Microsoft Windows NT 4.0
This article was previously published under Q312866 SYMPTOMS
You cannot create an instance of a remote COM+ component under the following circumstances:
- You install COM+ Hotfix Rollup Package 15, 16, or 17 on a computer that is running Windows 2000.
-and-
- You export and install a COM+ application proxy on a client computer that is running Microsoft Windows NT 4.0.
-and-
- You use the CreateObject function in a Microsoft Visual Basic Scripting Edition (VBScript) application to create an instance of the remote component.
-or-
- You use the IClassFactory::CreateInstance method and the CoGetClassObject function in a Microsoft Visual C++ application to create an instance of the remote component.
The Dllhost.exe application is started on the server, but no instance of the component is created. Furthermore, the IClassFactory::CreateInstance method returns error 0x80040154 (REGDB_E_CLASSNOTREG). NOTE: This problem does not occur when you export and install a COM+ application proxy on a client computer that is running Windows 2000 or when you use the CreateObject function in a Microsoft Visual Basic application.
CAUSE
This problem occurs because Windows NT 4.0 cannot fill the original class context in activation properties objects. As a result, the original class context is not passed correctly to the server. This problem is a regression that is caused by fixing the bug that is described in the following Microsoft Knowledge Base article:
303850 FIX: CoGetClassObject May Not Activate Remote COM+ Component
RESOLUTION
To resolve this problem, obtain Microsoft COM+ Hotfix Rollup 18.1.
For additional information, click the article number below
to view the article in the Microsoft Knowledge Base:
313582 INFO: Availability of Windows 2000 Post-Service Pack 2 COM+ Hotfix Rollup Package 18.1
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
WORKAROUND
To work around this problem in a Visual C++ client application, use the CoCreateInstance function instead of the CoGetClassObject and the CreateInstance functions.
STATUSMicrosoft 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.
Modification Type: | Major | Last Reviewed: | 6/5/2003 |
---|
Keywords: | kbbug kbfile kbfix kbWin2000PreSP3Fix kbWin2000sp3fix KB312866 |
---|
|