Windows スクリプト コンポーネントを x64 開発マシンで動作させようとしています。x32 ビットで正常に動作します。しかし、実行できないようです。JScript と VBScript の両方で同じ問題があります。
これは可能な限り最も単純な wsc コンポーネントです。メッセージボックスに「こんにちは」と表示されます。以下のスニピットを test_lib.wsc という名前のファイルに保存すると、右クリックして登録できるようになります。COM コンポーネントとして利用できるようになりました。
<?xml version="1.0"?>
<component>
<?component error="true" debug="true"?>
<registration
description="Test Script Library"
progid="TestScript.Lib"
version="1.00"
classid="{314042ea-1c42-4865-956f-08d56d1f00a8}"
>
</registration>
<public>
<method name="Hello">
</method>
</public>
<script language="VBScript">
<![CDATA[
Option Explicit
Function Hello()
MsgBox("Hello.")
End Function
]]>
</script>
</component>
次に、次のサンプル VB スクリプトを作成し、test.vbs という名前のファイルに保存します。
dim o
set o = createobject("TestScript.Lib")
o.hello()
cscript または wscript で test.vbs を実行すると、常に次のようになります。「C:\test.vbs(3, 1) Microsoft VBScript ランタイム エラー: ActiveX コンポーネントはオブジェクトを作成できません: 'TestScript.Lib'」
これは、32 ビット XP では問題なく動作します。誰が何が間違っている可能性があるかについて何か考えを持っていますか?
たくさんのノエルに感謝します。