繁体   English   中英

在Windows 2003 Server和Windows 7上导出COM +应用程序客户端代理时,缺少DLL

[英]DLL missing when COM+ application client proxy is exported on Windows 2003 Server and Windows 7

在Windows 2003 Server和Windows 7上,当导出COM +应用程序客户端代理时,代理的DLL不包含在创建的MSI文件中。 将安装MSI,但是由于不包含DLL,因此无法实例化远程应用程序。

从Windows 2000服务器导出的同一COM +应用程序包括DLL,但是安装程序不会在Windows 7计算机上运行。

为什么从WINDOWS 2003 Server或更高版本上导出的COM +应用程序丢失了DLL?
您不能再将COM + DLL安装到服务器上的System32文件夹中。 在Windows 2003 Server及更高版本(包括Windows 7)中,在导出COM +程序包时,将不会导出Windows \\ System32中注册的所有DLL(或其下的文件夹)。 根据Microsoft支持,这是设计使然。 (此信息尚未由Microsoft公开发布,因此我们不得不与他们打开一张票证才能发现问题。)

症状是在以下情况下,导出的MSI文件不包含COM + DLL:
1. COM + DLL已在System32中注册,并且
2. COM +软件包在Windows 2003或更高版本上导出。
将创建并安装MSI,但是由于从未安装过DLL,因此应用程序将无法实例化对象。 使用Wise Installation Editor之类的安装编辑器打开MSI将显示DLL不包含在MSI中。

答案是在Windows \\ System32以外的文件夹中注册COM +应用程序DLL。

为什么不从WINDOWS 2000 Server导出的COM +应用程序安装在WINDOWS 7上?
有两种版本的COM +:v1.0和v1.5。 不同的操作系统导出并安装这些版本的各种组合:

导出客户端代理
-Server 2000导出1.0格式
-Windows 2003可以导出1.0或1.5
-Windows 2008/7只能导出1.5
安装客户端代理
-Windows XP可以安装1.0或1.5格式的代理
-Windows 7只能安装1.5格式的代理

必须在Windows 2003或更高版本上以COM + 1.5格式导出COM +应用程序,才能在Windows XP和Windows 7客户端上安装。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM