问题标签 [component-services]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
716 浏览

asp-classic - COM+ 方法(如何查看内部?)

我不得不更新我们用经典 ASP 编写并利用内部 COM+ 服务的古老 Intranet 应用程序之一。我在任何地方都找不到该对象的源代码,开发人员也没有记录它。

我可以通过查看服务中可用的方法,Start -> Administrative Tools -> Component Services但我一生都无法弄清楚如何查看方法内部以查看它们在做什么。

是否有反编译这些 COM+ 服务,或者以其他方式查看它们的方法,或者我注定要纯粹观察旧应用程序并尽力模仿行为和数据?

注意:我从旧服务器导出服务,安装在我的开发箱中,添加对 VS2010 项目的引用,并尝试使用对象资源管理器识别这些方法。没有什么...

0 投票
0 回答
675 浏览

com+ - 尝试导出 COM+ 库时出现目录错误

我们有一个旧的 VB6 COM+ 组件,它在 64 位 Windows 2003 R2 Server with SP2 上运行。我需要在新 PC 上安装代理,发现 .MSI 不存在,所以我想我会进入组件服务并导出它。我试过了,但收到以下错误消息:

“目录错误处理最后一个操作时发生错误。错误代码 8002801D - 库未注册。

事件日志可能包含其他故障排除信息。”

好吧,事件日志没有包含任何其他信息。无论如何,我对此错误感到困惑,因为站点周围的几个应用程序正在该服务器上使用此 COM+ 服务运行,所以我不知道为什么它会说该库未注册。但更重要的是,我在服务器上的组件服务中看到了该包并且它正在运行。为什么我不能导出要在新 PC 上使用的代理?

0 投票
1 回答
1283 浏览

c# - log4net - 跟踪日志配置问题

我有一个 COM 可见的 .NET 对象,它安装在组件服务应用程序中,以使其对某些遗留代码可见。

组件服务应用程序配置有应用程序根目录。

在应用程序根目录中,我有一个 application.config 文件。

在我的 application.config 文件中

我的代码包括:

然后,我在整个代码的各个级别都非常详细地记录。

它没有记录任何东西。

我启用了 log4net 内部调试:

并用debugview监控,显示log4net做了一些事情:

像泥一样清澈:)

所以我看不到其他任何东西来检查为什么我没有从我的对象中注销。

我目前在任何地方都找不到更好的故障排除信息。

有任何想法吗?

谢谢

0 投票
1 回答
51 浏览

windows - NTService 寻找错误的配置文件

我正在将一组安装程序从 VS2010 移动到 WIX,并且在我们的 NT 服务应用程序中遇到了错误。

使用 WIX 安装程序创建和安装 NT 服务后,该服务不会查找您所期望的命名的 app.config (ApplicationName.exe.config)。我们的应用程序名称类似于 XXX.YYYYYYYY,并且在启动期间将调试器注入服务时,我可以看到它正在寻找 XXX.config 而不是 XXX.YYYYYYY.exe.config。

我尝试通过控制台运行应用程序,当我这样做时,它会查找正确的 app.config 文件名。使用 VS2010 安装程序还可以让服务查找正确的 app.config 文件名。

wxi3.8 中是否有一些我遗漏的设置,或者输入了不正确的值,这会导致这种情况?这是控制服务的 wxs 段:

0 投票
2 回答
1469 浏览

windows - 在 Windows 8.1 上调用 COM+ 组件时出现自动化错误

我有一个旧版 VB6 应用程序,它调用用 C#(针对 .NET Framework v2)编写的 COM+ 组件以进行 TCP/IP 通信。

这种操作模式已在各种操作系统上工作,并已成功部署到 Windows XP、Vista 和 7 环境中。

我刚刚开始在 Windows 8.1 中测试该软件,当 VB6 应用程序尝试调用 COM+ 组件时,它会报告“自动化错误”。过去这类错误都是由于 COM+ 注册失败,通过使用regsvcs.exe.

该软件由 MSI 安装,它还运行一个脚本,该脚本调用 regsvcs.exe 来注册 COM+ 组件。对于 Win 8.1,我必须更改regsvcs.exefrom 的路径:

至:

我在 Win 7 和 Win 8.1 上测试了这个安装程序。在 Win 7 上,COM+ 调用工作正常。我在 Win 8.1 中遇到的问题是 COM+ 组件似乎已正确注册,但是对该组件的调用仍然失败。组件服务中的一切看起来都很好,并且在进行 VB6 调用时 COM+ 应用程序启动,但返回自动化错误并且调用失败。

注意:我正在测试的 Win 7 和 8.1 环境是 64 位的。

在 Windows 7 和 Windows 8.1 之间,与组件服务和 COM+ 应用程序相关的内容似乎发生了变化,但我似乎找不到解决方案。

有没有人经历过类似的事情或关于问题可能是什么的任何指示?

0 投票
1 回答
625 浏览

c# - 在 C# 中以编程方式读取 MS DTC 事务组件服务超时

我目前正在使用 C# 开发一个小型应用程序,以使用 Microsoft DTC 检查事务的多个错误和超时设置。

我在 CodeProject ( http://www.codeproject.com/Articles/729805/MSDTC-Manager )找到了 MSDTC 经理,这已经很有帮助了。它基于http://technet.microsoft.com/en-us/library/cc759136(v=ws.10).aspx

我还无法弄清楚的是如何以编程方式(在 C# 中)读取/访问超时属性,该属性可以在组件服务(Windows > Run > comexp.msc)中找到:组件服务 > 计算机 > 我的电脑 > 属性> 选项 > 事务超时

例如,在将值从 60 更改为 120 时,我已经尝试使用 Sysinternals 的 Process Monitor 来跟踪注册表更改或任何其他类型的更改,但是通过更改超时值,我得到了数百行,但没有一个很清楚说明哪一个是正确的。

有任何想法吗?非常感谢!

0 投票
1 回答
193 浏览

c# - COM+ dll 组件名称在添加到组件服务后丢失

我使用 ATL 项目在 C++ 中创建了一个 COM+ dll。COM+ dll 添加到组件服务后,不显示组件名称。下面给出了屏幕截图的链接,

https://www.flickr.com/photos/100661150@N07/16832241851/in/set-72157649061069133

我经历了很多教程,但找不到合适的解决方案。有没有办法让名称出现,因为需要名称才能将 COM+ dll 用作 WCF。

0 投票
0 回答
533 浏览

c# - 无法在 windows 2008 R2 中注册/添加 COM 对象

在 Windows 2008 R2 中注册基于 C#.net 的 crypto.dll 时出现以下错误。
使用 .Net 3.5 和 VS 2008 构建并使用强名称密钥签名的 COM 对象。相同的 ddl 托管在 Windows 2003 服务器中并且可以正常工作。仅在 Windows 2008 R2 上出现问题。COM 对象还针对任何 CPU 平台。所以我认为 32/64 位操作系统版本不会有问题。此外,尝试安装此 COM 对象的用户在此 Windows 2008 R2 服务器上具有管理权限。

出现以下错误:System.EnterpriseServices.RegistrationException:您必须拥有管理凭据才能执行此任务。请联系您的系统管理员寻求帮助 System.UnauthorizedAccessException: Access is denied.(Exception from HRESULT:0:80070005(E_ACCESSDENIED))

在此处输入图像描述

尝试通过组件安装它时,我也会收到权限错误。如果我尝试在未注册 Crypto.DLL 的情况下安装组件,我会收到以下错误消息。

在此处输入图像描述

0 投票
1 回答
453 浏览

vb6 - 如何将您的 dcom 项目添加到组件服务

所以,我试图将一个新的 dll 添加到一个旧项目(我没有开始)。一切顺利,因为我能够添加一个 dll 并使用它的功能 - 没问题。然而,到了测试项目的时候,在构建它并打包安装程序之后,我遇到了一点困难。

现在我对此完全陌生,所以我不得不在互联网上进行大量搜索,以学习如何打包项目和 dcom 对象。附加信息:关于这个项目在我修改之前是如何编码/打包的,没有。但!它确实提供了有关如何在 dcomcnfg(组件服务)中设置访问权限的简洁说明。DCOM 对象是“ProjectCom.ProjectInfo”。

我非常努力地打包和重新打包新项目(甚至包括旧项目使用但新项目未使用的 dll),但我似乎永远无法安装以在 dcomcnfg 中添加 ProjectCom.ProjectInfo 条目> .<(我只知道这个 ProjectCom.ProjectInfo 是因为我保留了旧安装包的副本并运行测试安装以进行比较。)

简而言之,问题是:如何让我自己的 ProjectCom.ProjectInfo 出现在 dcomcnfg 中?

0 投票
2 回答
1596 浏览

iis - 无法让 Worldwide Web Publishing Service 在 Windows 10 中运行

我今天不得不重新安装 Windows 以解决驱动程序损坏的其他一些问题。一切都很顺利,直到我尝试启动 IIS,但万维网发布服务没有运行。我试图启动它并收到一条无法启动的消息。检查事件日志,我发现以下条目:

万维网发布服务服务因以下特定于服务的错误而终止:依赖服务或组无法启动。

我检查以确保分布式事务协调器、RPC 端点映射器和 Windows 进程激活服务都在运行,所以我不知道问题是什么。我已经卸载了 IIS,重新启动,重新安装,再次重新启动,但仍然有同样的问题。

编辑 我尝试了下面答案中显示的步骤,但没有奏效。我无法更改组件服务下 DCOM 配置中类的任何设置。查看系统日志,这是我现在看到的:

在尝试了所示的修复程序后,这就是我仍然得到的:“应用程序特定的权限设置不授予具有 CLSID {8D8F4F83-3594-4F07-8369-FC3C3CAE4919} 和 APPID {F72671A9 的 COM 服务器应用程序的本地激活权限-012C-4725-9D2F-2A4D32D65169} 到用户 NT AUTHORITY\SYSTEM SID (S-1-5-18) from address LocalHost (Using LRPC) running in the application container Unavailable SID (Unavailable). 这个安全权限可以修改使用组件服务管理工具。”

任何人都可以提供对此的见解吗?