From c5817cffb35432905f633573be90238b832d60b4 Mon Sep 17 00:00:00 2001 From: Jaex Date: Mon, 22 Jun 2015 08:56:30 +0300 Subject: [PATCH] Revert "Updated Modular InnoSetup Dependency Installer" This reverts commit 3f0c2179f22e98ae3606b49ecdf07bcf3cb54083. --- InnoSetup/Screen Capture Recorder setup.iss | 6 +-- InnoSetup/Scripts/isxdl/isxdl.iss | 2 + InnoSetup/Scripts/products/dotnetfx35.iss | 2 +- InnoSetup/Scripts/products/dotnetfx35lp.iss | 2 +- InnoSetup/Scripts/products/dotnetfx35sp1.iss | 2 +- .../Scripts/products/dotnetfx35sp1lp.iss | 2 +- .../Scripts/products/dotnetfx40client.iss | 6 +-- InnoSetup/Scripts/products/dotnetfx40full.iss | 4 +- InnoSetup/Scripts/products/dotnetfx45.iss | 28 ------------- .../Scripts/products/dotnetfxversion.iss | 20 +--------- InnoSetup/Scripts/products/kb835732.iss | 2 +- InnoSetup/Scripts/products/msiproduct.iss | 23 ----------- InnoSetup/Scripts/products/sql2005express.iss | 4 +- InnoSetup/Scripts/products/sql2008express.iss | 2 +- InnoSetup/Scripts/products/stringversion.iss | 9 +---- InnoSetup/Scripts/products/vcredist2005.iss | 39 ------------------- InnoSetup/Scripts/products/vcredist2008.iss | 39 ------------------- InnoSetup/Scripts/products/vcredist2010.iss | 31 +++++++++------ InnoSetup/Scripts/products/vcredist2012.iss | 34 ---------------- InnoSetup/Scripts/products/vcredist2013.iss | 34 ---------------- InnoSetup/Scripts/products/wic.iss | 2 +- InnoSetup/ShareX setup.iss | 6 +-- 22 files changed, 39 insertions(+), 260 deletions(-) delete mode 100644 InnoSetup/Scripts/products/dotnetfx45.iss delete mode 100644 InnoSetup/Scripts/products/msiproduct.iss delete mode 100644 InnoSetup/Scripts/products/vcredist2005.iss delete mode 100644 InnoSetup/Scripts/products/vcredist2008.iss delete mode 100644 InnoSetup/Scripts/products/vcredist2012.iss delete mode 100644 InnoSetup/Scripts/products/vcredist2013.iss diff --git a/InnoSetup/Screen Capture Recorder setup.iss b/InnoSetup/Screen Capture Recorder setup.iss index 4f618e315..ced341c21 100644 --- a/InnoSetup/Screen Capture Recorder setup.iss +++ b/InnoSetup/Screen Capture Recorder setup.iss @@ -23,19 +23,15 @@ Source: "..\Lib\screen-capture-recorder-x64.dll"; DestDir: {app}; Flags: regserv Source: "..\Lib\virtual-audio-capturer.dll"; DestDir: {app}; Flags: regserver 32bit; Check: IsAdminLoggedOn and not IsWin64 Source: "..\Lib\virtual-audio-capturer-x64.dll"; DestDir: {app}; Flags: regserver 64bit; Check: IsAdminLoggedOn and IsWin64 -[Code] -// Helper functions #include "Scripts\products.iss" #include "Scripts\products\stringversion.iss" #include "Scripts\products\winversion.iss" #include "Scripts\products\fileversion.iss" -#include "Scripts\products\msiproduct.iss" #include "Scripts\products\dotnetfxversion.iss" - -// Products #include "Scripts\products\msi31.iss" #include "Scripts\products\vcredist2010.iss" +[Code] function InitializeSetup(): Boolean; begin initwinversion(); diff --git a/InnoSetup/Scripts/isxdl/isxdl.iss b/InnoSetup/Scripts/isxdl/isxdl.iss index e0df16410..ab78d0d75 100644 --- a/InnoSetup/Scripts/isxdl/isxdl.iss +++ b/InnoSetup/Scripts/isxdl/isxdl.iss @@ -2,11 +2,13 @@ Source: "scripts\isxdl\isxdl.dll"; Flags: dontcopy [Code] +//replace PAnsiChar with PChar on non-unicode Inno Setup procedure isxdl_AddFile(URL, Filename: PAnsiChar); external 'isxdl_AddFile@files:isxdl.dll stdcall'; function isxdl_DownloadFiles(hWnd: Integer): Integer; external 'isxdl_DownloadFiles@files:isxdl.dll stdcall'; +//replace PAnsiChar with PChar on non-unicode Inno Setup function isxdl_SetOption(Option, Value: PAnsiChar): Integer; external 'isxdl_SetOption@files:isxdl.dll stdcall'; diff --git a/InnoSetup/Scripts/products/dotnetfx35.iss b/InnoSetup/Scripts/products/dotnetfx35.iss index c98ce6bc0..84fd2d0b6 100644 --- a/InnoSetup/Scripts/products/dotnetfx35.iss +++ b/InnoSetup/Scripts/products/dotnetfx35.iss @@ -16,7 +16,7 @@ const procedure dotnetfx35(); begin if (netfxinstalled(NetFx35, '') = false) then - AddProduct('dotnetfx35.exe', + AddProduct('dotnetfx35' + GetArchitectureString() + '.exe', '/lang:enu /passive /norestart', CustomMessage('dotnetfx35_title'), CustomMessage('dotnetfx35_size'), diff --git a/InnoSetup/Scripts/products/dotnetfx35lp.iss b/InnoSetup/Scripts/products/dotnetfx35lp.iss index e70577dd8..f3a5c8f17 100644 --- a/InnoSetup/Scripts/products/dotnetfx35lp.iss +++ b/InnoSetup/Scripts/products/dotnetfx35lp.iss @@ -14,7 +14,7 @@ procedure dotnetfx35lp(); begin if (ActiveLanguage() <> 'en') then begin if (not netfxinstalled(NetFx35, CustomMessage('dotnetfx35lp_lcid'))) then - AddProduct('dotnetfx35_' + ActiveLanguage() + '.exe', + AddProduct('dotnetfx35' + GetArchitectureString() + '_' + ActiveLanguage() + '.exe', '/lang:enu /passive /norestart', CustomMessage('dotnetfx35lp_title'), CustomMessage('dotnetfx35lp_size'), diff --git a/InnoSetup/Scripts/products/dotnetfx35sp1.iss b/InnoSetup/Scripts/products/dotnetfx35sp1.iss index 694a54ca9..933aff397 100644 --- a/InnoSetup/Scripts/products/dotnetfx35sp1.iss +++ b/InnoSetup/Scripts/products/dotnetfx35sp1.iss @@ -17,7 +17,7 @@ const procedure dotnetfx35sp1(); begin if (netfxspversion(NetFx35, '') < 1) then - AddProduct('dotnetfx35sp1.exe', + AddProduct('dotnetfx35sp1' + GetArchitectureString() + '.exe', '/lang:enu /passive /norestart', CustomMessage('dotnetfx35sp1_title'), CustomMessage('dotnetfx35sp1_size'), diff --git a/InnoSetup/Scripts/products/dotnetfx35sp1lp.iss b/InnoSetup/Scripts/products/dotnetfx35sp1lp.iss index c76b82551..015020a2a 100644 --- a/InnoSetup/Scripts/products/dotnetfx35sp1lp.iss +++ b/InnoSetup/Scripts/products/dotnetfx35sp1lp.iss @@ -14,7 +14,7 @@ procedure dotnetfx35sp1lp(); begin if (ActiveLanguage() <> 'en') then begin if (netfxspversion(NetFx35, CustomMessage('dotnetfx35sp1lp_lcid')) < 1) then - AddProduct('dotnetfx35sp1_' + ActiveLanguage() + '.exe', + AddProduct('dotnetfx35sp1' + GetArchitectureString() + '_' + ActiveLanguage() + '.exe', '/lang:enu /passive /norestart', CustomMessage('dotnetfx35sp1lp_title'), CustomMessage('dotnetfx35sp1lp_size'), diff --git a/InnoSetup/Scripts/products/dotnetfx40client.iss b/InnoSetup/Scripts/products/dotnetfx40client.iss index 2867d9652..476cb5fa2 100644 --- a/InnoSetup/Scripts/products/dotnetfx40client.iss +++ b/InnoSetup/Scripts/products/dotnetfx40client.iss @@ -10,8 +10,8 @@ dotnetfx40client_title=.NET Framework 4.0 Client dotnetfx40client_size=3 MB - 197 MB ;http://www.microsoft.com/globaldev/reference/lcid-all.mspx -en.dotnetfx40client_lcid= -de.dotnetfx40client_lcid=/lcid 1031 +en.dotnetfx40client_lcid='' +de.dotnetfx40client_lcid='/lcid 1031 ' [Code] @@ -22,7 +22,7 @@ procedure dotnetfx40client(); begin if (not netfxinstalled(NetFx40Client, '')) then AddProduct('dotNetFx40_Client_setup.exe', - CustomMessage('dotnetfx40client_lcid') + ' /passive /norestart', + CustomMessage('dotnetfx40client_lcid') + '/passive /norestart', CustomMessage('dotnetfx40client_title'), CustomMessage('dotnetfx40client_size'), dotnetfx40client_url, diff --git a/InnoSetup/Scripts/products/dotnetfx40full.iss b/InnoSetup/Scripts/products/dotnetfx40full.iss index e380b04bc..429ce3789 100644 --- a/InnoSetup/Scripts/products/dotnetfx40full.iss +++ b/InnoSetup/Scripts/products/dotnetfx40full.iss @@ -11,7 +11,7 @@ dotnetfx40full_size=3 MB - 197 MB ;http://www.microsoft.com/globaldev/reference/lcid-all.mspx en.dotnetfx40full_lcid= -de.dotnetfx40full_lcid=/lcid 1031 +de.dotnetfx40full_lcid='/lcid 1031 ' [Code] @@ -22,7 +22,7 @@ procedure dotnetfx40full(); begin if (not netfxinstalled(NetFx40Full, '')) then AddProduct('dotNetFx40_Full_setup.exe', - CustomMessage('dotnetfx40full_lcid') + ' /q /passive /norestart', + CustomMessage('dotnetfx40full_lcid') + '/passive /norestart', CustomMessage('dotnetfx40full_title'), CustomMessage('dotnetfx40full_size'), dotnetfx40full_url, diff --git a/InnoSetup/Scripts/products/dotnetfx45.iss b/InnoSetup/Scripts/products/dotnetfx45.iss deleted file mode 100644 index 58e81c559..000000000 --- a/InnoSetup/Scripts/products/dotnetfx45.iss +++ /dev/null @@ -1,28 +0,0 @@ -// requires Windows 7 Service Pack 1, Windows 8, Windows 8.1, Windows Server 2008 R2 SP1, Windows Server 2008 Service Pack 2, Windows Server 2012, Windows Server 2012 R2, Windows Vista Service Pack 2 -// WARNING: express setup (downloads and installs the components depending on your OS) if you want to deploy it on cd or network download the full bootsrapper on website below -// http://www.microsoft.com/en-us/download/details.aspx?id=42642 - -[CustomMessages] -dotnetfx45_title=.NET Framework 4.5.2 - -dotnetfx45_size=1 MB - 68 MB - -;http://www.microsoft.com/globaldev/reference/lcid-all.mspx -en.dotnetfx45_lcid= -de.dotnetfx45_lcid=/lcid 1031 - - -[Code] -const - dotnetfx45_url = 'http://download.microsoft.com/download/B/4/1/B4119C11-0423-477B-80EE-7A474314B347/NDP452-KB2901954-Web.exe'; - -procedure dotnetfx45(MinVersion: integer); -begin - if (not netfxinstalled(NetFx45, '') or (netfxspversion(NetFx45, '') < MinVersion)) then - AddProduct('dotnetfx45.exe', - CustomMessage('dotnetfx45_lcid') + ' /q /passive /norestart', - CustomMessage('dotnetfx45_title'), - CustomMessage('dotnetfx45_size'), - dotnetfx45_url, - false, false); -end; \ No newline at end of file diff --git a/InnoSetup/Scripts/products/dotnetfxversion.iss b/InnoSetup/Scripts/products/dotnetfxversion.iss index 807018501..4ec7c5c48 100644 --- a/InnoSetup/Scripts/products/dotnetfxversion.iss +++ b/InnoSetup/Scripts/products/dotnetfxversion.iss @@ -1,6 +1,6 @@ [Code] type - NetFXType = (NetFx10, NetFx11, NetFx20, NetFx30, NetFx35, NetFx40Client, NetFx40Full, NetFx45); + NetFXType = (NetFx10, NetFx11, NetFx20, NetFx30, NetFx35, NetFx40Client, NetFx40Full); const netfx11plus_reg = 'Software\Microsoft\NET Framework Setup\NDP\'; @@ -30,13 +30,6 @@ begin RegQueryDWordValue(HKLM, netfx11plus_reg + 'v4\Client' + lcid, 'Install', regVersion); NetFx40Full: RegQueryDWordValue(HKLM, netfx11plus_reg + 'v4\Full' + lcid, 'Install', regVersion); - NetFx45: - begin - RegQueryDWordValue(HKLM, netfx11plus_reg + 'v4\Full' + lcid, 'Release', regVersion); - // >= 4.5.0 and <= 4.5.2 - Result := (regVersion >= 378389) and (regVersion <= 379893); - Exit; - end; end; Result := (regVersion <> 0); end; @@ -71,17 +64,6 @@ begin NetFx40Full: if (not RegQueryDWordValue(HKLM, netfx11plus_reg + 'v4\Full' + lcid, 'Servicing', regVersion)) then regVersion := -1; - NetFx45: - if (RegQueryDWordValue(HKLM, netfx11plus_reg + 'v4\Full' + lcid, 'Release', regVersion)) then begin - if (regVersion = 379893) then - regVersion := 2 // 4.5.2 - else if (regVersion = 378675) or (regVersion = 378758) then - regVersion := 1 // 4.5.1 - else if (regVersion = 378389) then - regVersion := 0 // 4.5.0 - else - regVersion := -1; - end; end; Result := regVersion; end; diff --git a/InnoSetup/Scripts/products/kb835732.iss b/InnoSetup/Scripts/products/kb835732.iss index 55d30403b..f2de8a00c 100644 --- a/InnoSetup/Scripts/products/kb835732.iss +++ b/InnoSetup/Scripts/products/kb835732.iss @@ -19,7 +19,7 @@ begin if (exactwinversion(5, 0) and (minwinspversion(5, 0, 2) and maxwinspversion(5, 0, 4))) then begin if (not RegKeyExists(HKLM, 'SOFTWARE\Microsoft\Updates\Windows 2000\SP5\KB835732\Filelist')) then AddProduct('kb835732.exe', - '/passive /norestart', + '/q:a /c:"install /q"', CustomMessage('kb835732_title'), CustomMessage('kb835732_size'), kb835732_url, diff --git a/InnoSetup/Scripts/products/msiproduct.iss b/InnoSetup/Scripts/products/msiproduct.iss deleted file mode 100644 index 99b98d13a..000000000 --- a/InnoSetup/Scripts/products/msiproduct.iss +++ /dev/null @@ -1,23 +0,0 @@ -[Code] -#IFDEF UNICODE - #DEFINE AW "W" -#ELSE - #DEFINE AW "A" -#ENDIF - -type - INSTALLSTATE = Longint; -const - INSTALLSTATE_INVALIDARG = -2; // An invalid parameter was passed to the function. - INSTALLSTATE_UNKNOWN = -1; // The product is neither advertised or installed. - INSTALLSTATE_ADVERTISED = 1; // The product is advertised but not installed. - INSTALLSTATE_ABSENT = 2; // The product is installed for a different user. - INSTALLSTATE_DEFAULT = 5; // The product is installed for the current user. - -function MsiQueryProductState(szProduct: string): INSTALLSTATE; -external 'MsiQueryProductState{#AW}@msi.dll stdcall'; - -function msiproduct(const ProductID: string): boolean; -begin - Result := MsiQueryProductState(ProductID) = INSTALLSTATE_DEFAULT; -end; diff --git a/InnoSetup/Scripts/products/sql2005express.iss b/InnoSetup/Scripts/products/sql2005express.iss index b61785b65..c08ae175d 100644 --- a/InnoSetup/Scripts/products/sql2005express.iss +++ b/InnoSetup/Scripts/products/sql2005express.iss @@ -26,12 +26,12 @@ begin //RTM: 9.00.1399.06 //Service Pack 1: 9.1.2047.00 //Service Pack 2: 9.2.3042.00 - // TODO: Newer detection method required for SP3 and x64 + // Newer detection method required for SP3 and x64 //Service Pack 3: 9.00.4035.00 //RegQueryDWordValue(HKLM, 'Software\Microsoft\Microsoft SQL Server\90\DTS\Setup', 'Install', version); RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Microsoft SQL Server\SQLEXPRESS\MSSQLServer\CurrentVersion', 'CurrentVersion', version); if (version < '9.00.4035') then begin - if (not IsIA64()) then + if (not isIA64()) then AddProduct('sql2005express' + GetArchitectureString() + '.exe', '/qb ADDLOCAL=ALL INSTANCENAME=SQLEXPRESS', CustomMessage('sql2005express_title'), diff --git a/InnoSetup/Scripts/products/sql2008express.iss b/InnoSetup/Scripts/products/sql2008express.iss index 183b2bf25..b5601cfcc 100644 --- a/InnoSetup/Scripts/products/sql2008express.iss +++ b/InnoSetup/Scripts/products/sql2008express.iss @@ -28,7 +28,7 @@ begin // making Express unnecessary. RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Microsoft SQL Server\SQLEXPRESS\MSSQLServer\CurrentVersion', 'CurrentVersion', version); if (compareversion(version, '10.5') < 0) then begin - if (not IsIA64()) then + if (not isIA64()) then AddProduct('sql2008expressr2' + GetArchitectureString() + '.exe', '/QS /IACCEPTSQLSERVERLICENSETERMS /ACTION=Install /FEATURES=All /INSTANCENAME=SQLEXPRESS /SQLSVCACCOUNT="NT AUTHORITY\Network Service" /SQLSYSADMINACCOUNTS="builtin\administrators"', CustomMessage('sql2008expressr2_title'), diff --git a/InnoSetup/Scripts/products/stringversion.iss b/InnoSetup/Scripts/products/stringversion.iss index ae4a4868c..365586916 100644 --- a/InnoSetup/Scripts/products/stringversion.iss +++ b/InnoSetup/Scripts/products/stringversion.iss @@ -27,18 +27,11 @@ var begin num1 := stringtoversion(x); num2 := stringtoversion(y); - if (num1 = -1) and (num2 = -1) then begin + if (num1 = -1) or (num2 = -1) then begin Result := 0; Exit; end; - if (num1 < 0) then begin - num1 := 0; - end; - if (num2 < 0) then begin - num2 := 0; - end; - if (num1 < num2) then begin Result := -1; end else if (num1 > num2) then begin diff --git a/InnoSetup/Scripts/products/vcredist2005.iss b/InnoSetup/Scripts/products/vcredist2005.iss deleted file mode 100644 index 5d910f9ca..000000000 --- a/InnoSetup/Scripts/products/vcredist2005.iss +++ /dev/null @@ -1,39 +0,0 @@ -// requires Windows 2000 Service Pack 3, Windows 98, Windows 98 Second Edition, Windows ME, Windows Server 2003, Windows XP Service Pack 2 -// requires Windows Installer 3.0 -// http://www.microsoft.com/en-us/download/details.aspx?id=3387 - -[CustomMessages] -vcredist2005_title=Visual C++ 2005 Redistributable -vcredist2005_title_x64=Visual C++ 2005 64-Bit Redistributable -vcredist2005_title_ia64=Visual C++ 2005 Itanium Redistributable - -en.vcredist2005_size=2.6 MB -de.vcredist2005_size=2,6 MB - -en.vcredist2005_size_x64=4.1 MB -de.vcredist2005_size_x64=4,1 MB - -en.vcredist2005_size_ia64=8.8 MB -de.vcredist2005_size_ia64=8,8 MB - - -[Code] -const - vcredist2005_url = 'http://download.microsoft.com/download/d/3/4/d342efa6-3266-4157-a2ec-5174867be706/vcredist_x86.exe'; - vcredist2005_url_x64 = 'http://download.microsoft.com/download/9/1/4/914851c6-9141-443b-bdb4-8bad3a57bea9/vcredist_x64.exe'; - vcredist2005_url_ia64 = 'http://download.microsoft.com/download/8/1/6/816129e4-7f2f-4ba6-b065-684223e2fe1e/vcredist_IA64.exe'; - - vcredist2005_productcode = '{A49F249F-0C91-497F-86DF-B2585E8E76B7}'; - vcredist2005_productcode_x64 = '{6E8E85E8-CE4B-4FF5-91F7-04999C9FAE6A}'; - vcredist2005_productcode_ia64 = '{03ED71EA-F531-4927-AABD-1C31BCE8E187}'; - -procedure vcredist2005(); -begin - if (not msiproduct(GetString(vcredist2005_productcode, vcredist2005_productcode_x64, vcredist2005_productcode_ia64))) then - AddProduct('vcredist2005' + GetArchitectureString() + '.exe', - '/q:a /c:"install /qb /l', - CustomMessage('vcredist2005_title' + GetArchitectureString()), - CustomMessage('vcredist2005_size' + GetArchitectureString()), - GetString(vcredist2005_url, vcredist2005_url_x64, vcredist2005_url_ia64), - false, false); -end; diff --git a/InnoSetup/Scripts/products/vcredist2008.iss b/InnoSetup/Scripts/products/vcredist2008.iss deleted file mode 100644 index 556149600..000000000 --- a/InnoSetup/Scripts/products/vcredist2008.iss +++ /dev/null @@ -1,39 +0,0 @@ -// requires Windows 2000 Service Pack 4, Windows Server 2003, Windows Vista, Windows XP -// requires Windows Installer 3.0 -// http://www.microsoft.com/en-us/download/details.aspx?id=29 - -[CustomMessages] -vcredist2008_title=Visual C++ 2008 Redistributable -vcredist2008_title_x64=Visual C++ 2008 64-Bit Redistributable -vcredist2008_title_ia64=Visual C++ 2008 Itanium Redistributable - -en.vcredist2008_size=1.7 MB -de.vcredist2008_size=1,7 MB - -en.vcredist2008_size_x64=2.3 MB -de.vcredist2008_size_x64=2,3 MB - -en.vcredist2008_size_ia64=4.0 MB -de.vcredist2008_size_ia64=4,0 MB - - -[Code] -const - vcredist2008_url = 'http://download.microsoft.com/download/1/1/1/1116b75a-9ec3-481a-a3c8-1777b5381140/vcredist_x86.exe'; - vcredist2008_url_x64 = 'http://download.microsoft.com/download/d/2/4/d242c3fb-da5a-4542-ad66-f9661d0a8d19/vcredist_x64.exe'; - vcredist2008_url_ia64 = 'http://download.microsoft.com/download/a/1/a/a1a4996b-ed78-4c2b-9589-8edd81b8df39/vcredist_IA64.exe'; - - vcredist2008_productcode = '{FF66E9F6-83E7-3A3E-AF14-8DE9A809A6A4}'; - vcredist2008_productcode_x64 = '{350AA351-21FA-3270-8B7A-835434E766AD}'; - vcredist2008_productcode_ia64 = '{2B547B43-DB50-3139-9EBE-37D419E0F5FA}'; - -procedure vcredist2008(); -begin - if (not msiproduct(GetString(vcredist2008_productcode, vcredist2008_productcode_x64, vcredist2008_productcode_ia64))) then - AddProduct('vcredist2008' + GetArchitectureString() + '.exe', - '/q', - CustomMessage('vcredist2008_title' + GetArchitectureString()), - CustomMessage('vcredist2008_size' + GetArchitectureString()), - GetString(vcredist2008_url, vcredist2008_url_x64, vcredist2008_url_ia64), - false, false); -end; diff --git a/InnoSetup/Scripts/products/vcredist2010.iss b/InnoSetup/Scripts/products/vcredist2010.iss index 7afdeca74..89ddf80e7 100644 --- a/InnoSetup/Scripts/products/vcredist2010.iss +++ b/InnoSetup/Scripts/products/vcredist2010.iss @@ -1,10 +1,10 @@ -// requires Windows 7, Windows Server 2003 R2 (32-Bit x86), Windows Server 2003 Service Pack 2, Windows Server 2008 R2, Windows Server 2008 Service Pack 2, Windows Vista Service Pack 2, Windows XP Service Pack 3 -// http://www.microsoft.com/en-us/download/details.aspx?id=5555 +// requires Windows 7, Windows 7 Service Pack 1, Windows Server 2003 Service Pack 2, Windows Server 2008, Windows Server 2008 R2, Windows Server 2008 R2 SP1, Windows Vista Service Pack 1, Windows XP Service Pack 3 +// requires Windows Installer 3.1 or later +// requires Internet Explorer 5.01 or later +// http://www.microsoft.com/downloads/en/details.aspx?FamilyID=9cfb2d51-5ff4-4491-b0e5-b386f32c0992 [CustomMessages] vcredist2010_title=Visual C++ 2010 Redistributable -vcredist2010_title_x64=Visual C++ 2010 64-Bit Redistributable -vcredist2010_title_ia64=Visual C++ 2010 Itanium Redistributable en.vcredist2010_size=4.8 MB de.vcredist2010_size=4,8 MB @@ -15,6 +15,10 @@ de.vcredist2010_size_x64=5,5 MB en.vcredist2010_size_ia64=2.2 MB de.vcredist2010_size_ia64=2,2 MB +;http://www.microsoft.com/globaldev/reference/lcid-all.mspx +en.vcredist2010_lcid= +de.vcredist2010_lcid='/lcid 1031 ' + [Code] const @@ -22,17 +26,20 @@ const vcredist2010_url_x64 = 'http://download.microsoft.com/download/3/2/2/3224B87F-CFA0-4E70-BDA3-3DE650EFEBA5/vcredist_x64.exe'; vcredist2010_url_ia64 = 'http://download.microsoft.com/download/3/3/A/33A75193-2CBC-424E-A886-287551FF1EB5/vcredist_IA64.exe'; - vcredist2010_productcode = '{196BB40D-1578-3D01-B289-BEFC77A11A1E}'; - vcredist2010_productcode_x64 = '{DA5E371C-6333-3D8A-93A4-6FD5B20BCC6E}'; - vcredist2010_productcode_ia64 = '{C1A35166-4301-38E9-BA67-02823AD72A1B}'; - procedure vcredist2010(); +var + version: cardinal; begin - if (not msiproduct(GetString(vcredist2010_productcode, vcredist2010_productcode_x64, vcredist2010_productcode_ia64))) then + RegQueryDWordValue(HKLM, 'SOFTWARE\Microsoft\VisualStudio\10.0\VC\VCRedist\' + GetString('x86', 'x64', 'ia64'), 'Installed', version); + + if ((version <> 1)) then + RegQueryDWordValue(HKLM, 'SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0\VC\VCRedist\' + GetString('x86', 'x64', 'ia64'), 'Installed', version); + + if ((version <> 1)) then AddProduct('vcredist2010' + GetArchitectureString() + '.exe', - '/q /norestart', - CustomMessage('vcredist2010_title' + GetArchitectureString()), + CustomMessage('vcredist2010_lcid') + '/passive /norestart', + CustomMessage('vcredist2010_title'), CustomMessage('vcredist2010_size' + GetArchitectureString()), GetString(vcredist2010_url, vcredist2010_url_x64, vcredist2010_url_ia64), false, false); -end; +end; \ No newline at end of file diff --git a/InnoSetup/Scripts/products/vcredist2012.iss b/InnoSetup/Scripts/products/vcredist2012.iss deleted file mode 100644 index 7391843b0..000000000 --- a/InnoSetup/Scripts/products/vcredist2012.iss +++ /dev/null @@ -1,34 +0,0 @@ -// requires Windows 7 Service Pack 1, Windows 8, Windows 8.1, Windows Server 2003, Windows Server 2008 R2 SP1, Windows Server 2008 Service Pack 2, Windows Server 2012, Windows Vista Service Pack 2, Windows XP -// http://www.microsoft.com/en-us/download/details.aspx?id=30679 - -[CustomMessages] -vcredist2012_title=Visual C++ 2012 Redistributable -vcredist2012_title_x64=Visual C++ 2012 64-Bit Redistributable - -en.vcredist2012_size=6.3 MB -de.vcredist2012_size=6,3 MB - -en.vcredist2012_size_x64=6.4 MB -de.vcredist2012_size_x64=6,4 MB - - -[Code] -const - vcredist2012_url = 'http://download.microsoft.com/download/1/6/B/16B06F60-3B20-4FF2-B699-5E9B7962F9AE/VSU_4/vcredist_x86.exe'; - vcredist2012_url_x64 = 'http://download.microsoft.com/download/1/6/B/16B06F60-3B20-4FF2-B699-5E9B7962F9AE/VSU_4/vcredist_x64.exe'; - - vcredist2012_productcode = '{BD95A8CD-1D9F-35AD-981A-3E7925026EBB}'; - vcredist2012_productcode_x64 = '{CF2BEA3C-26EA-32F8-AA9B-331F7E34BA97}'; - -procedure vcredist2012(); -begin - if (not IsIA64()) then begin - if (not msiproduct(GetString(vcredist2012_productcode, vcredist2012_productcode_x64, ''))) then - AddProduct('vcredist2012' + GetArchitectureString() + '.exe', - '/passive /norestart', - CustomMessage('vcredist2012_title' + GetArchitectureString()), - CustomMessage('vcredist2012_size' + GetArchitectureString()), - GetString(vcredist2012_url, vcredist2012_url_x64, ''), - false, false); - end; -end; diff --git a/InnoSetup/Scripts/products/vcredist2013.iss b/InnoSetup/Scripts/products/vcredist2013.iss deleted file mode 100644 index ff9155a6c..000000000 --- a/InnoSetup/Scripts/products/vcredist2013.iss +++ /dev/null @@ -1,34 +0,0 @@ -// requires Windows 7 Service Pack 1, Windows 8, Windows 8.1, Windows Server 2003, Windows Server 2008 R2 SP1, Windows Server 2008 Service Pack 2, Windows Server 2012, Windows Server 2012 R2, Windows Vista Service Pack 2, Windows XP -// http://www.microsoft.com/en-US/download/details.aspx?id=40784 - -[CustomMessages] -vcredist2013_title=Visual C++ 2013 Redistributable -vcredist2013_title_x64=Visual C++ 2013 64-Bit Redistributable - -en.vcredist2013_size=6.2 MB -de.vcredist2013_size=6,2 MB - -en.vcredist2013_size_x64=6.9 MB -de.vcredist2013_size_x64=6,9 MB - - -[Code] -const - vcredist2013_url = 'http://download.microsoft.com/download/2/E/6/2E61CFA4-993B-4DD4-91DA-3737CD5CD6E3/vcredist_x86.exe'; - vcredist2013_url_x64 = 'http://download.microsoft.com/download/2/E/6/2E61CFA4-993B-4DD4-91DA-3737CD5CD6E3/vcredist_x64.exe'; - - vcredist2013_productcode = '{13A4EE12-23EA-3371-91EE-EFB36DDFFF3E}'; - vcredist2013_productcode_x64 = '{A749D8E6-B613-3BE3-8F5F-045C84EBA29B}'; - -procedure vcredist2013(); -begin - if (not IsIA64()) then begin - if (not msiproduct(GetString(vcredist2013_productcode, vcredist2013_productcode_x64, ''))) then - AddProduct('vcredist2013' + GetArchitectureString() + '.exe', - '/passive /norestart', - CustomMessage('vcredist2013_title' + GetArchitectureString()), - CustomMessage('vcredist2013_size' + GetArchitectureString()), - GetString(vcredist2013_url, vcredist2013_url_x64, ''), - false, false); - end; -end; diff --git a/InnoSetup/Scripts/products/wic.iss b/InnoSetup/Scripts/products/wic.iss index 9dae69ea3..14eb6a846 100644 --- a/InnoSetup/Scripts/products/wic.iss +++ b/InnoSetup/Scripts/products/wic.iss @@ -40,7 +40,7 @@ end; procedure wic(); begin - if (not IsIA64()) then begin + if (not isIA64()) then begin //only needed on Windows XP SP2 or Windows Server 2003 if ((exactwinversion(5, 1) and exactwinspversion(5, 1, 2)) or (exactwinversion(5, 2))) then begin if (not FileExists(GetEnv('windir') + '\system32\windowscodecs.dll')) then diff --git a/InnoSetup/ShareX setup.iss b/InnoSetup/ShareX setup.iss index f8c0a0ce9..707c1a183 100644 --- a/InnoSetup/ShareX setup.iss +++ b/InnoSetup/ShareX setup.iss @@ -87,19 +87,15 @@ Root: "HKCU"; Subkey: "Software\Classes\*\shell\{#MyAppName}"; Flags: dontcreate Root: "HKCU"; Subkey: "Software\Classes\Directory\shell\{#MyAppName}"; Flags: dontcreatekey uninsdeletekey Root: "HKCU"; Subkey: "Software\Classes\Folder\shell\{#MyAppName}"; Flags: dontcreatekey uninsdeletekey -[Code] -// Helper functions #include "Scripts\products.iss" #include "Scripts\products\stringversion.iss" #include "Scripts\products\winversion.iss" #include "Scripts\products\fileversion.iss" -#include "Scripts\products\msiproduct.iss" #include "Scripts\products\dotnetfxversion.iss" - -// Products #include "Scripts\products\msi31.iss" #include "Scripts\products\dotnetfx40full.iss" +[Code] procedure InitializeWizard; begin WizardForm.LicenseAcceptedRadio.Checked := true;