当COM+的组件已经撰写完成后,接着就是要如何将撰写好的组件注册的主机的【组件服务】上

以往小喵用VB6撰写组件,要注册组件时,只需要在组件服务中建立空的Package,然后将写好的组件托拉进去即可,要修改时,只要组件的机码兼容,也只需要将Package停止后,将组件覆盖即可。请参考组件撰写、注册过程录像文件

但是进入.NET开发组件,小喵发现无法使用原来的方式处理,必须透过【.NET Framework 2.0】的【SDK命令提示字符】,使用这样的Command窗口透过下指令的方式来注册,注册后组件会依照原件撰写时所指定的Package存放,而如果该Package不存在,也会自动产生

首先Server除了要安装.NET Framework 2.0以外,还得安装SDK才能使用,相关链结如下:

注册与反注册过程如下

手先准备好两个批处理文件,分别用来注册与反注册组件

  • 注册组件(RegNetCom.bat):
     REGSVCS %1.dll
    GACUTIL /i %1.dll
  • 反注册组件(UnRegNetCom.bat):
     GACUTIL /u %1
    REGSVCS /u %1.dll
  • 有人反应原有方式GAC无法移除,所以小喵稍微改写了一下,这样注册移除就可以都正常了。【New

安装完.NET Framework SDK后,会有【SDK命令提示字符】,首先将您要注册的组件,复制到适当的目录中,小喵通常是将相关的dll复制到【D:\Application\(项目名称)\】中,其中项目名称依不同需求会订定不同的名称,例如:D:\Application\PDMO

接着将以上两个批处理文件(RegNetCom.bat、UnRegNetCom.bat)也复制到该文件夹中

然后开启【SDK命令提示字符】,假设组件产生后的dll名称为PDMOMenu.dll那么下以下指令:

  • 注册时:
    RegNetCom PDMOMenu
  • 反注册(移除)时:
    UnRegNetCom PDMOMenu

反注册时必须注意:组件是否有被呼叫起来→如果有→先停止Package

当组件注册完后,如果是该Package的第一个组件,还需针对组件设定【用户识别】让呼叫组件时可切换指定的账号权限执行,方式如下:

  • 在Package上右键单击→内容
  • 标识符→使用下列使用者
  • 浏览→选取适当用户→输入该账号密码
  • 确认

这样就能够依据需求,在呼叫该Package中的组件时,切换身分为指定的使用者,透过该用户的权限来执行组件了

posted on 2008-06-12 09:56  topcat  阅读(306)  评论(0)    收藏  举报