System error &H80004015 - This class is configured to run as a security id different from the caller.
来源:互联网 发布:four loko 知乎 编辑:程序博客网 时间:2024/06/06 10:50
Article ID
When you try to run an ActiveX DLL from the Visual Basic IDE, you receive the following error message:
When Visual Basic runs an ActiveX DLL from the IDE, it calls the CoRegisterClassObject application programming interface (API) to temporarily register the server. This creates the AppId and specifies it to run in the Interactive User context.
This problem occurs because of a bug in the Microsoft OLE Libraries 4.0, which are included with the Microsoft Platform Software Development Kit (SDK). CoRegisterClassObject fails with the error message that is listed in the "Symptoms" section of this article under the following conditions:
Make sure that the HKEY_LOCAL_MACHINE/Software/Microsoft/Windows NT/CurrentVersion/Winlogon Shell= registry key contains a single valid executable name for the shell process.
To resolve this problem under Windows 2000, you can install the "Client for Microsoft Network" component and then reboot.
See the "References" section of this article for instructions about how to handle this error when it is related to the Certification Authority on systems that are running Windows 2000.
For additional information, click the article number below to view the article in the Microsoft Knowledge Base:
Article ID
The CoRegisterClassObject() API fails with the error "CO_E_WRONG_SERVER_IDENTITY" under the following conditions:
This bug can be avoided by making sure that the shell-named value has only one string representing the valid process .exe name associated with it. The shell-named value contains the string "Explorer.exe" by default. The problem occurs if the shell-named value has been modified and is not a string representing the valid .exe name for a single-shell process. In particular, multiple .exe names (such as "Explorer.exe cmd.exe"), command line switches for a single valid .exe (such as "Explorer.exe /s"), or no valid .exe name (a bogus shell name or a NULL string) will result in this error.
Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article.
This problem was corrected in Windows NT 4.0 Service Pack 4.
The implementation of CoRegisterClassObject() checks to see if the the security identity of the process (COM server) that is calling it matches the security identity that the class is registered to run under.When the server is set to run under the "Interactive User" identity, CoRegisterClassObject() must determine dynamically the identity of the current interactive user in order to make the comparison. To do that, the implementation of the API will compare the security identity of the calling process with the security identity of the running process named in the shell-named value to ensure that they match. At the present time, COM assumes that the shell value is a single valid .exe name that has been launched by Winlogon as the interactive user's primary process. When the string for this value contains multiple substrings or no string exists for this value, COM is unable to find a process running as the interactive user and the security comparison will always fail. As a result, the API will incorrectly return the error. (See the References section for a KB article that describes the circumstances under which CoRegisterClassObject() correctly returns the CO_E_WRONG_SERVER_IDENTITY error code.)
One of the reasons why this named value contains substrings is that you need to start the shell process with a command line parameter. For example "Explorer.exe cmd.exe" starts Explorer.exe as the shell and passes cmd.exe as a command line parameter to Explorer.exe, which in turn causes Explorer to spawn cmd.exe. You can work around this requirement by adding cmd.exe to the HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Run key in the registry which is more appropriate for this purpose.
For additional information, please see the following article(s) in the Microsoft Knowledge Base:
- System error &H80004015 - This class is configured to run as a security id different from the caller.
- The resolution of ERROR C2662: cannot convert 'this' pointer from "const Class-Type" to "Class&"
- asks to run as user -2 but is calling from user 0; this requires android.permission.INTERACT_ACROSS_
- .Net Framework Initialization Error – Unable to find a version of the runtime to run this
- "The file you are trying to open, '[filename]', is in a different format" Excel Error
- ExpressCache : Product is not licensed to run on this system
- solve error pydoop.LocalModeNotSupported: ERROR: Hadoop is configured to run in local mode
- The security log on this system is full
- MySQL之——主从server-id不生效,The server is not configured as slave
- Solution For "could not be located or a different control is assigned to the same ID after postback"
- It is an error to use a section registered as allowDefinition='MachineToApplication' beyond application level. This error can be
- This application is modifying the autolayout engine from a background thread, which can lead to engi
- This application is modifying the autolayout engine from a background thread, which can lead to engi
- "This application is modifying the autolayout engine from a background thread, which can lead to en
- This application is modifying the autolayout engine from a background thread, which can lead to engi
- This application is modifying the autolayout engine from a background thread, which can lead to engi
- This application is modifying the autolayout engine from a background thread, which can lead to engi
- This application is modifying the autolayout engine from a background thread, which can lead to engi
- DATASET和XML操作(1)
- Windows下MRTG的安装配置
- SQL Server开发人员应聘常被问的问题妙解汇总
- Google Earth 上的俺们学校
- 姚明戏称为姚鲨大战预热 麦迪承认巨人为第一核心
- System error &H80004015 - This class is configured to run as a security id different from the caller.
- 11月12日
- EPOWER.exe ALASTART.exe ADSAL.exe tool.exe
- Bug分析:为bug预防奠定基础
- 葫芦丝的传说
- Linux文件系统概述
- 在同一个进程空间运行两个程序
- 用AJAX写BLOG
- 背包问题