War*_*Rox 9 ide vb6 windows-7 iis-7.5 iis-metabase
我需要能够在Windows 7 64位上调试Visual Basic 6 IIS应用程序.不只是针对单个问题,而是针对持续发展.
尝试调试会导致WebClass运行时出现错误"发生未指定的错误".
如果我不调试并只是访问已编译的webclass页面加载就好了.因此,我不认为应用程序的注册/配置有任何问题,但这与Windows操作系统安全性有某种关系,阻止VB6 IDE挂钩到IIS并允许它进行调试.
以下是我尝试过的所有内容:
这耗尽了我对尝试事物的丰富经验.如果我创建VB6 Windows应用程序或ActiveX控件,我可以轻松启动和调试.
我在Windows Server 2003上遇到了类似的问题,尽管全新安装的W2K3解决了这个问题.
在Windows系统事件查看器日志中,事件ID 10004有2个重复条目,如下所示:
DCOM收到错误"1326",无法登录DOMAIN\User以运行服务器:{70F214BA-94E2-4BDF-8F30-32CB4A905E4D}
DOMAIN\User是我的域帐户,上面提到的GUID是我为VB ASP调试添加的DCOM条目.
我必须提供的唯一额外信息是Windows 7 64位在VM中运行,尽管我在尝试调试时远程控制台.我在没有控制台连接的情况下在VM上调试时遇到问题.
如果有人可以提供任何进一步的建议,我会非常感激.
如果有人能够解决这个问题,并在Windows 7操作系统上成功调试IIS Web应用程序,描述必要的设置,我将提供300点的当前赏金!
我最近在Windows 7 64位计算机上遇到了同样的问题.对我有用的解决方案是检查Windows事件日志(系统)以查找特定的DCOM错误.这是我的错误:
机器默认权限设置不授予本地激活权限与CLSID {} 17C2D338-9569-4022-8AF2-52A3A124F22D和APPID {} 17C2D338-9569-4022-8AF2-52A3A124F22D COM服务器应用程序向用户NT AUTHORITY\IUSR来自地址LocalHost的SID(S-1-5-17)(使用LRPC).可以使用组件服务管理工具修改此安全权限.
对我来说,关键是给IUSR内置帐户启动和激活权限.attemtpting给这个用户权限个别DCOM组件和失败后,我决定将用户添加到本机的默认DCOM权限.你可以这样做:
运行dcomcnfg.右键单击Console Root/Component Services/Computers/My Computer节点.选择属性.选择"COM安全"选项卡.单击"访问权限"组下的"编辑默认值".点击"添加".输入事件日志中指示的用户(我的是IUSR).单击确定.重复"启动和激活权限"组.在所有对话框中选择"确定".
我没有重启我的机器以使这些设置生效.我用同样的方法来调试VB6的dll,我在XP上使用,即运行VB6(无人值守执行)下的DLL,设置一个断点,导航到访问的DLL一个网页,并等待被击中断点.希望这可以帮助.
我相信在任何比 Windows XP 更新的 Windows 版本上都不可能IIS Application在 IDE 中调试 VB6(可能情况与 Windows 服务器版本类似)。该问题的根本原因似乎是 IIS 6 和 IIS 7+ 之间的主要差异。当然,没有关于该主题的官方文档,因此我将在下面详细介绍。
首先,回顾一下这个问题是有意义的。许多好人似乎忘记了这个IIS Application术语在这种情况下指的是特殊类型的 VB6 项目。我能够在 Win7 Ultimate x64 SP1、Win7 Ultimate x86 SP1 和 Vista Enterprise x86 SP2 上按照以下步骤重现该错误:
IIS Application项目:


之后,VB6 IDE 中立即出现错误消息:

让我们看看在 Windows XP 上执行相同的场景时会发生什么。当开始调试 VB6 时IIS Application:


这一切都发生在Windows XP激活之前。 WebClass在 Windows 7 上,进程不会到达此阶段。
很明显,VB6 IDE 尝试在 IIS 中执行一些管理任务,以便能够调试WebClass. 人们可以借助Process Monitor和API Monitor进行更深入的研究。很明显,VB6.exe 依赖于 IIS Admin Service 的 COM 接口。坏消息是,与以前的版本不同,IIS 7+ 不使用元数据库,并且 IIS 7+ 中没有 IIS 管理服务。IIS Metabase and IIS6 compatibility理论上,可以安装一个组件,该组件应该使使用 Metabase 的应用程序能够继续与 IIS 7+ 一起工作:

不幸的是,安装它并不能解决问题。
有人建议您的问题可能是由于 COM 组件的启动和激活权限不足引起的。恐怕所有这些建议都是徒劳的。此类错误始终伴随着系统事件日志中的相关错误事件。本案中不存在此类事件。