请问如何安装COM+组件和注册TLB文件?(300分)

  • 主题发起人 主题发起人 slyr
  • 开始时间 开始时间
S

slyr

Unregistered / Unconfirmed
GUEST, unregistred user!
我的DLL在开发时使用了W2K的组件服务创建了组件,现在发布时遇到
了问题,请高手指教:
1、不使用手动去创建组件,也不用导出组件再去安装,而是在安装
程序中直接注册好组件,能否将*.dll在安装程序时用Regsvr32注册,然
后写一些注册表信息使组件注册到组件服务中?请问具体如何做?
2、安装客户端时,只需注册*.TLB文件,用Delphi自带的Tregsvr可
以做到这一点,但如何在安装程序中做?请指教。
在以前的帖子中没查到解决问题的方案,只能再请大家帮忙了,在此
先感谢了。
如果有那一个安装软件能同时解决此问题,请推荐并给出下载地址。
 
可以运行TRegsrv - t *.dll/tlb
当然了,如果你使用installshield的话,可以
1. 在其IDE中点击DLL/TLB文件,选择属性,并先中"自动注册为COM SERVER";
2. 或者把这些注册的指令写为一个DLL文件,在installshield里调用;
 
to netfool:
谢谢关注此问题!
我对安装确实不怎么在行,你说的“或者把这些注册的指令写为一个DLL文件,在
installshield里调用;”具体怎么实现,能否给个例子?
我的email: slyr@163.com
 
OLECheck('c:/a.tlb',servertlb);
好像程序里可以这么写!
我倒是觉得注册还是 在 winexec('com',SW_NORMAL);
安装com+这里比较好
 
请大家讨论一下,是不是太简单了,怎么没人回答
呢?
进来的朋友请帮忙提前一下。
 
代码都有拉还不详细?:)
 
to 人在昆明
谢谢你的回答!
TLB文件的注册已解决,D6的DEMO里有一个,改了一下基本
没什么问题,可以通过我的安装程序进行注册了。
但服务器的COM+组件注册还没有彻底解决,正在研究DEMO里
的代码,因为我的安装程序是自己写的,所以必须由自己的代码
实现。
“ 我倒是觉得注册还是 在 winexec('com',SW_NORMAL)”
我看了具体的帮助说明,仍然不知怎么做,例如我的COM+服务器
名称为Application DataServer,组件是两个.DLL文件,究竟怎么
注册到2K或XP系统呢?还望指教!
如果我有了答案,会尽快告知你的。
 

regsvr32 com1.dll -install
 
win2k 的组件服务,呵呵,我说的  winexec('com',SW_NORMAL)  只是打开组件服务
然后你就可以装组件服务拉!
 
每一个Com组件中必然包含DllRegisterServer函数,调用就可以注册,实际上,Windows的
Regsrv32和Delphi的TRegSev都是这么做的,所以你可以在自己的安装程序中这么作.
 
to bluebridge:
是包含了DllRegisterServer 和 DllunRegisterServer,我调用
一下看。
其实我一直想搞清楚的是,如何将自己的 COM+ 组件直接
注册到 W2k 或 WXP 的组件池中去。就是通过自己编写的代码,在
组件池“COM+ 应用程序”下创建自己命名的COM+服务器,象Windows
系统的System Application 那样。结构如图:
控制台根目录
-组件服务
-我的电脑
-COM+ 应用程序
-System Application
.
.
My COM + Name
然后在My COM+ Name(我的组件服务器名称)下面的“组件”中
安装注册自己的组件。
请大家继续讨论,目前问题仍未彻底解决,此问题解决后
我将把实现的代码贴出与大家共享。
 
我觉得,如果你是用了 前绑定,那么只要处理 tlb 的客户端注册就可以拉,
服务器段恐怕还是要手工安装com+组件!
 
to 人在昆明:
看来确实不好办,搞了好几天了,还是没结果。谢谢你的参与,再试试
吧。
希望大虾们再讨论讨论。等着散分也挺急人的。
 
客户端分发tlb 还是必要的,毕竟前绑定 可以获得 比较高的效率!
 
几天没来了,问题依旧,无奈...
客户端TLB文件注册已经解决,分发不成问题,就是
Server 端的 COM+ 解决不了。
请高手们继续参与解决。谢谢!
 
to slyr 说一下你的解决办法,发到我的油箱41410902@sina.com谢谢!
 
to wy41410902: 我将D6带的DEMO中的Tregsvr例程改了一下
就可以了,你自己看一下吧。
问题解决不了,看来还是要使用原始方法。
 
后退
顶部