Windows 脚本部件  

<registration> 元素

定义用来将脚本部件注册为 COM 部件的信息。

<registration progid="progID" classid="GUID" description="description"
   version="version" [remotable=remoteFlag]/>

–或者–

<registration progid="progID" classid="GUID" description="description"
      version="version" [remotable=remoteFlag]>
   <script>
      (注册脚本或取消注册的脚本)
   </script>
</registration>

progID
(可选项) 程序员在创建脚本部件的实例时,用来引用脚本部件的文本名称。例如,如果脚本部件的程序 ID 为 Component.MyComponent,则可以使用类似下面的语句在 Microsoft® Visual Basic 中创建该脚本部件的一个实例:

Set Component = CreateObject("Component.MyComponent")

注意   尽管 progid 属性是可选的,但必须包括 progid 和 classid 属性两者之一(可以两个都包括)。如果只指定 progid 属性,将自动生成类 ID。如果只创建了类 ID,则不会注册 progid,且只能通过直接引用类 ID 来创建该对象。
GUID
(可选项) 使用类 ID 生成程序(如 Uuidgen.exe)生成的 GUID。如果没有包括类 ID,注册程序将给脚本部件指派一个类 ID。
description
(可选项) 脚本部件的文本描述,将存储在注册表中,有些工具(如 Visual Basic 对象浏览器)将使用这个信息。
version
(可选项) 指定的数字版本号码。在应用程序请求具体的版本名称时,将用一个句点把这个版本信息附加到程序 ID 后(例如, MyComponent.1)。只能使用数字(不允许十进制小数点)。
注意   <registration> 元素中的注册信息顺序可以任意。
remoteFlag
(可选项) 一个 Boolean 值,指明是否可以使用 DCOM 远程实例化脚本部件。详细信息请参阅“在应用程序中使用脚本部件”主题中的创建脚本部件的远程实例

说明

在创建脚本部件之后,即可以使用 Regsvr32.exe 之类的程序来注册该脚本部件。这些程序读取 <registration> 元素中的信息,并将其写入计算机的 Windows 注册表。例如,可以用这种方式来注册一个脚本部件:

regsvr32 file:\\myserver\MyComponent.wsc
注意   并不是所有情况都必须要 <registration> 元素。例如,如果脚本部件实现的是 Microsoft® Internet Explorer 5.0 中的 DHTML Behavior 接口处理程序,则不需要注册,因为 Internet Explorer 将记录在页面上检测到的操作。关于注册要求的详细信息,请参阅所实现的接口处理程序的文档,并且还要注意在哪种主机上使用该脚本部件。

如果没有包括类 ID 信息,注册程序将在注册脚本部件时为其指定一个类 ID。不过,这样在每个注册地该脚本部件将获得一个不同的类 ID。建议您自己为脚本部件提供一个类 ID,确保在所有注册该脚本部件的计算机上具有相同的类 ID。

如果与该脚本部件一起使用的开发工具要存储类 ID,则让注册程序创建类 ID 会产生问题。如果注册过程每次创建一个新的类 ID,就会与该应用程序所存储的 ID 不一致。

当注册脚本部件或取消注册时可以运行脚本。要做到这一点,只需在 <registration> 元素内包括一个 <script> 元素。要在注册起见运行脚本,就编写一个 register( ) 函数。要在注消脚本部件后运行脚本,就包括一个 unregister( ) 函数。

示例

下面演示了一个典型的 <registration> 元素,其中同时包括了程序 ID 和类 ID。

<registration
   progid="Component.TestScript"
   classid="{2154c700-9253-11d1-a3ac-0aa0044eb5f}"
   description="My Test Component"
   version="1"/>

下面的 registration 元素允许通过 DCOM 来实例化该脚本部件:

<registration>
   progid="Component.TestScript"
   classid="{2154c700-9253-11d1-a3ac-0aa0044eb5f}"
   version="1"
   description="My Test Component"
   remotable=true/>

下面的示例演示了一个包括脚本的 <registration> 元素,在注册该脚本部件或取消注册时将执行这些脚本。

注意   CDATA 项是必需的,以使 <script> 元素中的脚本成为不透明的。详细信息请参阅脚本部件文件和 XML 一致性
<registration
   progid="Component.TestScript"
   classid="{2154c700-9253-11d1-a3ac-0aa0044eb5f}">
   version="1"
   description="My Test Component">

   <script language="VBScript">
      Function register()
         MsgBox "Component 'My Test Component' registered."
      End Function
      Function unregister()
         MsgBox "Component 'My Test Component' unregistered."
      End Function
   </script>
   ]]>
</registration>

请参阅

创建注册信息 | 注册脚本部件