1
我正在尝试将ocra的ruby + qtruby + sqlite3应用程序打包到Windows安装程序中。使用ocra和sqlite生成INNOSetup安装程序时出错
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库,并在目标机器我不能执行它。
我认为这个错误与sqlite的连接没有关闭有关,但也许我错过了其他的东西。
谢谢
你可以发布你用来运行ocra的命令吗? – 2013-04-10 07:55:12
是的,你说得对,对不起。我编辑了帖子 – Antonio 2013-04-10 08:20:01
您是否尝试过ProcessMonitor(或类似的程序)来找出它抱怨的文件?如果您从ocra命令行中省略src/db/development.db,它会起作用吗? – 2013-04-10 10:12:13