Ошибка генерации установщика INNOSetup с помощью ocra и sqlite

Я пытаюсь упаковать приложение ruby ​​+ qtruby + sqlite3 с ocra в установщик Windows.

Все идет хорошо, пока я не добавлю код, который подключается к базе данных.

Вот фрагмент:

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, установщик будет создан правильно, и я смогу правильно использовать его на тестовой машине. Если переместить блок exit if... перед подключением к sqlite, то в полученном исполняемом файле / установщике отсутствуют библиотеки sqlite, и на целевой машине я не могу выполнить его.

Я думаю, что ошибка связана с тем, что соединение с sqlite не закрывается, но, возможно, я что-то упускаю.

Спасибо

1 ответ

Я знаю, что это старый, но у меня была такая же ошибка. Как только я отключил антивирус, у меня все заработало. Мой установочный файл был создан и функционировал как надо.

Другие вопросы по тегам