I am trying to create a Windows installer using INNO but keep getting an error to do with GKzip which is not mentioned in the wizard generated script. I have tried looking at Paul Paul Lefebvre’s Youtube video, which probably needs updating now as it is some years old but can find no clues. Once I get the thing working OK I can build it into the build process as Paul suggests. Does anyone have a working script that I could plug my program and its resource folder in to ?
Start by posting the full error message.
It may be a 32/64 bit build thing, or a ‘version of windows’ thing.
I know I have seen error messages about GKZip in the switch over of these.
For Inno, the key lines to ensure you get the right DLLs would look like these: (you might not use the same flags)
[Files]
Source: "C:\buildfolder\myapp_64bit\*"; DestDir: "{app}"; Flags: ignoreversion signonce
Source: "C:\buildfolder\myapp_64bit\MyApp Resources\*"; DestDir: "{app}\MyApp Resources" ; Excludes: ".*.*, *.mo" ;Flags: ignoreversion recursesubdirs createallsubdirs ; Attribs: hidden;
Source: "C:\buildfolder\myapp_64bit\MyApp Libs\*"; DestDir: "{app}\MyApp Libs"; Flags: ignoreversion recursesubdirs createallsubdirs signonce;Attribs: hidden;
I, too, am interested in the full error message so I can Google it and find out what the actual problem is.
I have looked on CHATgpt and the answers keep circling round
The error mesages I get curently are as below
Installer creation errors
Cannot debug. Debugger version($00000000) does not match Setup version($60400000)
Common\plugin.cpp: 1002
Failure Condition: pluginentrytable.getentry(entrypoint,out)
can’t find plugin method_GZzipfile_init
Installer creates but gives runtime errors
common\plugin.cpp: 1002
Failure Condition: pluginentrytable.getentry(entrypoint,out)
can’t find plugin method_GZzipfile_init
The script generated by the INNO Wizard was as below
; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
#define MyAppName “Learning Games”
#define MyAppVersion “1.3”
#define MyAppPublisher “My Company, Inc.”
#define MyAppURL “https://www.example.com/”
#define MyAppExeName “Learning Games Menu Version1.3 - 130125-2235.exe”
#define MyAppAssocName MyAppName + " File"
#define MyAppAssocExt “.exe”
#define MyAppAssocKey StringChange(MyAppAssocName, " ", “”) + MyAppAssocExt
[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={{52B310A4-5C31-44D5-93AE-F6CEF479306F}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={autopf}{#MyAppName}
UninstallDisplayIcon={app}{#MyAppExeName}
; “ArchitecturesAllowed=x64compatible” specifies that Setup cannot run
; on anything but x64 and Windows 11 on Arm.
ArchitecturesAllowed=x64compatible
; “ArchitecturesInstallIn64BitMode=x64compatible” requests that the
; install be done in “64-bit mode” on x64 or Windows 11 on Arm,
; meaning it should use the native 64-bit Program Files directory and
; the 64-bit view of the registry.
ArchitecturesInstallIn64BitMode=x64compatible
ChangesAssociations=yes
DisableProgramGroupPage=yes
; Uncomment the following line to run in non administrative install mode (install for current user only).
;PrivilegesRequired=lowest
OutputBaseFilename=Learning games
SetupIconFile=C:\Users\Bryn\Pictures\Lexi Pics\Lexi pic.ico
SolidCompression=yes
WizardStyle=modern
[Languages]
Name: “english”; MessagesFile: “compiler:Default.isl”
[Tasks]
Name: “desktopicon”; Description: “{cm:CreateDesktopIcon}”; GroupDescription: “{cm:AdditionalIcons}”; Flags: unchecked
[Files]
Source: “C:\User Programs\old Learning games{#MyAppExeName}”; DestDir: “{app}”; Flags: ignoreversion
Source: “C:\User Programs\old Learning games\concrt140.dll”; DestDir: “{app}”; Flags: ignoreversion
Source: “C:\User Programs\old Learning games\icudt73.dll”; DestDir: “{app}”; Flags: ignoreversion
Source: “C:\User Programs\old Learning games\icuin73.dll”; DestDir: “{app}”; Flags: ignoreversion
Source: “C:\User Programs\old Learning games\icuuc73.dll”; DestDir: “{app}”; Flags: ignoreversion
Source: “C:\User Programs\old Learning games\Learning Games Menu Version1.3 - 130125-2235.exe”; DestDir: “{app}”; Flags: ignoreversion
Source: “C:\User Programs\old Learning games\msvcp120.dll”; DestDir: “{app}”; Flags: ignoreversion
Source: “C:\User Programs\old Learning games\msvcp140.dll”; DestDir: “{app}”; Flags: ignoreversion
Source: “C:\User Programs\old Learning games\msvcp140_1.dll”; DestDir: “{app}”; Flags: ignoreversion
Source: “C:\User Programs\old Learning games\msvcp140_2.dll”; DestDir: “{app}”; Flags: ignoreversion
Source: “C:\User Programs\old Learning games\msvcp140_atomic_wait.dll”; DestDir: “{app}”; Flags: ignoreversion
Source: “C:\User Programs\old Learning games\msvcp140_codecvt_ids.dll”; DestDir: “{app}”; Flags: ignoreversion
Source: “C:\User Programs\old Learning games\msvcr120.dll”; DestDir: “{app}”; Flags: ignoreversion
Source: “C:\User Programs\old Learning games\vccorlib140.dll”; DestDir: “{app}”; Flags: ignoreversion
Source: “C:\User Programs\old Learning games\vcruntime140.dll”; DestDir: “{app}”; Flags: ignoreversion
Source: “C:\User Programs\old Learning games\vcruntime140_1.dll”; DestDir: “{app}”; Flags: ignoreversion
Source: “C:\User Programs\old Learning games\vcruntime140_threads.dll”; DestDir: “{app}”; Flags: ignoreversion
Source: “C:\User Programs\old Learning games\XojoGUIFramework64.dll”; DestDir: “{app}”; Flags: ignoreversion
Source: “C:\User Programs\old Learning games\Learning Games Resources*”; DestDir: “{app}”; Flags: ignoreversion recursesubdirs createallsubdirs
; NOTE: Don’t use “Flags: ignoreversion” on any shared system files
[Registry]
Root: HKA; Subkey: “Software\Classes{#MyAppAssocExt}\OpenWithProgids”; ValueType: string; ValueName: “{#MyAppAssocKey}”; ValueData: “”; Flags: uninsdeletevalue
Root: HKA; Subkey: “Software\Classes{#MyAppAssocKey}”; ValueType: string; ValueName: “”; ValueData: “{#MyAppAssocName}”; Flags: uninsdeletekey
Root: HKA; Subkey: “Software\Classes{#MyAppAssocKey}\DefaultIcon”; ValueType: string; ValueName: “”; ValueData: “{app}{#MyAppExeName},0”
Root: HKA; Subkey: “Software\Classes{#MyAppAssocKey}\shell\open\command”; ValueType: string; ValueName: “”; ValueData: “”“{app}{#MyAppExeName}”" “”%1"“”
[Icons]
Name: “{autoprograms}{#MyAppName}”; Filename: “{app}{#MyAppExeName}”
Name: “{autodesktop}{#MyAppName}”; Filename: “{app}{#MyAppExeName}”; Tasks: desktopicon
[Run]
Filename: “{app}{#MyAppExeName}”; Description: “{cm:LaunchProgram,{#StringChange(MyAppName, ‘&’, ‘&&’)}}”; Flags: nowait postinstall skipifsilent
Well there’s your first problem.
You’ve made changes to your app since the script was created and it is not including a plugin that is now needed. Your script should instead include everything in the plugins folder rather than listing them explicitly.
I think you are missing
Source: “C:\User Programs\old Learning games\Learning Games Libs\*”; DestDir: "{app}\Learning Games Libs"; Flags: ignoreversion recursesubdirs createallsubdirs
and
should change this line
Source: “C:\User Programs\old Learning games\Learning Games Resources*”; DestDir: “{app}”; Flags: ignoreversion recursesubdirs createallsubdirs
to read
Source: “C:\User Programs\old Learning games\Learning Games Resources\*”; DestDir: "{app}\Learning Games Resources"; Flags: ignoreversion recursesubdirs createallsubdirs
Also:
I haven’t played with INNO setup for more than a decade, so not sure if it will add the missing \ for this line:
\old Learning games{#MyAppExeName}
and looks like that may be a duplicate of this line anyway:
\old Learning games\Learning Games Menu Version1.3 - 130125-2235.exe”
Good point,
The Libs and Resources folder names match the exe name.
Learning Games Menu Version1.3 - 130125-2235.exe is a bit of a mouthful.
Is it that, or Learning Games.exe ?
If its Learning Games Menu Version1.3 - 130125-2235
then the Libs folder is
Learning Games Menu Version1.3 - 130125-2235 Libs
and the Resources is
Learning Games Menu Version1.3 - 130125-2235 Resources
I’d recommend changing the app name to LearningGames.exe and the Libs/Resources to match
( updating an app that includes the version and date in the file name will be a pain later!)
Or just rename the folders to “Libs” and “Resources”