Приложение Python / Qt / SQLite3 не запускается при установке с помощью Inno Setup

У меня есть программа на Qt. Поэтому я создал релиз с windeployqt.exe . --quick Он имеет базу данных SQLite3, некоторые модули, которые я скомпилировал в Python, папку справки с руководством пользователя … это выглядит так:

Папка вид
Теперь, если я бегу pymepos.exe прямо отсюда все отлично работает. БД чистая, и модули Python вызываются и выполняются успешно.
Если я создаю установщик с Inno Setup для этих файлов, то после установки моей собственной программы я заметил, что у меня есть некоторые старые вещи, которые раньше были в базе данных. Также он не запускает мои модули Python вообще. Я иду сюда вслепую, так как не могу знать, что происходит (у меня нет ни одного файла журнала или чего-либо еще), если я проверяю свои модули отдельно, кажется, что они работают нормально, но основная программа Qt не может их запустить ,

Поэтому в этот момент я переустановил Inno Setup (думая, что где-то там может быть кеш), переместил мои файлы релизов в другое место, прочитал файлы в .iss. Компилировать и ничего, одно и то же.

Кроме того, я заметил, что запуск установленного pymepos.exe как администратор он будет использовать чистую базу данных, которую он должен использовать, но все же модули не работают.
Есть идеи?

Вот мой файл .iss:

; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!

[Setup]
; NOTE: The value of AppId uniquely identifies this application.
; Do not use the same AppId value in installers for other applications.
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
AppId={{0BA2A484-5F5E-49F5-94AC-5C7410C70B30}
AppName=PYMEPOS
AppVersion=1.0.5
;AppVerName=PYMEPOS 1.0.5
AppPublisher=Cubix Softworks
DefaultDirName={pf}\Cubix506/PYMEPOS
DisableProgramGroupPage=yes
OutputDir=F:\installer_leon
SetupIconFile=D:\Proyectos\QT\PymePOS\project\res\icon.ico
Compression=lzma
SolidCompression=yes

[Languages]
Name: "spanish"; MessagesFile: "compiler:Languages\Spanish.isl"
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked

[Files]
Source: "F:\release_leon\pymepos.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "F:\release_leon\D3Dcompiler_47.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "F:\release_leon\libEGL.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "F:\release_leon\libgcc_s_dw2-1.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "F:\release_leon\libGLESV2.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "F:\release_leon\libstdc++-6.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "F:\release_leon\libwinpthread-1.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "F:\release_leon\opengl32sw.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "F:\release_leon\Qt5Core.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "F:\release_leon\Qt5Gui.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "F:\release_leon\Qt5Network.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "F:\release_leon\Qt5Qml.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "F:\release_leon\Qt5Quick.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "F:\release_leon\Qt5Sql.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "F:\release_leon\Qt5Svg.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "F:\release_leon\Qt5Widgets.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "F:\release_leon\Qt5Xml.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "F:\release_leon\db\*"; DestDir: "{app}\db"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "F:\release_leon\help\*"; DestDir: "{app}\help"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "F:\release_leon\iconengines\*"; DestDir: "{app}\iconengines"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "F:\release_leon\imageformats\*"; DestDir: "{app}\imageformats"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "F:\release_leon\modules\*"; DestDir: "{app}\modules"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "F:\release_leon\platforms\*"; DestDir: "{app}\platforms"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "F:\release_leon\qmltooling\*"; DestDir: "{app}\qmltooling"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "F:\release_leon\sqldrivers\*"; DestDir: "{app}\sqldrivers"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "F:\release_leon\translations\*"; DestDir: "{app}\translations"; Flags: ignoreversion recursesubdirs createallsubdirs
; NOTE: Don't use "Flags: ignoreversion" on any shared system files

[Icons]
Name: "{commonprograms}\PYMEPOS"; Filename: "{app}\pymepos.exe"Name: "{commondesktop}\PYMEPOS"; Filename: "{app}\pymepos.exe"; Tasks: desktopicon

[Run]
Filename: "{app}\pymepos.exe"; Description: "{cm:LaunchProgram,PYMEPOS}"; Flags: nowait postinstall skipifsilent

0

Решение

Это довольно расплывчатый вопрос. Но чтобы дать вам несколько возможностей:

  • Ваше приложение не предназначено для запуска по пути с пробелом в имени файла (Program Files)
  • Вашему приложению необходим доступ на запись в его установочную папку. Чего у него нет, при запуске из Program Files, Тот факт, что у вас меньше проблем, при запуске приложения в качестве администратора предполагает, что это одна из проблем.

Для теста попробуйте установить приложение, чтобы сказать C:\PYMEPOS,


Ntb, Inno Setup не кеширует никакие файлы. Переустановка Inno Setup ничего не исправит. Я не думаю, что ваша проблема на самом деле связана с настройкой Inno.


Смотрите также Приложение не работает при установке с Inno Setup.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]