1

AutoItの自動/無人インストールを実行してから、Ruby スクリプトから AutoItX を駆動できるようにしたいと考えています。

完了したら、この初歩的なコードを実行して成功させることができるはずです。

require 'win32ole'
WIN32OLE.new('AutoItX3.Control')

Nullsoft (NSIS) インストーラーのように見えるので、/Sフラグを使用してサイレント インストールを強制できます。しかし、インストールして上記のコードを試すと、次のエラーが発生します。

WIN32OLERuntimeError: failed to create WIN32OLE object from `AutoItX3.Control'
    HRESULT error code:0x80040154
      Class not registered

私は64ビットバージョンのWindows 7を使用しているため、AutoItのインストーラーはデフォルトで64ビットバージョンをインストールするように見えます.しかし、AutoItの32ビットバージョンをインストールしない限り、AutoItをRubyで動作させることはできません(私は信じていますこれは、Ruby for Windows がまだ 32 ビットであるためです)。

無人インストールで 32 ビット バージョンを強制する方法を知っている人はいますか?

4

2 に答える 2

0

AutoIt インストーラー必要な 32 ビット DLL を 64 ビット ライブラリと共にインストールしますが、適切に登録していないようです。

インストール ルートcdのサブディレクトリに移動し、次のコマンドを実行します。AutoItX

regsvr32 AutoItX3.dll

...RubyのWIN32OLEライブラリで動作させることができました。

于 2013-06-27T19:02:58.967 に答える
0

AutoIt のZIPバージョンを使用するだけです。AutoIt.exeその後、 の代わりに を使用できますAutoIt_x64.exe

必要に応じて、ここで7za.exe説明したような unzip ユーティリティを使用して圧縮できます。

于 2013-06-27T11:11:07.587 に答える