如果宿主應(yīng)用程序需要,您可以使用 Regsvr32.exe 之類的程序?qū)?Windows® 腳本部件注冊為 COM 部件。注冊操作將把有關(guān) COM 部件的信息放在一個(gè)公共位置(在 Windows 中,注冊信息存儲在 Windows 注冊表中)。通過讀取注冊信息,應(yīng)用程序可以找到并載入該 COM 部件。
注意 并不是在每種情況下都需要進(jìn)行注冊。例如,如果腳本部件實(shí)現(xiàn)的是 Internet Explorer 5.0 中的 DHTML Behavior 接口處理程序,則該腳本部件就不需要注冊,因?yàn)?Internet Explorer 將按照在頁面上所檢測到的操作進(jìn)行注冊。關(guān)于使用 Behavior 的詳細(xì)信息,請參閱 Microsoft Site Builder Network (SBN) Web 站點(diǎn)上的關(guān)于使用 DHTML Behavior 主題。如果宿主應(yīng)用程序支持名字(monikers),那么不必進(jìn)行注冊就可以創(chuàng)建一個(gè)腳本部件的實(shí)例。
在指定注冊時(shí),最重要的信息有:
Set Component = CreateObject("Component.MyComponent")
注意 如果使用腳本部件向?qū)?chuàng)建了一個(gè)腳本部件,該向?qū)⒆詣觿?chuàng)建一個(gè)程序 ID 和類 ID。詳細(xì)信息請參閱使用腳本部件向?qū)?/A>。
注冊信息還包括一個(gè)描述和版本號。
在注冊腳本部件時(shí),注冊程序可以為其創(chuàng)建一個(gè)類 ID。不過,該程序強(qiáng)烈建議您自己為該腳本部件提供一個(gè)類 ID,以確保該腳本部件在其注冊的所有計(jì)算機(jī)上具有相同的類 ID。如果與存儲類 ID 的開發(fā)工具一起使用該腳本部件,則讓注冊程序來創(chuàng)建類 ID 還有可能導(dǎo)致問題。如果注冊過程每次創(chuàng)建一個(gè)新的類 ID,則與應(yīng)用程序所存儲的 ID 會不匹配。
要為腳本部件創(chuàng)建注冊信息
<registration
description="My Test Component"
progid="Component.TestScript"
version="1"
classid="{2154c700-9253-11d1-a3ac-0aa0044eb5f}"/>
注意 <registration> 元素中的注冊屬性的順序可以任意。
腳本部件的 <registration> 元素還允許您包括在注冊和取消注冊時(shí)將執(zhí)行的腳本。例如,您可以在腳本部件完成注冊后發(fā)布一個(gè)消息。
要在注冊和取消注冊期間運(yùn)行腳本
下述示例演示了在注冊腳本部件或取消其注冊時(shí)如何發(fā)布消息。
注意 CDATA 項(xiàng)是必需的,以使 <script> 元素中的腳本成為不透明的。詳細(xì)信息請參閱 腳本部件文件和 XML 一致性。
<registration
description="My Test Component"
progid="Component.TestScript"
version="1"
classid="{2154c700-9253-11d1-a3ac-0aa0044eb5f}">
<script language="VBScript">
<![CDATA[
Function register()
MsgBox "Component 'My Test Component' registered."
End Function
Function unregister()
MsgBox "Component 'My Test Component' unregistered."
End Function
]]>
</script>
</registration>
如果將腳本部件部署在一個(gè)分布式環(huán)境中,則可以指定允許遠(yuǎn)程實(shí)例化該腳本部件。例如,您可能創(chuàng)建了一個(gè)在服務(wù)器上運(yùn)行,但需要從客戶端的代碼來調(diào)用的腳本部件。如果客戶端和服務(wù)器端的機(jī)器都正確配置了 DCOM,則這種方式是可行的,因?yàn)?DCOM 提供了將對象指針從服務(wù)器傳給客戶端的機(jī)制。
為遠(yuǎn)程訪問注冊腳本部件
<registration
description="My Test Component"
progid="Component.TestScript"
version="1"
classid="{2154c700-9253-11d1-a3ac-0aa0044eb5f}"
remotable=true/>
關(guān)于遠(yuǎn)程創(chuàng)建腳本部件的實(shí)例的詳細(xì)信息,請參閱在應(yīng)用程序中使用腳本部件。
腳本部件文件的內(nèi)容 | 使用腳本部件文件向?qū)?/A> | 創(chuàng)建腳本部件類型庫 | 檢查腳本部件文件中的錯(cuò)誤 | 腳本部件文件和 XML 一致性