Qt InnoSetup不创建程序文件夹

Qt InnoSetup不创建程序文件夹,qt,inno-setup,Qt,Inno Setup,我正在使用Innosetup制作我的应用程序的安装程序。 在使用Innosetup之前,windeployqt MinGW创建了应用程序文件夹: 安装我的程序(使用Innosetup安装程序)后: 应用程序安装程序只是将文件夹中的所有文件放入主安装文件夹。 这使应用程序无法工作,因为它无法在不存在的目录中找到所需的文件 Innosetup文件的“文件”部分: [Files] Source: "D:\qtprojects\compile\pracownia.exe"; DestDir: "{a

我正在使用Innosetup制作我的应用程序的安装程序。 在使用Innosetup之前,windeployqt MinGW创建了应用程序文件夹:

安装我的程序(使用Innosetup安装程序)后:

应用程序安装程序只是将文件夹中的所有文件放入主安装文件夹。 这使应用程序无法工作,因为它无法在不存在的目录中找到所需的文件

Innosetup文件的“文件”部分:

[Files]
Source: "D:\qtprojects\compile\pracownia.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "D:\qtprojects\compile\iconengines\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "D:\qtprojects\compile\imageformats\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "D:\qtprojects\compile\platforms\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "D:\qtprojects\compile\translations\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "D:\qtprojects\compile\background.png"; DestDir: "{app}"; Flags: ignoreversion
Source: "D:\qtprojects\compile\D3Dcompiler_47.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "D:\qtprojects\compile\icon.ico"; DestDir: "{app}"; Flags: ignoreversion
Source: "D:\qtprojects\compile\icon.png"; DestDir: "{app}"; Flags: ignoreversion
Source: "D:\qtprojects\compile\libEGL.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "D:\qtprojects\compile\libgcc_s_dw2-1.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "D:\qtprojects\compile\libGLESV2.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "D:\qtprojects\compile\libstdc++-6.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "D:\qtprojects\compile\libwinpthread-1.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "D:\qtprojects\compile\login-box.png"; DestDir: "{app}"; Flags: ignoreversion
Source: "D:\qtprojects\compile\menu.png"; DestDir: "{app}"; Flags: ignoreversion
Source: "D:\qtprojects\compile\opengl32sw.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "D:\qtprojects\compile\Qt5Core.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "D:\qtprojects\compile\Qt5Gui.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "D:\qtprojects\compile\Qt5Svg.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "D:\qtprojects\compile\Qt5Widgets.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "D:\qtprojects\compile\shadow.png"; DestDir: "{app}"; Flags: ignoreversion
Source: "D:\qtprojects\compile\WinSCP.exe"; DestDir: "{app}"; Flags: ignoreversion
; NOTE: Don't use "Flags: ignoreversion" on any shared system files

我是否必须向该文件添加其他内容才能创建文件夹并将适当的文件粘贴到其中?

根据InnoSetup文档,子文件夹中所需文件的
DestDir
参数实际上应该包括所需子文件夹的名称

所以,可能是这样的

Source: "D:\qtprojects\compile\iconengines\*"; DestDir: "{app}\iconengines"; Flags: ignoreversion recursesubdirs createallsubdirs

您可能需要仔细阅读

根据InnoSetup文档,子文件夹中所需文件的
DestDir
参数实际上应该包括所需子文件夹的名称

所以,可能是这样的

Source: "D:\qtprojects\compile\iconengines\*"; DestDir: "{app}\iconengines"; Flags: ignoreversion recursesubdirs createallsubdirs

您可能需要仔细阅读

请注意,没有指定某个“根”源文件夹。那么,您希望Inno Setup compiler如何神奇地检测到您想要维护目录结构呢?请注意,没有指定某个“根”源文件夹。那么,您希望Inno安装编译器如何神奇地检测到您想要维护目录结构呢?