使用秋葵和sqlite生成INNO安装程序安装程序时出错

时间:2013-04-10 07:47:30

标签: ruby sqlite inno-setup ocra

我正在尝试将带有ocra的ruby + qtruby + sqlite3应用程序打包到Windows安装程序中。

Everithing很顺利,直到我添加连接到数据库的代码。

以下是摘录:

require 'Qt4'
require 'rubygems'
require 'active_record'

dbconfig = YAML::load(File.open('src/config/database.yml'))['development']
ActiveRecord::Base.establish_connection(
:adapter => dbconfig['adapter'],
:database => dbconfig['database']
)

class Category < ActiveRecord::Base
end

Category.find(:all)

exit if Object.const_defined?(:Ocra)
...

此代码运行,ocra能够创建单个可执行文件,但如果我尝试创建安装文件,则会出现错误:

=== Running InnoSetup compiler ISCC                                                                                       
Error in D:\Workspaces\Ruby\TestGui\ocratemp.iss: Impossibile accedere al file. Il file Þ utilizzato da un altro processo.
Compile aborted.                                                                                                          
ERROR: InnoSetup installer creation failed: ISCC failed to run. Is the InnoSetup directory in your PATH?                  
rake aborted!                                                                                                             

错误是意大利语,抱歉,但它转换为“无法访问该文件。该文件目前由其他进程使用

这是用于生成安装程序的命令:

ocra --chdir-first --no-lzma --no-autoload --innosetup testGui.iss gui.rb src/db/development.db src/config/database.yml 

如果我注释掉连接到sqlite的代码块,安装程序就会正确创建,我可以在测试机器上正确使用。 如果我在连接到sqlite之前移动退出if 块,则生成的可执行文件/安装程序缺少sqlite库,而在目标机器中我无法执行它。

我认为该错误与sqlite未被关闭的连接有关,但也许我错过了其他内容。

由于

1 个答案:

答案 0 :(得分:0)

我知道这是旧的,但我只是遇到了同样的错误。一旦我关闭了反病毒软件,我运行的一切都运行得很好。我的安装文件已创建并正常运行。