mirror of
				https://github.com/notepad-plus-plus/notepad-plus-plus.git
				synced 2025-10-31 11:34:05 +01:00 
			
		
		
		
	go to notepad-plus-plus\PowerEditor\Test\FunctionList directory then launch the following commands: powershell ./unitTestLauncher.ps1
		
			
				
	
	
		
			394 lines
		
	
	
		
			9.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			394 lines
		
	
	
		
			9.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| ;contribute: http://github.com/stfx/innodependencyinstaller
 | |
| ;original article: http://codeproject.com/Articles/20868/NET-Framework-1-1-2-0-3-5-Installer-for-InnoSetup
 | |
| 
 | |
| ;comment out product defines to disable installing them
 | |
| ;#define use_iis
 | |
| #define use_kb835732
 | |
| 
 | |
| #define use_msi20
 | |
| #define use_msi31
 | |
| #define use_msi45
 | |
| 
 | |
| #define use_ie6
 | |
| 
 | |
| #define use_dotnetfx11
 | |
| #define use_dotnetfx11lp
 | |
| 
 | |
| #define use_dotnetfx20
 | |
| #define use_dotnetfx20lp
 | |
| 
 | |
| #define use_dotnetfx35
 | |
| #define use_dotnetfx35lp
 | |
| 
 | |
| #define use_dotnetfx40
 | |
| #define use_wic
 | |
| 
 | |
| #define use_dotnetfx45
 | |
| #define use_dotnetfx46
 | |
| #define use_dotnetfx47
 | |
| 
 | |
| #define use_msiproduct
 | |
| #define use_vc2005
 | |
| #define use_vc2008
 | |
| #define use_vc2010
 | |
| #define use_vc2012
 | |
| #define use_vc2013
 | |
| #define use_vc2015
 | |
| #define use_vc2017
 | |
| 
 | |
| ;requires dxwebsetup.exe in src dir
 | |
| ;#define use_directxruntime
 | |
| 
 | |
| #define use_mdac28
 | |
| #define use_jet4sp8
 | |
| 
 | |
| #define use_sqlcompact35sp2
 | |
| 
 | |
| #define use_sql2005express
 | |
| #define use_sql2008express
 | |
| 
 | |
| #define MyAppSetupName 'MyProgram'
 | |
| #define MyAppVersion '6.0'
 | |
| 
 | |
| [Setup]
 | |
| AppName={#MyAppSetupName}
 | |
| AppVersion={#MyAppVersion}
 | |
| AppVerName={#MyAppSetupName} {#MyAppVersion}
 | |
| AppCopyright=Copyright © 2007-2017 stfx
 | |
| VersionInfoVersion={#MyAppVersion}
 | |
| VersionInfoCompany=stfx
 | |
| AppPublisher=stfx
 | |
| ;AppPublisherURL=http://...
 | |
| ;AppSupportURL=http://...
 | |
| ;AppUpdatesURL=http://...
 | |
| OutputBaseFilename={#MyAppSetupName}-{#MyAppVersion}
 | |
| DefaultGroupName={#MyAppSetupName}
 | |
| DefaultDirName={pf}\{#MyAppSetupName}
 | |
| UninstallDisplayIcon={app}\MyProgram.exe
 | |
| OutputDir=bin
 | |
| SourceDir=.
 | |
| AllowNoIcons=yes
 | |
| ;SetupIconFile=MyProgramIcon
 | |
| SolidCompression=yes
 | |
| 
 | |
| ;MinVersion default value: "0,5.0 (Windows 2000+) if Unicode Inno Setup, else 4.0,4.0 (Windows 95+)"
 | |
| ;MinVersion=0,5.0
 | |
| PrivilegesRequired=admin
 | |
| ArchitecturesAllowed=x86 x64 ia64
 | |
| ArchitecturesInstallIn64BitMode=x64 ia64
 | |
| 
 | |
| ; downloading and installing dependencies will only work if the memo/ready page is enabled (default and current behaviour)
 | |
| DisableReadyPage=no
 | |
| DisableReadyMemo=no
 | |
| 
 | |
| ; supported languages
 | |
| #include "scripts\lang\english.iss"
 | |
| #include "scripts\lang\german.iss"
 | |
| #include "scripts\lang\french.iss"
 | |
| #include "scripts\lang\italian.iss"
 | |
| #include "scripts\lang\dutch.iss"
 | |
| 
 | |
| #ifdef UNICODE
 | |
| #include "scripts\lang\chinese.iss"
 | |
| #include "scripts\lang\polish.iss"
 | |
| #include "scripts\lang\russian.iss"
 | |
| #include "scripts\lang\japanese.iss"
 | |
| #endif
 | |
| 
 | |
| [Tasks]
 | |
| Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"
 | |
| Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
 | |
| 
 | |
| [Files]
 | |
| Source: "src\MyProgram-x64.exe"; DestDir: "{app}"; DestName: "MyProgram.exe"; Check: IsX64
 | |
| Source: "src\MyProgram-IA64.exe"; DestDir: "{app}"; DestName: "MyProgram.exe"; Check: IsIA64
 | |
| Source: "src\MyProgram.exe"; DestDir: "{app}"; Check: not Is64BitInstallMode
 | |
| 
 | |
| [Icons]
 | |
| Name: "{group}\{#MyAppSetupName}"; Filename: "{app}\MyProgram.exe"
 | |
| Name: "{group}\{cm:UninstallProgram,{#MyAppSetupName}}"; Filename: "{uninstallexe}"
 | |
| Name: "{commondesktop}\{#MyAppSetupName}"; Filename: "{app}\MyProgram.exe"; Tasks: desktopicon
 | |
| Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppSetupName}"; Filename: "{app}\MyProgram.exe"; Tasks: quicklaunchicon
 | |
| 
 | |
| [Run]
 | |
| Filename: "{app}\MyProgram.exe"; Description: "{cm:LaunchProgram,{#MyAppSetupName}}"; Flags: nowait postinstall skipifsilent
 | |
| 
 | |
| [CustomMessages]
 | |
| DependenciesDir=MyProgramDependencies
 | |
| WindowsServicePack=Windows %1 Service Pack %2
 | |
| 
 | |
| ; shared code for installing the products
 | |
| #include "scripts\products.iss"
 | |
| 
 | |
| ; helper functions
 | |
| #include "scripts\products\stringversion.iss"
 | |
| #include "scripts\products\winversion.iss"
 | |
| #include "scripts\products\fileversion.iss"
 | |
| #include "scripts\products\dotnetfxversion.iss"
 | |
| 
 | |
| ; actual products
 | |
| #ifdef use_iis
 | |
| #include "scripts\products\iis.iss"
 | |
| #endif
 | |
| 
 | |
| #ifdef use_kb835732
 | |
| #include "scripts\products\kb835732.iss"
 | |
| #endif
 | |
| 
 | |
| #ifdef use_msi20
 | |
| #include "scripts\products\msi20.iss"
 | |
| #endif
 | |
| #ifdef use_msi31
 | |
| #include "scripts\products\msi31.iss"
 | |
| #endif
 | |
| #ifdef use_msi45
 | |
| #include "scripts\products\msi45.iss"
 | |
| #endif
 | |
| 
 | |
| #ifdef use_ie6
 | |
| #include "scripts\products\ie6.iss"
 | |
| #endif
 | |
| 
 | |
| #ifdef use_dotnetfx11
 | |
| #include "scripts\products\dotnetfx11.iss"
 | |
| #include "scripts\products\dotnetfx11sp1.iss"
 | |
| #ifdef use_dotnetfx11lp
 | |
| #include "scripts\products\dotnetfx11lp.iss"
 | |
| #endif
 | |
| #endif
 | |
| 
 | |
| #ifdef use_dotnetfx20
 | |
| #include "scripts\products\dotnetfx20.iss"
 | |
| #include "scripts\products\dotnetfx20sp1.iss"
 | |
| #include "scripts\products\dotnetfx20sp2.iss"
 | |
| #ifdef use_dotnetfx20lp
 | |
| #include "scripts\products\dotnetfx20lp.iss"
 | |
| #include "scripts\products\dotnetfx20sp1lp.iss"
 | |
| #include "scripts\products\dotnetfx20sp2lp.iss"
 | |
| #endif
 | |
| #endif
 | |
| 
 | |
| #ifdef use_dotnetfx35
 | |
| ;#include "scripts\products\dotnetfx35.iss"
 | |
| #include "scripts\products\dotnetfx35sp1.iss"
 | |
| #ifdef use_dotnetfx35lp
 | |
| ;#include "scripts\products\dotnetfx35lp.iss"
 | |
| #include "scripts\products\dotnetfx35sp1lp.iss"
 | |
| #endif
 | |
| #endif
 | |
| 
 | |
| #ifdef use_dotnetfx40
 | |
| #include "scripts\products\dotnetfx40client.iss"
 | |
| #include "scripts\products\dotnetfx40full.iss"
 | |
| #endif
 | |
| 
 | |
| #ifdef use_dotnetfx45
 | |
| #include "scripts\products\dotnetfx45.iss"
 | |
| #endif
 | |
| 
 | |
| #ifdef use_dotnetfx46
 | |
| #include "scripts\products\dotnetfx46.iss"
 | |
| #endif
 | |
| 
 | |
| #ifdef use_dotnetfx47
 | |
| #include "scripts\products\dotnetfx47.iss"
 | |
| #endif
 | |
| 
 | |
| #ifdef use_wic
 | |
| #include "scripts\products\wic.iss"
 | |
| #endif
 | |
| 
 | |
| #ifdef use_msiproduct
 | |
| #include "scripts\products\msiproduct.iss"
 | |
| #endif
 | |
| #ifdef use_vc2005
 | |
| #include "scripts\products\vcredist2005.iss"
 | |
| #endif
 | |
| #ifdef use_vc2008
 | |
| #include "scripts\products\vcredist2008.iss"
 | |
| #endif
 | |
| #ifdef use_vc2010
 | |
| #include "scripts\products\vcredist2010.iss"
 | |
| #endif
 | |
| #ifdef use_vc2012
 | |
| #include "scripts\products\vcredist2012.iss"
 | |
| #endif
 | |
| #ifdef use_vc2013
 | |
| #include "scripts\products\vcredist2013.iss"
 | |
| #endif
 | |
| #ifdef use_vc2015
 | |
| #include "scripts\products\vcredist2015.iss"
 | |
| #endif
 | |
| #ifdef use_vc2017
 | |
| #include "scripts\products\vcredist2017.iss"
 | |
| #endif
 | |
| 
 | |
| #ifdef use_directxruntime
 | |
| #include "scripts\products\directxruntime.iss"
 | |
| #endif
 | |
| 
 | |
| #ifdef use_mdac28
 | |
| #include "scripts\products\mdac28.iss"
 | |
| #endif
 | |
| #ifdef use_jet4sp8
 | |
| #include "scripts\products\jet4sp8.iss"
 | |
| #endif
 | |
| 
 | |
| #ifdef use_sqlcompact35sp2
 | |
| #include "scripts\products\sqlcompact35sp2.iss"
 | |
| #endif
 | |
| 
 | |
| #ifdef use_sql2005express
 | |
| #include "scripts\products\sql2005express.iss"
 | |
| #endif
 | |
| #ifdef use_sql2008express
 | |
| #include "scripts\products\sql2008express.iss"
 | |
| #endif
 | |
| 
 | |
| [Code]
 | |
| function InitializeSetup(): boolean;
 | |
| begin
 | |
| 	// initialize windows version
 | |
| 	initwinversion();
 | |
| 
 | |
| #ifdef use_iis
 | |
| 	if (not iis()) then exit;
 | |
| #endif
 | |
| 
 | |
| #ifdef use_msi20
 | |
| 	msi20('2.0'); // min allowed version is 2.0
 | |
| #endif
 | |
| #ifdef use_msi31
 | |
| 	msi31('3.1'); // min allowed version is 3.1
 | |
| #endif
 | |
| #ifdef use_msi45
 | |
| 	msi45('4.5'); // min allowed version is 4.5
 | |
| #endif
 | |
| #ifdef use_ie6
 | |
| 	ie6('5.0.2919'); // min allowed version is 5.0.2919
 | |
| #endif
 | |
| 
 | |
| #ifdef use_dotnetfx11
 | |
| 	dotnetfx11();
 | |
| #ifdef use_dotnetfx11lp
 | |
| 	dotnetfx11lp();
 | |
| #endif
 | |
| 	dotnetfx11sp1();
 | |
| #endif
 | |
| 
 | |
| 	// install .netfx 2.0 sp2 if possible; if not sp1 if possible; if not .netfx 2.0
 | |
| #ifdef use_dotnetfx20
 | |
| 	// check if .netfx 2.0 can be installed on this OS
 | |
| 	if not minwinspversion(5, 0, 3) then begin
 | |
| 		MsgBox(FmtMessage(CustomMessage('depinstall_missing'), [FmtMessage(CustomMessage('WindowsServicePack'), ['2000', '3'])]), mbError, MB_OK);
 | |
| 		exit;
 | |
| 	end;
 | |
| 	if not minwinspversion(5, 1, 2) then begin
 | |
| 		MsgBox(FmtMessage(CustomMessage('depinstall_missing'), [FmtMessage(CustomMessage('WindowsServicePack'), ['XP', '2'])]), mbError, MB_OK);
 | |
| 		exit;
 | |
| 	end;
 | |
| 
 | |
| 	if minwinversion(5, 1) then begin
 | |
| 		dotnetfx20sp2();
 | |
| #ifdef use_dotnetfx20lp
 | |
| 		dotnetfx20sp2lp();
 | |
| #endif
 | |
| 	end else begin
 | |
| 		if minwinversion(5, 0) and minwinspversion(5, 0, 4) then begin
 | |
| #ifdef use_kb835732
 | |
| 			kb835732();
 | |
| #endif
 | |
| 			dotnetfx20sp1();
 | |
| #ifdef use_dotnetfx20lp
 | |
| 			dotnetfx20sp1lp();
 | |
| #endif
 | |
| 		end else begin
 | |
| 			dotnetfx20();
 | |
| #ifdef use_dotnetfx20lp
 | |
| 			dotnetfx20lp();
 | |
| #endif
 | |
| 		end;
 | |
| 	end;
 | |
| #endif
 | |
| 
 | |
| #ifdef use_dotnetfx35
 | |
| 	//dotnetfx35();
 | |
| 	dotnetfx35sp1();
 | |
| #ifdef use_dotnetfx35lp
 | |
| 	//dotnetfx35lp();
 | |
| 	dotnetfx35sp1lp();
 | |
| #endif
 | |
| #endif
 | |
| 
 | |
| #ifdef use_wic
 | |
| 	wic();
 | |
| #endif
 | |
| 
 | |
| 	// if no .netfx 4.0 is found, install the client (smallest)
 | |
| #ifdef use_dotnetfx40
 | |
| 	if (not netfxinstalled(NetFx40Client, '') and not netfxinstalled(NetFx40Full, '')) then
 | |
| 		dotnetfx40client();
 | |
| #endif
 | |
| 
 | |
| #ifdef use_dotnetfx45
 | |
| 	dotnetfx45(50); // min allowed version is 4.5.0
 | |
| #endif
 | |
| 
 | |
| #ifdef use_dotnetfx46
 | |
| 	dotnetfx46(50); // min allowed version is 4.5.0
 | |
| #endif
 | |
| 
 | |
| #ifdef use_dotnetfx47
 | |
| 	dotnetfx47(50); // min allowed version is 4.5.0
 | |
| #endif
 | |
| 
 | |
| #ifdef use_vc2005
 | |
| 	vcredist2005('6'); // min allowed version is 6.0
 | |
| #endif
 | |
| #ifdef use_vc2008
 | |
| 	vcredist2008('9'); // min allowed version is 9.0
 | |
| #endif
 | |
| #ifdef use_vc2010
 | |
| 	vcredist2010('10'); // min allowed version is 10.0
 | |
| #endif
 | |
| #ifdef use_vc2012
 | |
| 	vcredist2012('11'); // min allowed version is 11.0
 | |
| #endif
 | |
| #ifdef use_vc2013
 | |
| 	//SetForceX86(true); // force 32-bit install of next products
 | |
| 	vcredist2013('12'); // min allowed version is 12.0
 | |
| 	//SetForceX86(false); // disable forced 32-bit install again
 | |
| #endif
 | |
| #ifdef use_vc2015
 | |
| 	vcredist2015('14'); // min allowed version is 14.0
 | |
| #endif
 | |
| #ifdef use_vc2017
 | |
| 	vcredist2017('14'); // min allowed version is 14.0
 | |
| #endif
 | |
| 
 | |
| #ifdef use_directxruntime
 | |
| 	// extracts included setup file to temp folder so that we don't need to download it
 | |
| 	// and always runs directxruntime installer as we don't know how to check if it is required
 | |
| 	directxruntime();
 | |
| #endif
 | |
| 
 | |
| #ifdef use_mdac28
 | |
| 	mdac28('2.7'); // min allowed version is 2.7
 | |
| #endif
 | |
| #ifdef use_jet4sp8
 | |
| 	jet4sp8('4.0.8015'); // min allowed version is 4.0.8015
 | |
| #endif
 | |
| 
 | |
| #ifdef use_sqlcompact35sp2
 | |
| 	sqlcompact35sp2();
 | |
| #endif
 | |
| 
 | |
| #ifdef use_sql2005express
 | |
| 	sql2005express();
 | |
| #endif
 | |
| #ifdef use_sql2008express
 | |
| 	sql2008express();
 | |
| #endif
 | |
| 
 | |
| 	Result := true;
 | |
| end; |