No Programming, No Life

プログラミング関連の話題や雑記

Scriptomがうまく動かない

Scriptomを使おうかなと思ったんだけど、エラーが出てしまってどうもうまく動かない…。
ちなみに、うちのPCにはGroovy 1.5.7 Windows-Installer版を使ってインストールしてあるので*1、Scriptomは最初から入ってるはずなんだが…。
以下の%GROOVY_HOME%\supplementary\Scriptom\examples.zipに入ってたIE.groovy*2を実行してみたんだが、だめでした。

import org.codehaus.groovy.scriptom.*;

Scriptom.inApartment
{
  def ie = new ActiveXObject('InternetExplorer.Application')

  ie.Visible = true
  ie.AddressBar = true

  ie.Navigate("http://glaforge.free.fr/weblog")
}
結果


>groovy IE.groovy
Caught: java.lang.UnsatisfiedLinkError: D:\tool\Groovy\Groovy-1.5.7\bin\scriptom-1.5.4b11-x86.dll: このアプリケーションの構成が正しくないため、アプリケーションを開始できませんでした。アプリケーションを再度インストールすることにより問題が解決する場合があります。
at IE.run(IE.groovy:3)
at IE.main(IE.groovy)

dllの問題?msvcr80.dllあたりが悪さしているんだろうか…。何か進展があったら追記します。

2009-01-12追記

Scriptomのパッケージをここからダウンロードしてきて、zipを展開した中にあったドキュメント*3によると…*4

3. To avoid the dreaded java.lang.UnsatisfiedLinkError, download and install one of the following
updates from Microsoft: Microsoft Visual C++ 2005 SP1 Redistributable Package (x86)or Microsoft
Visual C++ 2005 SP1 Redistributable Package (x64).

ってことだったんで、
Download: Visual C++ 2005 SP1 Redistributable Package (x86) - Microsoft Download Center - Download Details
から再配布パッケージをダウンロードしてインストールしたら動きました。まったくマイクロソフトやれやれですね。これでやっとgroovyでCOMのスクリプトが書ける。

*1:インストール先:%GROOVY_HOME%=D:\tool\Groovy\Groovy-1.5.7

*2:ie.Navigate "http://glaforge.free.fr/weblog"だと動かなかったので括弧を追加しています

*3:scriptom-20071218.pdfのInstallationの項

*4:[http://groovy.codehaus.org/COM+Scripting:title=ここ]にも載ってた