注册 登录
编程论坛 ASP技术论坛

无权限 CreateObject 错误码: 0x80070005

柳儿 发布于 2009-11-19 20:33, 1572 次点击
在用VB调试DLL。
如果不启动VB工程,运行到目标页面,会报错误:无效的ProgID。
启动VB工程,运行到目标页面,报告错误如下:

错误类型:   
  Server   对象,   ASP   0178   (0x80070005)   
  检查权限时,对   Server.CreateObject   的调用失败。拒绝对此对象的访问。

网站权限使用匿名访问。
请问这个权限应该在哪里加?
3 回复
#2
yms1232009-11-19 23:04
楼主创建的是自定义对象还是系统对象(比如FSO对象[FileSystemObject]?)
#3
aspic2009-11-22 08:53
网站权限使用匿名访问。
请问这个权限应该在哪里加?
NTFS格式的盘才具有这个安全选项
#4
柳儿2009-12-01 13:08
之前上不来,来了帖子都结了阿。现在问题已经解决。原因如下:

Windows2000和WindowsXP里,默认设置是赋予System账户和当前登陆用户对DCOM拥有访问权限。匿名用户没有DCOM server的访问权限。

解决办法为:在注册表里登陆VB6.exe的DCOM entry。

REGEDIT4
[HKEY_CLASSES_ROOT\CLSID\{70F214BA-94E2-4bdf-8F30-32CB4A905E4D}]
@="VB ASP Debugging"
[HKEY_CLASSES_ROOT\CLSID\{70F214BA-94E2-4bdf-8F30-32CB4A905E4D}\LocalServer32]
@="vb6.exe"
[HKEY_CLASSES_ROOT\AppID\vb6.exe]
"AppId"="{70F214BA-94E2-4bdf-8F30-32CB4A905E4D}"

以上代码保存为Vbaspdb.reg文件,然后双击。

为了进行Visual Basic ASP Debug, 在DCOM访问许可里追加Everyone账户。

开始-〉运行-〉dcomcnfg。
选择application -> VB ASP Debugging, 点击属性,
选择安全-〉选择 使用自定义访问许可,-〉编辑-〉追加everyone

重起电脑。

问题解决。。
1