InnoSetup 不创建程序文件夹
InnoSetup not creating program folders
我正在使用 Innosetup 制作我的应用程序的安装程序。
在使用 Innosetup 之前由 windeployqt MinGW 创建的应用程序文件夹:
Image 1
安装我的程序后(使用 Innosetup 安装程序):
Image 2
应用程序安装程序只是将文件夹中的所有文件放到主安装文件夹中。
这使得应用程序无法运行,因为它无法在不存在的目录中找到所需的文件...
Innosetup 文件的 "Files" 部分:
[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
您可能想仔细阅读 said relevant documentation
我正在使用 Innosetup 制作我的应用程序的安装程序。 在使用 Innosetup 之前由 windeployqt MinGW 创建的应用程序文件夹: Image 1
安装我的程序后(使用 Innosetup 安装程序): Image 2
应用程序安装程序只是将文件夹中的所有文件放到主安装文件夹中。 这使得应用程序无法运行,因为它无法在不存在的目录中找到所需的文件...
Innosetup 文件的"Files" 部分:
[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
您可能想仔细阅读 said relevant documentation