.net框架的引入是否使COM和DCOM中的原始编程变得多余?
(除了使用一些COM +服务,例如通过System.EnterpriseServices命名空间进行事务管理)
我已经导出了一个COM +应用程序代理,它生成了MSI和CAB文件,我已经在几台不同的Win XP和Vista机器上成功安装了它们.但是,我有一个不能很好玩的WinXP盒子.当我尝试运行MSI时,它给出了以下错误消息:
"注册COM +应用程序时出错."
它停在那里,甚至没有在COM +中创建应用程序.关于在哪里看的任何想法?我猜测一些依赖是MIA,禁用或配置错误,但我似乎无法弄清楚魔法酱中缺少什么.
此外,如果您有任何人有手动注册客户端应用程序代理的经验,那也会膨胀.
和平| dewde
全新的Windows XP SP3安装不允许像Windows XP SP2那样进行远程WMI访问.
如果我按照http://support.microsoft.com/kb/875605上的"如何解决Windows XP SP2中与WMI相关的问题"文档中的步骤操作,我无法让SP3响应远程WMI请求.
每个请求,甚至是内置管理员帐户,Administrators组中的新帐户,甚至是不在Administrators组中但具有远程DCOM和WMI命名空间访问权限的新帐户,如Microsoft文档中所述都返回错误代码0x80070005,访问被拒绝.
为了验证我没有愚蠢的系统配置,我安装了一个全新的Windows XP SP3映像(使用MSDN中的.ISO映像),并且除了通过防火墙启用RemoteAdmin外,没有执行任何配置更改.在此方案中也可以看到Access被拒绝的行为.
Windows XP SP3中有哪些更改为远程DCOM/WMI访问以及如何最好地启用它?
我收到了这个错误
来源:DCOM
Event_ID:10010"服务器{6FC4FDAE-96C8-11D3-9F9C-005004053207}未在所需的超时时间内向DCOM注册."
这是针对特定的exe,当本地系统运行时工作正常但在非内置管理员下运行失败时.我需要exe在非内置管理员下运行.
目前我在使用Citrix的Win 2k3机器上遇到此问题.
但是我之前也在XP机器上遇到过这个问题.
解决问题的任何提示?
我的公司运行一个用delphi编写的旧应用程序.一个简单的com服务器,为某些计算机提供一些数据库.我必须在每台计算机上运行一次服务器以注册com接口,并且自从windows xp中的任何东西以来它一直在工作.使用windows xp我从来没有遇到过一个问题,但在Windows 7中,该类只是不会注册,无论我尝试什么(我尝试导出注册密钥),当我打开客户端时,我仍然会收到错误"Class not registered ".
有什么建议?Plz救我的圣诞节.
我知道.net有WCF,我认为当代号为Indigo(?)时,它被吹捧为COM的替代品 - 但它是否真的适合在.NET应用程序中使用,提供与C++/DCOM应用程序相同的功能?
客户端 - 服务器系统上的DCOM应用程序可能很痛苦,但我认为与其他选项(如Web服务)相比,它非常有效 - 无论如何还有其他问题.
那么,WCF是(D)COM的真正继承者还是它有不同的目标?
编辑:我正在谈论分布式应用程序和远程控制 - 例如,服务器可以导致在工作站上启动对话框,工作站可以调用服务器上的方法来发送响应,等等.我将"D"添加到我的标题因此.
我们有一个遗留的 VB6 应用程序,它在启动时通过拉取最新文件并注册 COM 组件来更新自身。这适用于在另一台计算机上的 COM+ 中注册的本地 (regsvr32) ActiveX COM 组件和远程 (clireg32) ActiveX COM 组件。
出于安全原因,新要求阻止我们写入 HKEY_LOCAL_MACHINE (HKLM),这显然是调用 regsvr32 和 clireg32 时默认发生的情况。
我们提出了一种使用RegOverridePredefKey Windows API 方法在 HKEY_CURRENT_USER\Software\Classes (HKCU) 下注册本地 COM 组件的方法。这是通过将注册表中的插入重定向到 HKCU 位置来实现的。然后,当COM组件被实例化时,Windows首先查找HKCU,然后再在HKLM中查找组件信息。这取代了 regsvr32 正在做的事情。
我们此时遇到的问题是,当我们尝试使用clireg32注册VBR/TLB时,此注册过程还将注册键添加到HKEY_LOACL_MACHINE中。
有没有办法重定向 clireg32.exe 以注册组件为 HKEY_CURRENT_USER?是否有任何其他方法允许我们在安全访问受限的客户端计算机上注册这些 COM+ 组件?
目前我们唯一的解决方案是手动将注册信息写入注册表,但这并不理想,并且会成为一个维护问题。
我一直在阅读 COM,其中提到了二进制标准以及如何使语言独立成为可能。实际上什么是二进制标准?在我看来,二进制意味着机器级代码,如果它意味着机器语言,那它怎么可能是独立的呢?
我试图建立hMailServer在"Windows Server 2008企业版Service Pack 1" .I've设置hMailServer,阿帕奇,PHP和Webmail界面"AfterLogic的webMail" successfully.And一切工作well.But我被困在同时问题我试图安装" PHPWebAdmin ".错误信息如下:
Fatal error: Class 'COM' not found in E:\Server\wwwroot\PHPWebAdmin\initialize.php on line 13
Run Code Online (Sandbox Code Playgroud)
访问"http://192.168.2.66:8088/PHPWebadmin/"时会出现此信息.
我已经配置PHP配置文件php.ini选项如下:
[PHP]
register_globals = Off
display_errors = Off
doc_root = "E:/Server/wwwroot"
extension_dir = "E:/Server/php5_4_5/ext"
[Session]
session.save_path = "E:/Server/php5_4_5/tmp"
[COM]
com.allow_dcom = true
Run Code Online (Sandbox Code Playgroud)
我也完成了这些事情,因为hMailServer手册建议:
DCOM permissions
Overview
By default, IIS6 is not allowed to connect to hMailServer because of the Distributed COM permissions that Windows uses. Also, Apache run as a user account with restricted permissions …Run Code Online (Sandbox Code Playgroud) 当我的 Web 服务尝试通过我的 .net Web 服务实用地打开 MS Word 文档时,我收到下面提到的错误。当我通过 Visual Studio 运行 Web 服务时,它工作正常,但是当我在 IIS 7 上部署 Web 服务时,出现错误
Retrieving the COM class factory for component with CLSID
{000209FF-0000-0000C000-000000000046} failed due to the following error: 80070005
Access is Denied
Run Code Online (Sandbox Code Playgroud)
在下一行。
Microsoft.Office.Interop.Word.Application oWordApp = new Microsoft.Office.Interop. Word.Application();
Microsoft.Office.Interop.Word.Document oWordDoc = new Microsoft.Office.Interop.Word.Document();
Run Code Online (Sandbox Code Playgroud)
我已经在服务器端编写了这段代码。它必须打开Word文档模板并查找并替换一些值并另存为不同的名称
我使用 64 位系统和 Office 2007。任何人都可以帮助我解决这个问题吗?
我Microsoft Office Interop Word用来使用C#生成文档.为了使文档生成工作,应该有一个在进入"Microsoft Office Word 97 - 2003 Document"下Dcom Config Settings为如下所示:

首次安装Microsoft Office时,Local Path下面General Tab有正确的路径.如果我然后将计算机加入域,然后使用域用户重新启动系统,则Local Path变为空白,应用程序不会生成文档并出错.
即使我首先将计算机加入域,然后使用域用户登录然后安装Microsoft Office,Local Path首先显示正确,然后在重新启动后再次变为空白.同时,在同一时间,如果我登录Local User时,Path仍然存在.
是什么导致价值Local Path变为空白?
所有这些设置都在虚拟机上,并且自动化一词在域帐户上工作,因为我看到它在加入域的物理机器上工作.
UPDATE: What my application is doing:
Run Code Online (Sandbox Code Playgroud)
我的应用程序中有4-5个组件.
第一个是VSTO Word AddIn,它与Microsoft Word集成,我们在其中创建包含一些也保存在数据库中的表达式的新文档.表达式上也有条件,它们也可以嵌套.表达式包含XSD文件中的架构元素,这些元素保存在数据库中.创建此类文档后,其WordML将保存在数据库中.这一切都在VSTO AddIn中完成.
第二个是Web服务,它从另一个组件接收输入xml,该组件确认上面的XSD,架构元素嵌入到通过VSTO addIn创建的文档中的表达式中.此Web服务检查验证和其他几项任务.然后,它从数据库中获取相应的Word文档的WordML中,并将其传递到使用它的API,遍历它递归来替换输入XML其实际值的架构元素的话语互操作.然后,将WordML作为word文档保存到文件中.
这也会在保存文档之前将模板附加到文档中.它使用Word Interop的SaveAs功能将文件另存为PDF.
更新:我又通过我的完整的应用程序不见了,才知道我们被解析的Office Open XML(例如用于输送输入到Word文档)做的所有的事情,但是,我们使用的是Word自动化做的唯一的事情是以下:
所有这四个代码如下所示,仅包含相关的代码部分:
Microsoft.Office.Interop.Word.Document wordDocument = null;
object templateName = "templateFile.dotm";
wordDocument = this.WordApplication.Documents.Add(ref …Run Code Online (Sandbox Code Playgroud) 我有一个项目有很多COM dll,为了要求我必须取消注册COM Dll,我通过调用Regsvr32 -u选项和dll未注册.
这种取消注册操作似乎删除了一个ICommon接口,即接口,这使得其他COM对象无法使用.
此ICommon接口由所有其他COM组件实现,在未注册的COM Dll的注册表脚本中,我没有看到任何删除此ICommon接口表单注册表的代码,如何删除它.
如何删除给定的接口信息CoClass,BEGIN_COM_MAP是否可以COM_INTERFACE_ENTRY扮演任何角色?
是否有Delphi 7的Application.DelayInitialize的替代品?我正在尝试创建一个托管COM服务器的Delphi 7服务,但它不起作用,我相信这是因为我没有使用Application.DelayInitialize.
dcom ×13
.net ×4
com ×4
com+ ×3
delphi ×2
vb6 ×2
windows ×2
atl ×1
c# ×1
c++ ×1
clireg32 ×1
com-interop ×1
delphi-7 ×1
hmail-server ×1
interface ×1
middleware ×1
office-2007 ×1
php ×1
regsvr32 ×1
vb.net ×1
wcf ×1
web-services ×1
windows-7 ×1
wmi ×1