作为 ActiveX 部件,在能够被任何 Windows 程序(包括Visual Basic 程序)识别或者使用之前,外接程序必须被正确地注册到系统注册表中。在外接程序的编译过程中 Visual Basic 自动将其注册到系统中,但是,任何企图在其它系统中使用该外接程序的用户必须在使用之前将其注册到所在的系统。
这意味着,如果外接程序是进程内部件(.dll 文件),那么设计者(或者客户)必须使用诸如 Regsvr32.exe 这样的实用程序将其注册到他们的系统。为了让客户用起来更加方便,通常在外接程序的安装程序中完成此项工作。
如果外接程序是进程外部件(.exe 文件),则运行这个 .exe 文件即可完成注册。如果希望不经运行便注册该外接程序,可以在该 .exe 文件的命令行上添加 /regserver 参数。例如,在创建安装时:
MyAddIn /regserver
外接程序引用被写入系统注册表之后,注册名称就是程序 ID,由外接程序工程的名称(与“工程属性”对话框“通用”选项卡上显示的“工程名称”框中的名称一致)和包含了连接和断开外接程序事件处理代码的类模块的名称构成。
例如:如果创建的外接程序使用 Visual Basic 的默认名称 Project1 作为工程名,Class1 作为类模块名,那么该外接程序的注册名称就将是 Project1.Class1。