问题标签 [dcom]

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 回答
1142 浏览

.net - 使用本机 .NET 配置 DCOM 设置?

前段时间,我发现了 .NET 3.5 中的 System.Directory 命名空间,它使我能够使用本机 .NET 方法轻松管理本地和域帐户,而不是使用 API 调用和导入非托管 DLL。

现在我需要在 MSI 设置中为某些旧版应用程序配置 DCOM 设置。据我所知,使用 InstallShield 2009 的板载方式无法做到这一点。

有什么方法可以使用.NET 配置 DCOM 设置,以便我能够编写托管的自定义操作,例如?

0 投票
3 回答
5055 浏览

windows - 将 Kerberos 与 DCOM 一起使用时是否需要 SPN?

我正在使用 DCOM 在 Windows 网络上提供各种应用程序服务,使用 Kerberos 来处理身份验证。系统通常工作正常,但我遇到了从单独的(受信任的)域访问服务的问题。特别是,服务无法回调客户端应用程序,收到错误“发生安全包特定错误”。此外,如果我调整服务以明确要求 Kerberos 身份验证(而不是使用 SNEGO/negotiate),客户端甚至无法调用服务器(再次收到“发生安全包特定错误”)。

令人困惑的是,事情已经运行多年没有问题。但是,与我们之前所做的相比,这里有一些不同之处。一方面,所涉及的服务器运行的是我以前没有使用过的 Windows 2008。此外,如上所述,仅当从单独域的帐户访问服务时才会发生错误,并且以前的使用从未尝试过此操作。

现在问题是:我没有为此 DCOM 服务使用 SPN(服务主体名称),但一些错误和事件日志让我认为这可能是问题所在。但是,我发现的所有文档都不清楚这是否正确,或者如果我确实需要它,我将如何设置 SPN。有人确定 SPN 是否是我在这里缺少的吗?如果是这样,你能指出我应该如何做吗?

额外细节:

对于服务器设置为强制 Kerberos 身份验证的场景,打开Extended RPC Debugging会提供一些额外的线索。客户端可以使用 CoCreateInstanceEx 成功连接,但服务接口上的调用会失败,如上所述。RPC 错误记录在位置 140 处显示错误,错误代码为 0x80090303(“指定的目标未知或无法访问”),该记录的第三个参数是空字符串。这表明缺少 SPN 是罪魁祸首。

0 投票
2 回答
765 浏览

java - 在 REST 调用上从 Java 服务器保持 DCOM 对象处于活动状态

我正在为我的 Java 服务器实现一个 REST API。通过 API 获得的资源之一实际上是创建一个 C++ DCOM 对象并反映其值。我使用的 Java 到 COM 桥接器是 J-Integra。

问题是我需要为后续的 REST 调用保持该 DCOM 对象处于活动状态,但只要其 Java 引用存在,该对象就处于活动状态 - 最多直到 REST 会话到期。

我怎样才能让 DCOM 对象保持活动状态,直到我不再需要它?到目前为止,我唯一想到的是使用 EJB,然后它将成为启动 DCOM 对象并保存其引用的对象。我不是 EJB 方面的专家,但我认为 a) 它是一种过度杀伤的解决方案 b) EJB 可能会被服务器缓存(钝化?),从而丢失 DCOM 引用。

有什么建议么?

谢谢因巴尔

0 投票
3 回答
13250 浏览

windows - 带有 Windows XP SP3 的远程 WMI

全新的 Windows XP SP3 安装不允许像 Windows XP SP2 那样进行远程 WMI 访问。

如果我按照http://support.microsoft.com/kb/875605上的“如何解决 Windows XP SP2 中与 WMI 相关的问题”文档中的步骤操作,我将无法让 SP3 响应远程 WMI 请求。

每个请求,甚至是对内置管理员帐户、管理员组中的新帐户,甚至是不在管理员组中但被授予访问远程 DCOM 和 WMI 命名空间的新帐户(如 Microsoft 文档中所述)都返回错误代码0x80070005,访问被拒绝。

为了验证我没有愚蠢的系统配置,我安装了一个新的 Windows XP SP3 映像(使用来自 MSDN 的 .ISO 映像)并且除了通过防火墙启用 RemoteAdmin 之外没有执行任何配置更改。在这种情况下也看到了访问被拒绝行为。

Windows XP SP3 对远程 DCOM/WMI 访问有何变化以及如何最好地启用它?

0 投票
3 回答
2418 浏览

vb.net - Excel VBA 转 VB (DCOM)

我继承了 Excel VBA 电子表格。我的任务是将其转换为 VB。

我认为应用程序使用 DCOM 对象从 PLC 获取数据。以下代码在 MX1.0 更新时运行子 SBR1Select。

当我打开控制面板 -> 管理工具 -> 组件服务,然后导航到控制台根目录 -> 组件服务 -> 计算机 -> 我的电脑 -> DCOM 配置项目“DASSIDirect”列出,我相信这是 Excel 引用.

如何通过 DASSIDIRECT 组件将 VB 代码连接到 PLC?

注意:DASSIDIRECT 也是一项 Windows 服务(不确定这是否有助于回答问题)。

0 投票
1 回答
344 浏览

file - 是否存在允许流式传输写入锁定的 UTF8 文件的 DCOM 公开对象?

Scripting.FileSystemObject TextStream 对象支持 Windows 样式的Unicode 和由系统代码页修改的“纯文本”,但似乎不支持 UTF8——但是,它实际上可以流式传输锁定以进行更新的文件,例如 IIS 日志文件。

ADODB.Stream支持 UTF-8(或原始二进制文件),但不会“ LoadFromFile ”已锁定更新的文件,尽管该文件可在记事本中打开。(导致错误:无法打开 ADODB.Stream 文件。错误代码为 0x800a0bba )——尽管尝试以“读取”模式或“共享”模式打开流。似乎服务器端 COM 对象需要的锁定比我实际请求的要多。

还有其他选择吗?我通过 DCOM 远程调用这些,但是即使在主机系统本身上进行测试也会导致相同的行为。

理想情况下,将有一个组件充当流(即支持查找机制),可以流式传输原始字节(二进制)或可以处理纯文本、Unicode 和 UTF-8,并且可以读取打开写入的文件. 有人知道这样的野兽吗?

0 投票
3 回答
6418 浏览

dll - DCOMCNFG:为什么 dll 不显示?

我有一个通过 RegSvr32 注册的 COM DLL,但它没有显示在 DComCnfg 中。

关于为什么的任何帮助?

我想我遗漏了一些注册表项,但我不明白为什么会这样,我认为 RegSvr32 为我做到了。

谢谢你的帮助。

0 投票
7 回答
12826 浏览

c++ - COM、COM+、DCOM,从哪里开始?

我对COM+、DCOM很好奇。我知道 MSFT 不鼓励你在本地使用这个工具(意思是 C/C++,实际上没有很多可用的文档),但我想学习使用这些技术,比如将 Internet Explorer 嵌入到 C 程序中。

我想也许我可以找到使用这个或知道这项技术的人。

从哪儿开始?有任何想法吗?任何例子(如Hello World DCOM)?

0 投票
3 回答
1672 浏览

vb6 - 如何在 vb6 中更改 DCOM 的 guid?

我有一个 Windows 服务,它使用某个 guid A 实例化一个 dcom 对象。

我需要用新版本替换那个 dcom 对象。当我创建和编译我的替换 dcom 对象时,它是使用 guid B 创建的。

如何将替换 dcom 对象的 guid 从 guid B 更改为 guidA?

0 投票
4 回答
21254 浏览

windows-services - 通过 Server 2008 上的 Windows 服务实现 Office 自动化

我们有一个在 2003 Server 上运行的 Windows 服务。它使用 Word Interop 打开一个源 Word 文档,然后用它做一些事情。它也同样适用于 Excel 和 PowerPoint 文件。

最近,我们尝试将此服务移至 Windows 2008 Server 机器上,但遇到了实际问题。

Microsoft.Office.Interop.Excel.Workbooks.Open 处的 COMException Microsoft.Office.Interop.Word.Documents.Open 处的 COMException

当 Windows 服务在 2008 Server 上运行时,我得到了上述异常。查看任务管理器,应用程序确实加载正常,但不久之后又关闭了。

我已经阅读了有关 Vista 和 Server 2008 不再具有 Session0 的内容,并尝试相应地更改 Office DCOM 安全属性,包括将运行它们的用户的身份更改为集成但无济于事。

有谁知道这是否可能?这是我们系统的一个基本方面,因此我们需要能够做到这一点。

谢谢