无人值守安装AutoIt 3.3.6.1:需要32位版本,但只能获得64位版本

时间:2013-06-26 23:33:59

标签: ruby windows 32bit-64bit nsis autoit

我想对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位版本的方法?

2 个答案:

答案 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库。