GraphicsMagick: Prepare installation script for MSVC2010 runtime.

GraphicsMagick Commits <[email protected]> Mon, 21 Aug 2023 17:17:45 -0500
Newsgroups gmane.comp.video.graphicsmagick.cvs
Message-ID <mailman.10923.1692656273.1439.graphicsmagick-commit@lists.sourceforge.net>
changeset 97f0adcf6269 in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=97f0adcf6269
summary: Prepare installation script for MSVC2010 runtime.

diffstat:

 ChangeLog                                   |   5 +++++
 VisualMagick/installer/gm-win64-Q16-dll.iss |   1 +
 VisualMagick/installer/gm-win64-Q8-dll.iss  |   4 +++-
 VisualMagick/installer/inc/body.isx         |  22 ++++++++++++++++++++--
 VisualMagick/installer/inc/files-dlls.isx   |   8 ++++++--
 5 files changed, 35 insertions(+), 5 deletions(-)

diffs (119 lines):

diff -r 89062a23f056 -r 97f0adcf6269 ChangeLog
--- a/ChangeLog	Sun Aug 20 21:03:30 2023 -0500
+++ b/ChangeLog	Tue Aug 22 00:17:14 2023 +0200
@@ -1,3 +1,8 @@
+2023-08-22  Fojtik Jaroslav  <[email protected]>
+        * VisualMagick\installer\inc\files-dlls.isx
+        * VisualMagick\installer\inc\body.isx
+	Prepare installation script for MSVC2010 runtime.
+
 2023-08-21  Fojtik Jaroslav  <[email protected]>
 
 	* coders/bmp.c When alpha is to be used, writer must not use
diff -r 89062a23f056 -r 97f0adcf6269 VisualMagick/installer/gm-win64-Q16-dll.iss
--- a/VisualMagick/installer/gm-win64-Q16-dll.iss	Sun Aug 20 21:03:30 2023 -0500
+++ b/VisualMagick/installer/gm-win64-Q16-dll.iss	Tue Aug 22 00:17:14 2023 +0200
@@ -14,6 +14,7 @@
 #define  public QuantumDepth "16"
 #define  public WIN64 1
 #define  public InstallPerlMagick 0
+
 #include "inc\body.isx"
 
 #ifdef Debug
diff -r 89062a23f056 -r 97f0adcf6269 VisualMagick/installer/gm-win64-Q8-dll.iss
--- a/VisualMagick/installer/gm-win64-Q8-dll.iss	Sun Aug 20 21:03:30 2023 -0500
+++ b/VisualMagick/installer/gm-win64-Q8-dll.iss	Tue Aug 22 00:17:14 2023 +0200
@@ -1,5 +1,5 @@
 ;
-; Copyright (C) 2003-2017 GraphicsMagick Group
+; Copyright (C) 2003-2023 GraphicsMagick Group
 ;
 ; This program is covered by multiple licenses, which are described in
 ; Copyright.txt. You should have received a copy of Copyright.txt with this
@@ -14,6 +14,8 @@
 #define  public QuantumDepth "8"
 #define  public WIN64 1
 #define  public InstallPerlMagick 0
+;#define  public VC_2010
+
 #include "inc\body.isx"
 
 #ifdef Debug
diff -r 89062a23f056 -r 97f0adcf6269 VisualMagick/installer/inc/body.isx
--- a/VisualMagick/installer/inc/body.isx	Sun Aug 20 21:03:30 2023 -0500
+++ b/VisualMagick/installer/inc/body.isx	Tue Aug 22 00:17:14 2023 +0200
@@ -131,6 +131,7 @@
   INSTALLSTATE_DEFAULT = 5;      // The product is installed for the current user.
 
   // Microsoft Visual C++ Redistributable Package is installed at "c:\WINDOWS\WinSxS\"
+  // https://qtechbabble.wordpress.com/2017/08/08/microsoft-visual-c-redistributables-msi-product-codes/
   VC_2005_REDIST_X86                  = '{A49F249F-0C91-497F-86DF-B2585E8E76B7}';
   VC_2005_REDIST_X64                  = '{6E8E85E8-CE4B-4FF5-91F7-04999C9FAE6A}';
   VC_2005_REDIST_IA64                 = '{03ED71EA-F531-4927-AABD-1C31BCE8E187}';
@@ -162,6 +163,12 @@
   VC_2010_SP1_REDIST_X64              = '{1D8E6291-B0D5-35EC-8441-6616F567A0F7}';
   VC_2010_SP1_REDIST_IA64             = '{88C73C1C-2DE5-3B01-AFB8-B46EF4AB41CD}';
 
+  VC_2013_REDIST_X86                  = '{13A4EE12-23EA-3371-91EE-EFB36DDFFF3E}';
+  VC_2013_REDIST_X86_                 = '{F8CFEB22-A2E7-3971-9EDA-4B11EDEFC185}';
+  VC_2013_REDIST_X64                  = '{929FBD26-9020-399B-9A7A-751D61F0B942}';
+  VC_2013_REDIST_X64_                 = '{A749D8E6-B613-3BE3-8F5F-045C84EBA29B}';
+
+
 function MsiQueryProductState(szProduct: string): INSTALLSTATE; 
   external 'MsiQueryProductState{#AW}@msi.dll stdcall';
 
@@ -179,14 +186,25 @@
   // this statement, the following won't install your VC redist only when
   // the Visual C++ 2010 Redist (x86) and Visual C++ 2010 SP1 Redist(x86)
   // are installed for the current user
-#ifdef WIN64
+#ifdef VC_2010
+ #ifdef WIN64
+  r1 := VCVersionInstalled(VC_2010_REDIST_X64);
+  r2 := VCVersionInstalled(VC_2010_SP1_REDIST_X64);
+ #else
+  r1 := VCVersionInstalled(VC_2010_REDIST_X86);
+  r2 := VCVersionInstalled(VC_2010_SP1_REDIST_X86);
+ #endif
+  r3 := r1;
+#else
+ #ifdef WIN64
   r1 := VCVersionInstalled(VC_2008_REDIST_X64);
   r2 := VCVersionInstalled(VC_2008_SP1_REDIST_X64);
   r3 := VCVersionInstalled(VC_2008_SP1_MFC_SEC_UPD_REDIST_X64);
-#else
+ #else
   r1 := VCVersionInstalled(VC_2008_REDIST_X86);
   r2 := VCVersionInstalled(VC_2008_SP1_REDIST_X86_);
   r3 := VCVersionInstalled(VC_2008_SP1_MFC_SEC_UPD_REDIST_X86);
+ #endif
 #endif
   Result := not ((r1 and r2) or r3);
 end;
diff -r 89062a23f056 -r 97f0adcf6269 VisualMagick/installer/inc/files-dlls.isx
--- a/VisualMagick/installer/inc/files-dlls.isx	Sun Aug 20 21:03:30 2023 -0500
+++ b/VisualMagick/installer/inc/files-dlls.isx	Tue Aug 22 00:17:14 2023 +0200
@@ -1,6 +1,6 @@
 #ifdef COPYRIGHT
 ;
-; Copyright (C) 2003 - 2012 GraphicsMagick Group
+; Copyright (C) 2003 - 2023 GraphicsMagick Group
 ;
 ; This program is covered by multiple licenses, which are described in
 ; Copyright.txt. You should have received a copy of Copyright.txt with this
@@ -11,8 +11,12 @@
 ;#define  public MSVCRedist "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\redist"
 
 #ifdef WIN64
-  #define  public CPUARCH "amd64"
+ #define  public CPUARCH "amd64"
+ #ifdef VC_2010
+  Source: "redist\VC2010SP1\vcredist_x64.exe"; DestDir: "{tmp}"; Flags: deleteafterinstall; Check: VCRedistNeedsInstall
+ #else
   Source: "redist\VC2008SP1\vcredist_x64.exe"; DestDir: "{tmp}"; Flags: deleteafterinstall; Check: VCRedistNeedsInstall
+ #endif
 #else
   #define  public CPUARCH "x86"
   Source: "redist\VC2008SP1\vcredist_x86.exe"; DestDir: "{tmp}"; Flags: deleteafterinstall; Check: VCRedistNeedsInstall