diff --git a/build/windows/installer/32on64.list b/build/windows/installer/32on64.list index 5b421447b2..dfefd7d389 100644 --- a/build/windows/installer/32on64.list +++ b/build/windows/installer/32on64.list @@ -8,6 +8,7 @@ lib\gdk-pixbuf-2.0\2.10.0\loaders\*.dll lib\gdk-pixbuf-2.0\2.10.0\loaders.cache lib\babl-0.1\*.dll lib\gegl-0.4\*.dll +lib\gio\modules\*.dll share\themes\ bin\gspawn*.exe bin\*.dll diff --git a/build/windows/installer/directories.isi b/build/windows/installer/directories.isi index 18b69f0eab..b09ef5115e 100644 --- a/build/windows/installer/directories.isi +++ b/build/windows/installer/directories.isi @@ -19,6 +19,9 @@ #ifndef DIR64 #define DIR64 "x86_64-w64-mingw32" #endif +#ifndef DIRA64 +#define DIRA64 "aarch64-w64-mingw32" +#endif #ifndef GIMP_DIR #define GIMP_DIR "N:\gimp\output\" + VER_DIR @@ -35,6 +38,10 @@ #ifndef GIMP_DIR64 #define GIMP_DIR64 GIMP_DIR + "\" + DIR64 #endif +//AArch64 GIMP base directory (result of make install) +#ifndef GIMP_DIRA64 + #define GIMP_DIRA64 GIMP_DIR + "\" + DIR64 +#endif #ifndef DDIR32 #define DDIR32 DIR32 @@ -42,6 +49,9 @@ #ifndef DDIR64 #define DDIR64 DIR64 #endif +#ifndef DDIRA64 + #define DDIRA64 DIRA64 +#endif //32-bit dependencies directory #ifndef DEPS_DIR32 @@ -51,6 +61,10 @@ #ifndef DEPS_DIR64 #define DEPS_DIR64 DEPS_DIR + "\" + DDIR64 #endif +//AArch64 dependencies directory +#ifndef DEPS_DIR64 + #define DEPS_DIRA64 DEPS_DIR + "\" + DDIRA64 +#endif #ifdef PYTHON diff --git a/build/windows/installer/files.isi b/build/windows/installer/files.isi index 71706cda06..d64be7b2d6 100644 --- a/build/windows/installer/files.isi +++ b/build/windows/installer/files.isi @@ -2,56 +2,61 @@ [Files] #endif -#if PLATFORM==32 +#if PLATFORM==X86 #define DIR DIR32 #define DDIR DDIR32 -#elif PLATFORM==64 + #define COMPONENT "32" +#elif PLATFORM==X64 #define DIR DIR64 #define DDIR DDIR64 + #define COMPONENT "64" +#elif PLATFORM==ARM64 + #define DIR DIRA64 + #define DDIR DDIRA64 + #define COMPONENT "ARM64" #else #error "Unknown PLATFORM:" + PLATFORM #endif -Source: "{#GIMP_DIR}\{#DIR}\*.dll"; DestDir: "{app}"; Components: gimp{#PLATFORM}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete -Source: "{#GIMP_DIR}\{#DIR}\*.exe"; DestDir: "{app}"; Excludes: "\lib\gimp\{#DIR_VER}\plug-ins\twain\twain.exe,\lib\gimp\{#DIR_VER}\plug-ins\file-ps\file-ps.exe,\bin\gimp.exe,\bin\gimp-console.exe"; Components: gimp{#PLATFORM}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete +Source: "{#GIMP_DIR}\{#DIR}\*.dll"; DestDir: "{app}"; Components: gimp{#COMPONENT}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete +Source: "{#GIMP_DIR}\{#DIR}\*.exe"; DestDir: "{app}"; Excludes: "\lib\gimp\2.0\plug-ins\twain\twain.exe,\lib\gimp\2.0\plug-ins\file-ps\file-ps.exe,\bin\gimp.exe,\bin\gimp-console.exe"; Components: gimp{#COMPONENT}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete #ifdef DEBUG_SYMBOLS -Source: "{#GIMP_DIR}\{#DIR}\*.debug"; DestDir: "{app}"; Components: gimp{#PLATFORM} and debug; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion -#endif -Source: "{#GIMP_DIR}\{#DIR}\lib\gimp\{#DIR_VER}\extensions\*.*"; Excludes: "*.debug"; DestDir: "{app}\lib\gimp\{#DIR_VER}\extensions"; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete -Source: "{#GIMP_DIR}\{#DIR}\lib\gimp\{#DIR_VER}\extensions\*.debug"; DestDir: "{app}\lib\gimp\{#DIR_VER}\extensions"; Components: debug; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete - -Source: "{#GIMP_DIR}\{#DIR}\lib\gimp\{#DIR_VER}\plug-ins\file-ps\file-ps.exe"; DestDir: "{app}\lib\gimp\{#DIR_VER}\plug-ins\file-ps"; Components: gs and gimp{#PLATFORM}; Flags: restartreplace ignoreversion uninsrestartdelete - -Source: "{#GIMP_DIR}\{#DIR}\lib\girepository-1.0\*.*"; DestDir: "{app}\lib\girepository-1.0"; Components: gimp{#PLATFORM}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete -Source: "{#DEPS_DIR}\{#DDIR}\lib\girepository-1.0\*.*"; DestDir: "{app}\lib\girepository-1.0"; Components: deps{#PLATFORM}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete - -Source: "{#DEPS_DIR}\{#DDIR}\bin\*.dll"; DestDir: "{app}\bin"; Excludes: "\bin\libgs*.dll"; Components: deps{#PLATFORM}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete -Source: "{#DEPS_DIR}\{#DDIR}\bin\libgs*.dll"; DestDir: "{app}\bin"; Components: gs and deps{#PLATFORM}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete -#ifdef DEBUG_SYMBOLS -Source: "{#DEPS_DIR}\{#DDIR}\bin\.debug\*.dll.debug"; DestDir: "{app}\bin\.debug"; Components: deps{#PLATFORM} and debug; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete skipifsourcedoesntexist -Source: "{#DEPS_DIR}\{#DDIR}\lib\*.debug"; DestDir: "{app}\lib"; Components: deps{#PLATFORM} and debug; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete skipifsourcedoesntexist +Source: "{#GIMP_DIR}\{#DIR}\*.debug"; DestDir: "{app}"; Components: gimp{#COMPONENT} and debug; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion #endif -Source: "{#DEPS_DIR}\{#DDIR}\bin\gspawn-win*.exe"; DestDir: "{app}\bin"; Components: deps{#PLATFORM}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete -Source: "{#DEPS_DIR}\{#DDIR}\bin\gdk-pixbuf-query-loaders.exe"; DestDir: "{app}\bin"; Components: deps{#PLATFORM}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete -Source: "{#DEPS_DIR}\{#DDIR}\bin\bzip2.exe"; DestDir: "{app}\bin"; Components: deps{#PLATFORM}; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion -Source: "{#DEPS_DIR}\{#DDIR}\lib\gdk-pixbuf-2.0\2.10.0\loaders.cache"; DestDir: "{app}\lib\gdk-pixbuf-2.0\2.10.0\"; Components: deps{#PLATFORM}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete -Source: "{#DEPS_DIR}\{#DDIR}\lib\babl-0.1\*.dll"; DestDir: "{app}\lib\babl-0.1"; Components: deps{#PLATFORM}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete -Source: "{#DEPS_DIR}\{#DDIR}\lib\gdk-pixbuf-2.0\*.dll"; DestDir: "{app}\lib\gdk-pixbuf-2.0"; Components: deps{#PLATFORM}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete -Source: "{#DEPS_DIR}\{#DDIR}\lib\gegl-0.4\*.dll"; DestDir: "{app}\lib\gegl-0.4"; Components: deps{#PLATFORM}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete -Source: "{#DEPS_DIR}\{#DDIR}\lib\gio\*.dll"; DestDir: "{app}\lib\gio"; Components: deps{#PLATFORM}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete -;Source: "{#DEPS_DIR}\{#DDIR}\lib\gtk-3.0\*.dll"; DestDir: "{app}\lib\gtk-3.0"; Components: deps{#PLATFORM}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete +Source: "{#GIMP_DIR}\{#DIR}\lib\gimp\2.0\plug-ins\file-ps\file-ps.exe"; DestDir: "{app}\lib\gimp\2.0\plug-ins\file-ps"; Components: gs and gimp{#COMPONENT}; Flags: restartreplace ignoreversion uninsrestartdelete + +Source: "{#DEPS_DIR}\{#DDIR}\bin\*.dll"; DestDir: "{app}\bin"; Excludes: "\bin\libgs*.dll"; Components: deps{#COMPONENT}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete +Source: "{#DEPS_DIR}\{#DDIR}\bin\libgs*.dll"; DestDir: "{app}\bin"; Components: gs and deps{#COMPONENT}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete +#ifdef DEBUG_SYMBOLS +Source: "{#DEPS_DIR}\{#DDIR}\bin\.debug\*.dll.debug"; DestDir: "{app}\bin\.debug"; Components: deps{#COMPONENT} and debug; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete skipifsourcedoesntexist +Source: "{#DEPS_DIR}\{#DDIR}\lib\*.debug"; DestDir: "{app}\lib"; Components: deps{#COMPONENT} and debug; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete skipifsourcedoesntexist +#endif + +Source: "{#DEPS_DIR}\{#DDIR}\bin\gspawn-win*.exe"; DestDir: "{app}\bin"; Components: deps{#COMPONENT}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete +Source: "{#DEPS_DIR}\{#DDIR}\bin\gdk-pixbuf-query-loaders.exe"; DestDir: "{app}\bin"; Components: deps{#COMPONENT}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete +Source: "{#DEPS_DIR}\{#DDIR}\bin\bzip2.exe"; DestDir: "{app}\bin"; Components: deps{#COMPONENT}; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion +Source: "{#DEPS_DIR}\{#DDIR}\lib\gdk-pixbuf-2.0\2.10.0\loaders.cache"; DestDir: "{app}\lib\gdk-pixbuf-2.0\2.10.0\"; Components: deps{#COMPONENT}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete +Source: "{#DEPS_DIR}\{#DDIR}\lib\babl-0.1\*.dll"; DestDir: "{app}\lib\babl-0.1"; Components: deps{#COMPONENT}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete +Source: "{#DEPS_DIR}\{#DDIR}\lib\gdk-pixbuf-2.0\*.dll"; DestDir: "{app}\lib\gdk-pixbuf-2.0"; Components: deps{#COMPONENT}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete +Source: "{#DEPS_DIR}\{#DDIR}\lib\gegl-0.4\*.dll"; DestDir: "{app}\lib\gegl-0.4"; Components: deps{#COMPONENT}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete +Source: "{#DEPS_DIR}\{#DDIR}\lib\gio\*.dll"; DestDir: "{app}\lib\gio"; Components: deps{#COMPONENT}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete +Source: "{#DEPS_DIR}\{#DDIR}\lib\gtk-2.0\*.dll"; DestDir: "{app}\lib\gtk-2.0"; Components: deps{#COMPONENT}; Flags: recursesubdirs restartreplace ignoreversion uninsrestartdelete ;python scripts #ifdef PYTHON -Source: "{#DEPS_DIR}\{#DDIR}\bin\python3w.exe"; DestDir: "{app}\bin"; DestName: "pythonw.exe"; Components: py and gimp{#PLATFORM}; Flags: restartreplace uninsrestartdelete ignoreversion -Source: "{#DEPS_DIR}\{#DDIR}\bin\python3.exe"; DestDir: "{app}\bin"; DestName: "python.exe"; Components: py and gimp{#PLATFORM}; Flags: restartreplace uninsrestartdelete ignoreversion -Source: "{#DEPS_DIR}\{#DDIR}\bin\libpython3.8.dll"; DestDir: "{app}\bin"; Components: py and gimp{#PLATFORM}; Flags: restartreplace uninsrestartdelete ignoreversion -Source: "{#DEPS_DIR}\{#DDIR}\lib\python3.8\*"; DestDir: "{app}\lib\python3.8"; Components: py and gimp{#PLATFORM}; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion -#endif - -#ifdef LUA -Source: "{#DEPS_DIR}\{#DDIR}\bin\luajit.exe"; DestDir: "{app}\bin"; Components: lua and gimp{#PLATFORM}; Flags: restartreplace uninsrestartdelete ignoreversion -Source: "{#DEPS_DIR}\{#DDIR}\bin\lua51.dll"; DestDir: "{app}\bin"; Components: lua and gimp{#PLATFORM}; Flags: restartreplace uninsrestartdelete ignoreversion -Source: "{#DEPS_DIR}\{#DDIR}\lib\lua\5.1\*.*"; DestDir: "{app}\lib\lua\5.1"; Components: lua and gimp{#PLATFORM}; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion + #if PLATFORM==X86 || PLATFORM==X64 +Source: "{#GIMP_DIR}\{#DIR}\lib\gimp\2.0\python\*.p*"; Excludes: "*.debug"; DestDir: "{app}\lib\gimp\2.0\python"; Components: py and gimp{#COMPONENT}; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion +Source: "{#DEPS_DIR}\{#DDIR}\bin\python2w.exe"; DestDir: "{app}\bin"; DestName: "pythonw.exe"; Components: py and gimp{#COMPONENT}; Flags: restartreplace uninsrestartdelete ignoreversion +Source: "{#DEPS_DIR}\{#DDIR}\bin\python2.exe"; DestDir: "{app}\bin"; DestName: "python.exe"; Components: py and gimp{#COMPONENT}; Flags: restartreplace uninsrestartdelete ignoreversion +Source: "{#DEPS_DIR}\{#DDIR}\bin\libpython2.7.dll"; DestDir: "{app}\bin"; Components: py and gimp{#COMPONENT}; Flags: restartreplace uninsrestartdelete ignoreversion +Source: "{#DEPS_DIR}\{#DDIR}\lib\python2.7\*"; DestDir: "{app}\lib\python2.7"; Components: py and gimp{#COMPONENT}; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion + #else +;no AArch64 Python 2.7 +Source: "{#GIMP_DIR}\{#DIR32}\lib\gimp\2.0\python\*.p*"; Excludes: "*.debug"; DestDir: "{app}\32\lib\gimp\2.0\python"; Components: gimp32on64\py; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion +Source: "{#DEPS_DIR}\{#DDIR32}\bin\python2w.exe"; DestDir: "{app}\32\bin"; DestName: "pythonw.exe"; Components: gimp32on64\py; Flags: restartreplace uninsrestartdelete ignoreversion +Source: "{#DEPS_DIR}\{#DDIR32}\bin\python2.exe"; DestDir: "{app}\32\bin"; DestName: "python.exe"; Components: gimp32on64\py; Flags: restartreplace uninsrestartdelete ignoreversion +Source: "{#DEPS_DIR}\{#DDIR32}\bin\libpython2.7.dll"; DestDir: "{app}\32\bin"; Components: gimp32on64\py; Flags: restartreplace uninsrestartdelete ignoreversion +Source: "{#DEPS_DIR}\{#DDIR32}\lib\python2.7\*"; DestDir: "{app}\32\lib\python2.7"; Components: gimp32on64\py; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion + #endif #endif diff --git a/build/windows/installer/gimp3264.iss b/build/windows/installer/gimp3264.iss index b5736675a5..f84fc8d5e9 100755 --- a/build/windows/installer/gimp3264.iss +++ b/build/windows/installer/gimp3264.iss @@ -89,12 +89,15 @@ #define DEPS_DIR "W:\msys64-gtk2\opt\comb" #define DDIR32 "mingw32" #define DDIR64 "mingw64" - #define PYTHON - #define LUA - #define DEBUG_SYMBOLS + #define PYTHON + #define DEBUG_SYMBOLS #define NOCOMPRESSION #endif +#define X86 1 +#define X64 2 +#define ARM64 3 + #include "directories.isi" #include "version.isi" @@ -143,13 +146,15 @@ UninstallDisplayIcon={app}\bin\gimp-{#MAJOR}.{#MINOR}.exe UninstallFilesDir={app}\uninst MinVersion=6.1 -ArchitecturesInstallIn64BitMode=x64 +ArchitecturesInstallIn64BitMode=x64 arm64 #ifdef NOCOMPRESSION ;UseSetupLdr=no OutputDir=_Output\unc Compression=none ;InternalCompressLevel=0 +DiskSpanning=yes +DiskSliceSize=max #else OutputDir=_Output Compression=lzma2/ultra64 @@ -209,7 +214,7 @@ Name: "sl"; MessagesFile: "compiler:Languages\Slovenian.isl,lang\sl.setup.islu" Name: "sv"; MessagesFile: "compiler:Languages\Unofficial\Swedish.isl,lang\sv.setup.isl" Name: "tr"; MessagesFile: "compiler:Languages\Turkish.isl,lang\tr.setup.isl" Name: "uk"; MessagesFile: "compiler:Languages\Ukrainian.isl,lang\uk.setup.isl" -Name: "vi"; MessagesFile: "compiler:Languages\Vietnamese.isl,lang\vi.setup.isl" +Name: "vi"; MessagesFile: "compiler:Languages\Unofficial\Vietnamese.isl,lang\vi.setup.isl" Name: "zh_CN"; MessagesFile: "compiler:Languages\Unofficial\ChineseSimplified.isl,lang\zh_CN.setup.isl" Name: "zh_TW"; MessagesFile: "compiler:Languages\Unofficial\ChineseTraditional.isl,lang\zh_TW.setup.isl" ;Name: "ro"; MessagesFile: "Romanian.islu,ro.setup.islu" @@ -222,10 +227,16 @@ Name: custom; Description: "{cm:TypeCustom}"; Flags: iscustom [Components] Name: gimp32; Description: "{cm:ComponentsGimp,{#VERSION}}"; Types: full compact custom; Flags: fixed; Check: Check3264('32') -Name: gimp64; Description: "{cm:ComponentsGimp,{#VERSION}}"; Types: full compact custom; Flags: fixed; Check: Check3264('64') +Name: gimp64; Description: "{cm:ComponentsGimp,{#VERSION}}"; Types: full compact custom; Flags: fixed; Check: Check3264('x64') +Name: gimpARM64; Description: "{cm:ComponentsGimp,{#VERSION}}"; Types: full compact custom; Flags: fixed; Check: Check3264('arm64') Name: deps32; Description: "{cm:ComponentsDeps,{#GTK_VERSION}}"; Types: full compact custom; Flags: checkablealone fixed; Check: Check3264('32') -Name: deps64; Description: "{cm:ComponentsDeps,{#GTK_VERSION}}"; Types: full compact custom; Flags: checkablealone fixed; Check: Check3264('64') +Name: deps32\wimp; Description: "{cm:ComponentsGtkWimp}"; Types: full custom; Flags: dontinheritcheck disablenouninstallwarning; Check: Check3264('32') +Name: deps32\compat; Description: "{cm:ComponentsCompat}"; Types: full custom; Flags: dontinheritcheck; Check: Check3264('32') +Name: deps64; Description: "{cm:ComponentsDeps,{#GTK_VERSION}}"; Types: full compact custom; Flags: checkablealone fixed; Check: Check3264('x64') +Name: deps64\wimp; Description: "{cm:ComponentsGtkWimp}"; Types: full custom; Flags: dontinheritcheck disablenouninstallwarning; Check: Check3264('x64') +Name: depsARM64; Description: "{cm:ComponentsDeps,{#GTK_VERSION}}"; Types: full compact custom; Flags: checkablealone fixed; Check: Check3264('arm64') +Name: depsARM64\wimp; Description: "{cm:ComponentsGtkWimp}"; Types: full custom; Flags: dontinheritcheck disablenouninstallwarning; Check: Check3264('arm64') #ifdef DEBUG_SYMBOLS Name: debug; Description: "{cm:ComponentsDebug}"; Types: full custom; Flags: disablenouninstallwarning @@ -238,13 +249,14 @@ Name: loc; Description: "{cm:ComponentsTranslations}"; Types: full custom Name: mypaint; Description: "{cm:ComponentsMyPaint}"; Types: full custom #ifdef PYTHON -Name: py; Description: "{cm:ComponentsPython}"; Types: full custom -#endif -#ifdef LUA -Name: lua; Description: "{cm:ComponentsLua}"; Types: full custom +Name: py; Description: "{cm:ComponentsPython}"; Types: full custom; Check: not Check3264('arm64') #endif Name: gimp32on64; Description: "{cm:ComponentsGimp32}"; Types: full custom; Flags: checkablealone; Check: Check3264('64') +#ifdef PYTHON +Name: gimp32on64\py; Description: "{cm:ComponentsPython}"; Types: full custom; Check: Check3264('arm64') +#endif +Name: gimp32on64\compat; Description: "{cm:ComponentsCompat}"; Types: full custom; Flags: dontinheritcheck; Check: Check3264('64') [Tasks] Name: desktopicon; Description: "{cm:AdditionalIconsDesktop}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked @@ -256,29 +268,25 @@ Name: "{autodesktop}\GIMP {#ICON_VERSION}"; Filename: "{app}\bin\gimp-{#MAJOR}.{ [Files] ;setup files +Source: "setup.ini"; Flags: dontcopy Source: "windows-installer-intro-small.bmp"; Flags: dontcopy -#ifndef DEVEL Source: "installsplash.bmp"; Flags: dontcopy Source: "installsplash_small.bmp"; Flags: dontcopy -#else -Source: "installsplash-devel.bmp"; Destname: "installsplash.bmp"; Flags: dontcopy -Source: "installsplash_small-devel.bmp"; Destname: "installsplash_small.bmp"; Flags: dontcopy -#endif #ifndef NOFILES ;files common to both 32 and 64-bit versions -Source: "{#GIMP_DIR32}\etc\*"; DestDir: "{app}\etc"; Components: gimp32 or gimp64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion -Source: "{#GIMP_DIR32}\lib\gimp\{#DIR_VER}\environ\*"; DestDir: "{app}\lib\gimp\{#DIR_VER}\environ"; Components: gimp32 or gimp64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion -Source: "{#GIMP_DIR32}\lib\gimp\{#DIR_VER}\interpreters\*"; DestDir: "{app}\lib\gimp\{#DIR_VER}\interpreters"; Components: gimp32 or gimp64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion -Source: "{#GIMP_DIR32}\share\gimp\*"; DestDir: "{app}\share\gimp"; Components: gimp32 or gimp64; Flags: recursesubdirs createallsubdirs restartreplace uninsrestartdelete ignoreversion -Source: "{#DEPS_DIR32}\share\glib-2.0\schemas\*"; DestDir: "{app}\share\glib-2.0\schemas"; Components: deps32 or deps64; Flags: recursesubdirs createallsubdirs restartreplace uninsrestartdelete ignoreversion -;Source: "{#DEPS_DIR32}\share\enchant\*"; DestDir: "{app}\share\enchant"; Components: deps32 or deps64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion -Source: "{#DEPS_DIR32}\share\libwmf\*"; DestDir: "{app}\share\libwmf"; Components: deps32 or deps64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion -Source: "{#DEPS_DIR32}\share\icons\*"; DestDir: "{app}\share\icons"; Components: deps32 or deps64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion -Source: "{#DEPS_DIR32}\share\xml\*"; DestDir: "{app}\share\xml"; Components: deps32 or deps64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion +Source: "{#GIMP_DIR32}\etc\*"; DestDir: "{app}\etc"; Components: gimp32 or gimp64 or gimpARM64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion +Source: "{#GIMP_DIR32}\lib\gimp\2.{#DIR_VER}\environ\*"; DestDir: "{app}\lib\gimp\2.{#DIR_VER}\environ"; Components: gimp32 or gimp64 or gimpARM64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion +Source: "{#GIMP_DIR32}\lib\gimp\2.{#DIR_VER}\interpreters\*"; DestDir: "{app}\lib\gimp\2.{#DIR_VER}\interpreters"; Components: gimp32 or gimp64 or gimpARM64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion +Source: "{#GIMP_DIR32}\share\gimp\*"; DestDir: "{app}\share\gimp"; Components: gimp32 or gimp64 or gimpARM64; Flags: recursesubdirs createallsubdirs restartreplace uninsrestartdelete ignoreversion +Source: "{#DEPS_DIR32}\share\glib-2.0\schemas\*"; DestDir: "{app}\share\glib-2.0\schemas"; Components: deps32 or deps64 or depsARM64; Flags: recursesubdirs createallsubdirs restartreplace uninsrestartdelete ignoreversion +Source: "{#DEPS_DIR32}\share\enchant\*"; DestDir: "{app}\share\enchant"; Components: deps32 or deps64 or depsARM64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion +Source: "{#DEPS_DIR32}\share\libwmf\*"; DestDir: "{app}\share\libwmf"; Components: deps32 or deps64 or depsARM64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion +Source: "{#DEPS_DIR32}\share\themes\*"; DestDir: "{app}\share\themes"; Components: deps32 or deps64 or depsARM64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion +Source: "{#DEPS_DIR32}\share\xml\*"; DestDir: "{app}\share\xml"; Components: deps32 or deps64 or depsARM64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion -Source: "{#DEPS_DIR32}\share\poppler\*.*"; DestDir: "{app}\share\poppler"; Components: deps32 or deps64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion -Source: "{#DEPS_DIR32}\share\libthai\*"; DestDir: "{app}\share\libthai"; Components: deps32 or deps64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion +Source: "{#DEPS_DIR32}\share\poppler\*.*"; DestDir: "{app}\share\poppler"; Components: deps32 or deps64 or depsARM64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion +Source: "{#DEPS_DIR32}\share\libthai\*"; DestDir: "{app}\share\libthai"; Components: deps32 or deps64 or depsARM64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion Source: "{#DEPS_DIR32}\share\locale\*"; DestDir: "{app}\share\locale"; Components: loc; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion Source: "{#GIMP_DIR32}\share\locale\*"; DestDir: "{app}\share\locale"; Components: loc; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion @@ -287,43 +295,48 @@ Source: "{#GIMP_DIR32}\share\locale\*"; DestDir: "{app}\share\locale"; Component ;be picked by gimp Source: "{#DEPS_DIR32}\share\mypaint-data\*"; DestDir: "{app}\share\mypaint-data"; Components: mypaint; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion -Source: "{#DEPS_DIR32}\etc\fonts\*"; DestDir: "{app}\etc\fonts"; Components: deps32 or deps64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion -Source: "{#DEPS_DIR32}\etc\gtk-3.0\*"; DestDir: "{app}\etc\gtk-3.0"; Components: deps32 or deps64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion +Source: "{#DEPS_DIR32}\etc\fonts\*"; DestDir: "{app}\etc\fonts"; Components: deps32 or deps64 or depsARM64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion +Source: "{#DEPS_DIR32}\etc\gtk-2.0\*"; DestDir: "{app}\etc\gtk-2.0"; Excludes: gtkrc; Components: deps32 or deps64 or depsARM64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion +Source: "{#DEPS_DIR32}\etc\gtk-2.0\gtkrc"; DestDir: "{app}\etc\gtk-2.0"; Components: deps32\wimp or deps64\wimp or depsARM64\wimp; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion ;ghostscript TODO: detect version automatically -Source: "{#DEPS_DIR32}\share\ghostscript\9.50\lib\*.*"; DestDir: "{app}\share\ghostscript\9.50\lib"; Components: gs and (gimp32 or gimp64); Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion +Source: "{#DEPS_DIR32}\share\ghostscript\9.53.3\lib\*.*"; DestDir: "{app}\share\ghostscript\9.53.3\lib"; Components: gs and (gimp32 or gimp64 or gimpARM64); Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion #ifdef PYTHON ;*.py files are the same on 32 and 64-bit -Source: "{#GIMP_DIR32}\lib\gimp\{#DIR_VER}\plug-ins\*.py"; DestDir: "{app}\lib\gimp\{#DIR_VER}\plug-ins"; Components: py; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion -#endif - -#ifdef LUA -Source: "{#DEPS_DIR32}\share\lua\5.1\*.*"; DestDir: "{app}\share\lua\5.1"; Components: lua; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion -Source: "{#DEPS_DIR32}\share\luajit-2.1.0-beta3\*.*"; DestDir: "{app}\share\luajit-2.1.0-beta3"; Components: lua; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion +Source: "{#GIMP_DIR32}\lib\gimp\2.0\plug-ins\*.py"; DestDir: "{app}\lib\gimp\2.0\plug-ins"; Components: py or gimp32on64\py; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion #endif ;64bit -#define PLATFORM 64 +#define PLATFORM X64 +#include "files.isi" + +;AArch64 +#define PLATFORM ARM64 #include "files.isi" ;32bit -#define PLATFORM 32 +#define PLATFORM X86 #include "files.isi" -;special case, since 64bit version doesn't work, and is excluded in files.isi -Source: "{#GIMP_DIR32}\lib\gimp\{#DIR_VER}\plug-ins\twain.exe"; DestDir: "{app}\lib\gimp\{#DIR_VER}\plug-ins"; Components: gimp32; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion ;32-on-64bit #include "32on64.isi" ;prefer 32bit twain plugin over 64bit because 64bit twain drivers are rare -Source: "{#GIMP_DIR32}\lib\gimp\{#DIR_VER}\plug-ins\twain\twain.exe"; DestDir: "{app}\lib\gimp\{#DIR_VER}\plug-ins\twain"; Components: gimp32on64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion -Source: "{#GIMP_DIR64}\lib\gimp\{#DIR_VER}\plug-ins\twain\twain.exe"; DestDir: "{app}\lib\gimp\{#DIR_VER}\plug-ins\twain"; Components: (not gimp32on64) and gimp64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion +Source: "{#GIMP_DIR32}\lib\gimp\2.0\plug-ins\twain\twain.exe"; DestDir: "{app}\lib\gimp\2.0\plug-ins\twain"; Components: gimp32on64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion +Source: "{#GIMP_DIR64}\lib\gimp\2.0\plug-ins\twain\twain.exe"; DestDir: "{app}\lib\gimp\2.0\plug-ins\twain"; Components: (not gimp32on64) and gimp64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion +Source: "{#GIMP_DIRA64}\lib\gimp\2.0\plug-ins\twain\twain.exe"; DestDir: "{app}\lib\gimp\2.0\plug-ins\twain"; Components: (not gimp32on64) and gimpARM64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion +;plugins not available for AArch64 +Source: "{#GIMP_DIR32}\lib\gimp\2.0\plug-ins\help-browser\help-browser.exe"; DestDir: "{app}\lib\gimp\2.0\plug-ins\help-browser"; Components: gimp32on64 and gimpARM64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion +Source: "{#GIMP_DIR32}\lib\gimp\2.0\plug-ins\web-page\web-page.exe"; DestDir: "{app}\lib\gimp\2.0\plug-ins\web-page"; Components: gimp32on64 and gimpARM64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion ;special case due to MS-Windows engine -Source: "{#DEPS_DIR32}\etc\gtk-3.0\*"; DestDir: "{app}\32\etc\gtk-3.0"; Components: gimp32on64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion +Source: "{#DEPS_DIR32}\etc\gtk-2.0\*"; DestDir: "{app}\32\etc\gtk-2.0"; Excludes: gtkrc; Components: gimp32on64; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion +Source: "{#DEPS_DIR32}\etc\gtk-2.0\gtkrc"; DestDir: "{app}\32\etc\gtk-2.0"; Components: gimp32on64 and deps64\wimp; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion +;compat libraries +Source: "{#DEPS_DIR}\compat\*.dll"; DestDir: "{app}\32\"; Components: gimp32on64\compat; Flags: recursesubdirs restartreplace uninsrestartdelete ignoreversion ;upgrade zlib1.dll in System32 if it's present there to avoid breaking plugins ;sharedfile flag will ensure that the upgraded file is left behind on uninstall to avoid breaking other programs that use the file -Source: "{#DEPS_DIR32}\bin\zlib1.dll"; DestDir: "{sys}"; Components: gimp32 or gimp64; Flags: restartreplace sharedfile 32bit uninsrestartdelete comparetimestamp; Check: BadSysDLL('zlib1.dll',32) +Source: "{#DEPS_DIR32}\bin\zlib1.dll"; DestDir: "{sys}"; Components: gimp32 or gimp64 or gimpARM64; Flags: restartreplace sharedfile 32bit uninsrestartdelete comparetimestamp; Check: BadSysDLL('zlib1.dll',32) Source: "{#DEPS_DIR64}\bin\zlib1.dll"; DestDir: "{sys}"; Components: gimp64; Flags: restartreplace sharedfile uninsrestartdelete comparetimestamp; Check: BadSysDLL('zlib1.dll',64) ;overridden configuration files @@ -559,18 +572,11 @@ Type: files; Name: "{app}\lib\gimp\2.0\plug-ins\*.dll" ;gegl 0.2 Type: filesandordirs; Name: "{app}\lib\gegl-0.2" ;old icons -#ifndef DEVEL Type: files; Name: "{autoprograms}\GIMP 2.lnk" Type: files; Name: "{autodesktop}\GIMP 2.lnk" -#endif ;get previous GIMP icon name from uninstall name in Registry -#if Defined(DEVEL) && DEVEL != "" -Type: files; Name: "{autoprograms}\GIMP {reg:HKA\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\GIMP-{#MAJOR}.{#MINOR}_is1,DisplayVersion|GIMP {#MAJOR}.{#MINOR}}.lnk"; Check: CheckRegValueExists('SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\GIMP-{#MAJOR}.{#MINOR}_is1','DisplayVersion') -Type: files; Name: "{autodesktop}\GIMP {reg:HKA\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\GIMP-{#MAJOR}.{#MINOR}_is1,DisplayVersion|GIMP {#MAJOR}.{#MINOR}}.lnk"; Check: CheckRegValueExists('SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\GIMP-{#MAJOR}.{#MINOR}_is1','DisplayVersion') -#else -Type: files; Name: "{autoprograms}\GIMP {reg:HKA\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\GIMP-{#MAJOR}_is1,DisplayVersion|GIMP {#MAJOR}}.lnk"; Check: CheckRegValueExists('SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\GIMP-{#MAJOR}_is1','DisplayVersion') -Type: files; Name: "{autodesktop}\GIMP {reg:HKA\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\GIMP-{#MAJOR}_is1,DisplayVersion|GIMP {#MAJOR}}.lnk"; Check: CheckRegValueExists('SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\GIMP-{#MAJOR}_is1','DisplayVersion') -#endif +Type: files; Name: "{autoprograms}\GIMP {reg:HKA\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\GIMP-2_is1,DisplayVersion|GIMP 2}.lnk"; Check: CheckRegValueExists('SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\GIMP-2_is1','DisplayVersion') +Type: files; Name: "{autodesktop}\GIMP {reg:HKA\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\GIMP-2_is1,DisplayVersion|GIMP 2}.lnk"; Check: CheckRegValueExists('SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\GIMP-2_is1','DisplayVersion') ;32-bit Python Type: filesandordirs; Name: "{app}\32\lib\gimp\2.0\python" Type: files; Name: "{app}\32\bin\python2w.exe" @@ -588,8 +594,6 @@ Root: HKLM; Subkey: "SYSTEM\CurrentControlSet\Control\Session Manager\Environmen [UninstallDelete] Type: files; Name: "{app}\uninst\uninst.inf" -Type: files; Name: "{app}\lib\gimp\{#DIR_VER}\interpreters\lua.interp" -Type: files; Name: "{app}\lib\gimp\{#DIR_VER}\environ\pygimp.env" ;need to clean out all the generated .pyc files Type: filesandordirs; Name: "{app}\Python\*" @@ -651,6 +655,8 @@ type var lblComponentDescription: TNewStaticText; + SetupINI: String; + ReadyMemoRichText: String; WelcomeBitmapBottom: TBitmapImage; @@ -671,10 +677,14 @@ var function Check3264(const pWhich: String): Boolean; begin - if pWhich = '64' then + if pWhich = '64' then //x64 or arm64 Result := Is64BitInstallMode() and (not Force32bitInstall) else if pWhich = '32' then Result := (not Is64BitInstallMode()) or Force32bitInstall + else if pWhich = 'x64' then + Result := Is64BitInstallMode() and IsX64 and (not Force32bitInstall) + else if pWhich = 'arm64' then + Result := Is64BitInstallMode() and IsARM64 and (not Force32bitInstall) else RaiseException('Unknown check'); end; @@ -783,57 +793,31 @@ begin end; -procedure PrepareInterp(); -var InterpFile,InterpContent: String; +procedure PreparePyGimp(); +var PyGimpInterp,Interp,PythonExe: String; begin -#ifdef PYTHON - if IsComponentSelected('py') then + if IsComponentSelected('py') or IsComponentSelected('gimp32on64\py') then begin StatusLabel(CustomMessage('SettingUpPyGimp'),''); - InterpFile := ExpandConstant('{app}\lib\gimp\{#DIR_VER}\interpreters\pygimp.interp'); - DebugMsg('PrepareInterp','Writing interpreter file for gimp-python: ' + InterpFile); + PythonExe := '\bin\pythonw.exe'; + if IsComponentSelected('gimp32on64\py') then //32-bit Python on AArch64 + PythonExe := '\32' + PythonExe; -#ifdef DEVEL - #define PYTHON="python.exe" -#else - #define PYTHON="pythonw.exe" -#endif - - InterpContent := 'python=' + ExpandConstant('{app}\bin\{#PYTHON}') + #10 + - 'python3=' + ExpandConstant('{app}\bin\{#PYTHON}') + #10 + - '/usr/bin/python=' + ExpandConstant('{app}\bin\{#PYTHON}') + #10 + - '/usr/bin/python3=' + ExpandConstant('{app}\bin\{#PYTHON}') + #10 + - ':Python:E::py::python:'#10; + PyGimpInterp := ExpandConstant('{app}\lib\gimp\2.0\interpreters\pygimp.interp'); + DebugMsg('PreparePyGimp','Writing interpreter file for gimp-python: ' + PyGimpInterp); - if not SaveStringToUTF8File(InterpFile,InterpContent,False) then + Interp := 'python=' + ExpandConstant('{app}' + PythonExe) + #10 + + 'python2=' + ExpandConstant('{app}' + PythonExe) + #10 + + '/usr/bin/python=' + ExpandConstant('{app}' + PythonExe) + #10':Python:E::py::python:'#10; + + if not SaveStringToUTF8File(PyGimpInterp,Interp,False) then begin - DebugMsg('PrepareInterp','Problem writing the file. [' + InterpContent + ']'); + DebugMsg('PreparePyGimp','Problem writing the file. [' + Interp + ']'); SuppressibleMsgBox(CustomMessage('ErrorUpdatingPython') + ' (2)',mbInformation,mb_ok,IDOK); end; end; -#endif - -#ifdef LUA - if IsComponentSelected('lua') then - begin - InterpFile := ExpandConstant('{app}\lib\gimp\{#DIR_VER}\interpreters\lua.interp'); - DebugMsg('PrepareInterp','Writing interpreter file for lua: ' + InterpFile); - - InterpContent := 'lua=' + ExpandConstant('{app}\bin\luajit.exe') + #10 + - 'luajit=' + ExpandConstant('{app}\bin\luajit.exe') + #10 + - '/usr/bin/luajit=' + ExpandConstant('{app}\bin\luajit.exe') + #10 + - '/usr/bin/lua=' + ExpandConstant('{app}\bin\luajit.exe') + #10 + - ':Lua:E::lua::luajit:'#10; - - if not SaveStringToUTF8File(InterpFile,InterpContent,False) then - begin - DebugMsg('PrepareInterp','Problem writing the file. [' + InterpContent + ']'); - SuppressibleMsgBox(CustomMessage('ErrorUpdatingPython') + ' (2)',mbInformation,mb_ok,IDOK); - end; - end; -#endif end; @@ -844,7 +828,7 @@ begin StatusLabel(CustomMessage('SettingUpEnvironment'),''); //set PATH to be used by plug-ins - EnvFile := ExpandConstant('{app}\lib\gimp\{#DIR_VER}\environ\default.env'); + EnvFile := ExpandConstant('{app}\lib\gimp\2.0\environ\default.env'); DebugMsg('PrepareGimpEnvironment','Setting environment in ' + EnvFile); Env := #10'PATH=${gimp_installation_dir}\bin'; @@ -861,6 +845,11 @@ begin end; + if IsComponentSelected('py') then + Env := Env + 'PYTHONPATH=${gimp_installation_dir}\lib\gimp\2.0\python;${gimp_plug_in_dir}\plug-ins\python-console' + #10 + else if IsComponentSelected('gimp32on64\py') then + Env := Env + 'PYTHONPATH=${gimp_installation_dir}\32\lib\gimp\2.0\python;${gimp_plug_in_dir}\32\plug-ins\python-console' + #10; + DebugMsg('PrepareGimpEnvironment','Appending ' + Env); if not SaveStringToUTF8File(EnvFile,Env,True) then @@ -869,13 +858,13 @@ begin SuppressibleMsgBox(FmtMessage(CustomMessage('ErrorChangingEnviron'),[EnvFile]),mbInformation,mb_ok,IDOK); end; - //workaround for high-DPI awareness of Python plug-ins - if IsComponentSelected('py') then + // Disable check-update when run with specific option + if ExpandConstant('{param:disablecheckupdate|false}') = 'true' then begin - EnvFile := ExpandConstant('{app}\lib\gimp\{#DIR_VER}\environ\pygimp.env'); - DebugMsg('PrepareGimpEnvironment','Setting environment in ' + EnvFile); + EnvFile := ExpandConstant('{app}\share\gimp\{#DIR_VER}\gimp-release'); + DebugMsg('DisableCheckUpdate','Disabling check-update in ' + EnvFile); - Env := '__COMPAT_LAYER=HIGHDPIAWARE' + #10 + Env := 'check-update=false' if not SaveStringToUTF8File(EnvFile,Env,True) then begin @@ -884,13 +873,13 @@ begin end; end; - // Disable check-update when run with specific option - if ExpandConstant('{param:disablecheckupdate|false}') = 'true' then + //workaround for high-DPI awareness of Python plug-ins + if IsComponentSelected('py') then begin - EnvFile := ExpandConstant('{app}\share\gimp\{#DIR_VER}\gimp-release'); - DebugMsg('DisableCheckUpdate','Disabling check-update in ' + EnvFile); + EnvFile := ExpandConstant('{app}\lib\gimp\2.0\environ\pygimp.env'); + DebugMsg('PrepareGimpEnvironment','Setting environment in ' + EnvFile); - Env := 'check-update=false' + Env := '__COMPAT_LAYER=HIGHDPIAWARE' + #10 if not SaveStringToUTF8File(EnvFile,Env,True) then begin @@ -1198,7 +1187,7 @@ var i,j: Integer; begin DebugMsg('ComponentsListOnClick',''); - Components := ['Gimp','Deps','Debug','Translations','MyPaint','Python','Ghostscript','Lua','Gimp32']; + Components := ['Gimp','Deps','Debug','GtkWimp','Translations','MyPaint','Python','Ghostscript','Gimp32','Compat']; ComponentDesc := ''; for i := 0 to TNewCheckListBox(pSender).Items.Count - 1 do @@ -1587,7 +1576,7 @@ begin end; ssPostInstall: begin - PrepareInterp(); + PreparePyGimp(); PrepareGimpEnvironment(); end; end; @@ -1737,6 +1726,8 @@ begin #endif try + ExtractTemporaryFile('setup.ini'); + SetupINI := ExpandConstant('{tmp}\setup.ini'); ExtractTemporaryFile('windows-installer-intro-small.bmp'); ExtractTemporaryFile('installsplash.bmp'); ExtractTemporaryFile('installsplash_small.bmp'); diff --git a/build/windows/installer/version.isi b/build/windows/installer/version.isi index ede6d5c232..4d5adee037 100644 --- a/build/windows/installer/version.isi +++ b/build/windows/installer/version.isi @@ -19,8 +19,8 @@ #if Int(MINOR) % 2 == 1 #define DEVEL="-dev" - #define DIR_VER=MAJOR + "." + MINOR + #define DIR_VER=MICRO #else #define DEVEL="" - #define DIR_VER=MAJOR + ".0" + #define DIR_VER="0" #endif