![](/img/trans.png)
[英]How can I get a list of all the com+ components of a com+ application?
[英]How do I grant access to my COM+ application?
我创建了一个 COM+ 服务器应用程序,但调用者无法访问它 - 当它尝试从该应用程序实例化 COM object ( CoCreateInstance()
) 时,系统日志中会显示以下内容:
The application-specific permission settings do not grant Local Activation permission for the COM Server application with CLSID {class id of COM object here} and APPID {app id of the COM+ application here} to the user MACHINENAME\administrator SID (SID here) from地址 LocalHost(使用 LRPC)。 可以使用组件服务管理工具修改此安全权限。
调整 COM+ 访问的唯一方法似乎是使用角色,但应用程序未选中“强制访问检查”,因此看起来应该没有限制。 然而 object 不会实例化。
如何允许某个用户访问特定的 COM+ 应用程序,以便他可以从那里实例化对象?
您应该做的第一件事是检查您是否可以在应用程序之外创建此 object。 我在这里使用 vbscript;
dim vvv
set vvv= CreateObject ("CoCreateInstance()")
if isnull(vvv) then
msgbox "null"
else
msgbox "not null"
end if
如果您无法创建 object,那么 .dll 可能存在问题,您最好将组件从注册表中擦除并完全重新安装/重新实现它。
如果您可以创建 object,则说明应用程序访问组件时存在问题。 这通常是由于以下原因之一;
组件安全设置
用户设置
组件服务和注册表不匹配
如果这些都不起作用,请在注册表中搜索组件的名称并将其清除。 然后重新安装。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.