我想对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
似乎AutoIt的安装程序默认安装64位版本,因为我使用的是64位版本的Windows 7.但除非我安装AutoIt的32位版本,否则无法使用AutoIt与Ruby一起工作(我相信这是因为Ruby for Windows仍然是32位)。
是否有人知道在无人参与安装中强制使用32位版本的方法?
答案 0 :(得分:0)
只需使用ZIP版本的AutoIt即可。然后,您只需使用AutoIt.exe
代替AutoIt_x64.exe
。
如果需要,可以使用7za.exe
之类的{{1}}解压缩实用程序打包它。
答案 1 :(得分:0)
事实证明,AutoIt安装程序 安装必要的32位DLL以及64位库,但显然它没有正确注册。
通过cd
- 访问安装根目录的AutoItX
子目录并运行此命令:
regsvr32 AutoItX3.dll
...我能够使用Ruby的WIN32OLE库。