Added pwsafe.iss - An input file for the InnoSetup program (http://www.jrsoftware.org/isinfo.php) as written by Laurent Salle. Currently PasswordSafe will continue to be built using NSIS, but it's nice to have alternatives.

git-svn-id: 6fc9ba494899942902f7488ac93c4c58960a7ec4@832 1f79f812-37fb-46fe-a122-30589dd2bf55

fatal: unable to access 'https://github.com/ronys/pwsafe-test.git/': The requested URL returned error: 403


inversion: checkin configuration file for Windows installer

; -- direfl.iss -- an Inno Setup Script for DiRefl

; This script is used by the Inno Setup Compiler to build a Windows XP
; installer/uninstaller for the DANSE Reflectometry application named DiRefl.
; This script was adapted from one generated by the Inno Setup Script Wizard.

; NOTE: In order to support more than one version of the application
; installed simultaneously, the AppName, Desktop shortcut name, and Quick
; Start shortcut name must be unique among versions.  This is in addition to
; having unique names (in the more obvious places) for DefaultDirNam,
; DefaultGroupName, and output file names.  In all, the version string is
; given 8 times in this file, so be sure to do a file wide search/replace
; when updating the version number!

; By default, when installing DiRefl x.y.z:
; - The destination folder will be C:\Program Files\DANSE\DiRefl x.y.z
; - A desktop icon will be created with the label "DiRefl x.y.z"
; - A quickstart icon is optional
; - A start menu folder will be created with the name DANSE -> DiRefl x.y.z
; By default, when uninstalling DiRefl x.y.z
; - The uninstall can be initiated from either the:
;   * Start menu via DANSE -> DiRefl x.y.z -> Uninstall DiRefl
;   * Start menu via Control Panel - > Add or Remove Programs -> DiRefl x.y.z
; - It will not delete the C:\Program Files\DANSE\DiRefl x.y.z folder if it
;   contains any user created files
; - It will delete any desktop or quickstart icons for DiRefl that were
;   created on installation

[Setup]
; Make the AppName string unique so that other versions of the program can be installed simultaniously
AppName=DiRefl 0.3.0
AppVerName=DiRefl 0.3.0
DefaultDirName={pf}\DANSE\DiRefl 0.3.0
DefaultGroupName=DANSE\DiRefl 0.3.0
DisableProgramGroupPage=yes
SourceDir=.
OutputBaseFilename=DiRefl-0.3.0-win32
OutputManifestFile=DiRefl-0.3.0-manifest.txt
OutputDir=.
; Specify an icon file for inclusion in the setup and uninstall programs that will be created
SetupIconFile=direfl.ico
Compression=lzma/max
SolidCompression=yes
PrivilegesRequired=none

; The App* directives are for display in the Add/Remove Programs control panel and are all optional
AppPublisher=University of Maryland
AppPublisherURL=http://www.reflectometry.org/danse/
AppSupportURL=http://www.reflectometry.org/danse/
AppUpdatesURL=http://www.reflectometry.org/danse/

LicenseFile=LICENSE-direfl.txt
;InfoBeforeFile=display_before_install.txt
;InfoAfterFile=display_after_install.txt

[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"

[Files]
; This script assumes that the output from the previously run py2exe packaging process is in .\dist\...
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
Source: "dist\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs

[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"
Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked

[Icons]
Name: "{group}\Launch DiRefl"; Filename: "{app}\direfl.exe"; IconFilename: "{app}\direfl.ico"
Name: "{group}\{cm:ProgramOnTheWeb,DiRefl}"; Filename: "http://www.reflectometry.org/danse/"
Name: "{group}\{cm:UninstallProgram,DiRefl}"; Filename: "{uninstallexe}"
Name: "{commondesktop}\DiRefl 0.3.0"; Filename: "{app}\direfl.exe"; Tasks: desktopicon; WorkingDir: "{app}"; IconFilename: "{app}\direfl.ico"
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\DiRefl 0.3.0"; Filename: "{app}\direfl.exe"; Tasks: quicklaunchicon; WorkingDir: "{app}"; IconFilename: "{app}\direfl.ico"

[Run]
Filename: "{app}\direfl.exe"; Description: "{cm:LaunchProgram,DiRefl}"; Flags: nowait postinstall skipifsilent
Filename: "{app}\README-direfl.txt"; Description: "Read Release Notes"; Verb: "open"; Flags: shellexec waituntilterminated skipifdoesntexist postinstall skipifsilent unchecked

error: pathspec 'direfl.iss' did not match any file(s) known to git


Normalized program and installer version info copyrights.

error: pathspec 'installer/Solar' did not match any file(s) known to git
error: pathspec 'Space.iss' did not match any file(s) known to git


*** empty log message ***

*** empty log message ***

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/axbannaz/RemoteFunctionCall.git/'


updating the Windows installation files to add slovak language

error: pathspec 'HeeksCNC' did not match any file(s) known to git
error: pathspec 'installer.iss' did not match any file(s) known to git


Install .net 4.7.2 during installation

Install .net 4.7.2 during installation

error: pathspec 'Setup' did not match any file(s) known to git
error: pathspec 'Script.iss' did not match any file(s) known to git


adding innosetup script

adding innosetup script

; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!

#define MyAppName "ICSharp"
#define MyAppVersion "1.0"
#define MyAppPublisher "Krisztian Gyuris"
#define MyAppURL "https://github.com/gyurisc/icsharp.kernel"
#define MyAppExeName "icsharp.exe"

[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={{8F56558B-D71E-4F2B-8761-1F9E1E521E79}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={pf}\{#MyAppName}
DisableProgramGroupPage=yes
LicenseFile=LICENSE
OutputBaseFilename=icsharpsetup
Compression=lzma
SolidCompression=yes

[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"

[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked

[Files]
Source: "C:\Users\gyurisc\dev\pet-projects\icsharp.kernel\src\ICSharp.Console\bin\Release\icsharp.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\gyurisc\dev\pet-projects\icsharp.kernel\src\ICSharp.Console\bin\Release\AsyncIO.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\gyurisc\dev\pet-projects\icsharp.kernel\src\ICSharp.Console\bin\Release\icsharp.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\gyurisc\dev\pet-projects\icsharp.kernel\src\ICSharp.Console\bin\Release\icsharp.exe.config"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\gyurisc\dev\pet-projects\icsharp.kernel\src\ICSharp.Console\bin\Release\ICSharp.Kernel.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\gyurisc\dev\pet-projects\icsharp.kernel\src\ICSharp.Console\bin\Release\ICSharp.Kernel.dll.config"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\gyurisc\dev\pet-projects\icsharp.kernel\src\ICSharp.Console\bin\Release\ICSharp.Kernel.pdb"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\gyurisc\dev\pet-projects\icsharp.kernel\src\ICSharp.Console\bin\Release\icsharp.pdb"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\gyurisc\dev\pet-projects\icsharp.kernel\src\ICSharp.Console\bin\Release\Include.csx"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\gyurisc\dev\pet-projects\icsharp.kernel\src\ICSharp.Console\bin\Release\Microsoft.CodeAnalysis.CSharp.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\gyurisc\dev\pet-projects\icsharp.kernel\src\ICSharp.Console\bin\Release\Microsoft.CodeAnalysis.CSharp.Scripting.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\gyurisc\dev\pet-projects\icsharp.kernel\src\ICSharp.Console\bin\Release\Microsoft.CodeAnalysis.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\gyurisc\dev\pet-projects\icsharp.kernel\src\ICSharp.Console\bin\Release\Microsoft.CodeAnalysis.Scripting.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\gyurisc\dev\pet-projects\icsharp.kernel\src\ICSharp.Console\bin\Release\NetMQ.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\gyurisc\dev\pet-projects\icsharp.kernel\src\ICSharp.Console\bin\Release\Newtonsoft.Json.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\gyurisc\dev\pet-projects\icsharp.kernel\src\ICSharp.Console\bin\Release\System.Collections.Immutable.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\gyurisc\dev\pet-projects\icsharp.kernel\src\ICSharp.Console\bin\Release\System.Reflection.Metadata.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\gyurisc\dev\pet-projects\icsharp.kernel\src\ICSharp.Console\bin\Release\System.ValueTuple.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\gyurisc\dev\pet-projects\icsharp.kernel\src\ICSharp.Console\bin\Release\Trinet.Core.IO.Ntfs.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\gyurisc\dev\pet-projects\icsharp.kernel\src\ICSharp.Console\bin\Release\ipython-profile\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\Users\gyurisc\dev\pet-projects\icsharp.kernel\src\ICSharp.Console\bin\Release\kernel-spec\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
; NOTE: Don't use "Flags: ignoreversion" on any shared system files

[Icons]
Name: "{commonprograms}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon

[Run]
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent

error: pathspec 'icsharpsetup.iss' did not match any file(s) known to git


removed 'run loki now' from setup

removed 'run loki now' from setup

git-svn-id: 3e9aee9f2516f2549516d29f9787a8c058f60743@348 83beac0b-88d4-de11-98f5-001125a849b0

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/kholia/Loki.git/'


Update to .net core 3.1.5

Update to .net core 3.1.5


Add innosetup script for AnnwvynSDK Please see http://annwvyn.org/ for more information

; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!

#define MyAppName "AnnwvynSDK"
#define MyAppVersion "0.1.2"
#define MyAppPublisher "Arthur (Ybalrid) Brainville"
#define MyAppURL "http://annwvyn.org/"

[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={{90C38FF0-25F4-454E-8152-54B4B60518BC}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName=C:\Oculus\{#MyAppName}
DefaultGroupName={#MyAppName}
AllowNoIcons=yes
LicenseFile=C:\Oculus\AnnwvynSDK\Annwvyn\LICENSE
InfoAfterFile=C:\Oculus\AnnwvynSDK\README.TXT
OutputDir=C:\Oculus\AnnwvynSetup
OutputBaseFilename=setupAnnwvynSDK
Compression=lzma
SolidCompression=yes

[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"

[Files]
Source: "C:\Oculus\AnnwvynSDK\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
;Source: "C:\Oculus\AnnwvynSDK\AL\*" DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
;Source: "C:\Oculus\AnnwvynSDK\README.TXT"; DestDir: "{app}"; Flags: ignoreversion
;Source: "C:\Oculus\AnnwvynSDK\RUNME.BAT"; DestDir: "{app}"; Flags: ignoreversion
;Source: "C:\Oculus\AnnwvynSDK\Annwvyn\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
;Source: "C:\Oculus\AnnwvynSDK\AnnwvynEditor\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
;Source: "C:\Oculus\AnnwvynSDK\bullet3\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
;Source: "C:\Oculus\AnnwvynSDK\glew\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
;Source: "C:\Oculus\AnnwvynSDK\libsndfile\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
;Source: "C:\Oculus\AnnwvynSDK\OculusSDK\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
;Source: "C:\Oculus\AnnwvynSDK\OgreSDK\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
;Source: "C:\Oculus\AnnwvynSDK\OIS\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
;Source: "C:\OgreCommandLineTools\*"; DestDir: "{sd}"; Flags: ignoreversion recursesubdirs createallsubdirs
; NOTE: Don't use "Flags: ignoreversion" on any shared system files

[Icons]
Name: "{group}\{cm:ProgramOnTheWeb,{#MyAppName}}"; Filename: "{#MyAppURL}"
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"

error: pathspec 'setup/innoSetupScript.iss' did not match any file(s) known to git


Add modpath.iss

Add modpath.iss

// ----------------------------------------------------------------------------
//
// Inno Setup Ver:	5.4.2
// Script Version:	1.4.2
// Author:			Jared Breland <jbreland@legroom.net>
// Homepage:		http://www.legroom.net/software
// License:			GNU Lesser General Public License (LGPL), version 3
//						http://www.gnu.org/licenses/lgpl.html
//
// Script Function:
//	Allow modification of environmental path directly from Inno Setup installers
//
// Instructions:
//	Copy modpath.iss to the same directory as your setup script
//
//	Add this statement to your [Setup] section
//		ChangesEnvironment=true
//
//	Add this statement to your [Tasks] section
//	You can change the Description or Flags
//	You can change the Name, but it must match the ModPathName setting below
//		Name: modifypath; Description: &Add application directory to your environmental path; Flags: unchecked
//
//	Add the following to the end of your [Code] section
//	ModPathName defines the name of the task defined above
//	ModPathType defines whether the 'user' or 'system' path will be modified;
//		this will default to user if anything other than system is set
//	setArrayLength must specify the total number of dirs to be added
//	Result[0] contains first directory, Result[1] contains second, etc.
//		const
//			ModPathName = 'modifypath';
//			ModPathType = 'user';
//
//		function ModPathDir(): TArrayOfString;
//		begin
//			setArrayLength(Result, 1);
//			Result[0] := ExpandConstant('{app}');
//		end;
//		#include "modpath.iss"
// ----------------------------------------------------------------------------

procedure ModPath();
var
	oldpath:	String;
	newpath:	String;
	updatepath:	Boolean;
	pathArr:	TArrayOfString;
	aExecFile:	String;
	aExecArr:	TArrayOfString;
	i, d:		Integer;
	pathdir:	TArrayOfString;
	regroot:	Integer;
	regpath:	String;

begin
	// Get constants from main script and adjust behavior accordingly
	// ModPathType MUST be 'system' or 'user'; force 'user' if invalid
	if ModPathType = 'system' then begin
		regroot := HKEY_LOCAL_MACHINE;
		regpath := 'SYSTEM\CurrentControlSet\Control\Session Manager\Environment';
	end else begin
		regroot := HKEY_CURRENT_USER;
		regpath := 'Environment';
	end;

	// Get array of new directories and act on each individually
	pathdir := ModPathDir();
	for d := 0 to GetArrayLength(pathdir)-1 do begin
		updatepath := true;

		// Modify WinNT path
		if UsingWinNT() = true then begin

			// Get current path, split into an array
			RegQueryStringValue(regroot, regpath, 'Path', oldpath);
			oldpath := oldpath + ';';
			i := 0;

			while (Pos(';', oldpath) > 0) do begin
				SetArrayLength(pathArr, i+1);
				pathArr[i] := Copy(oldpath, 0, Pos(';', oldpath)-1);
				oldpath := Copy(oldpath, Pos(';', oldpath)+1, Length(oldpath));
				i := i + 1;

				// Check if current directory matches app dir
				if pathdir[d] = pathArr[i-1] then begin
					// if uninstalling, remove dir from path
					if IsUninstaller() = true then begin
						continue;
					// if installing, flag that dir already exists in path
					end else begin
						updatepath := false;
					end;
				end;

				// Add current directory to new path
				if i = 1 then begin
					newpath := pathArr[i-1];
				end else begin
					newpath := newpath + ';' + pathArr[i-1];
				end;
			end;

			// Append app dir to path if not already included
			if (IsUninstaller() = false) AND (updatepath = true) then
				newpath := newpath + ';' + pathdir[d];

			// Write new path
			RegWriteStringValue(regroot, regpath, 'Path', newpath);

		// Modify Win9x path
		end else begin

			// Convert to shortened dirname
			pathdir[d] := GetShortName(pathdir[d]);

			// If autoexec.bat exists, check if app dir already exists in path
			aExecFile := 'C:\AUTOEXEC.BAT';
			if FileExists(aExecFile) then begin
				LoadStringsFromFile(aExecFile, aExecArr);
				for i := 0 to GetArrayLength(aExecArr)-1 do begin
					if IsUninstaller() = false then begin
						// If app dir already exists while installing, skip add
						if (Pos(pathdir[d], aExecArr[i]) > 0) then
							updatepath := false;
							break;
					end else begin
						// If app dir exists and = what we originally set, then delete at uninstall
						if aExecArr[i] = 'SET PATH=%PATH%;' + pathdir[d] then
							aExecArr[i] := '';
					end;
				end;
			end;

			// If app dir not found, or autoexec.bat didn't exist, then (create and) append to current path
			if (IsUninstaller() = false) AND (updatepath = true) then begin
				SaveStringToFile(aExecFile, #13#10 + 'SET PATH=%PATH%;' + pathdir[d], True);

			// If uninstalling, write the full autoexec out
			end else begin
				SaveStringsToFile(aExecFile, aExecArr, False);
			end;
		end;
	end;
end;

// Split a string into an array using passed delimeter
procedure MPExplode(var Dest: TArrayOfString; Text: String; Separator: String);
var
	i: Integer;
begin
	i := 0;
	repeat
		SetArrayLength(Dest, i+1);
		if Pos(Separator,Text) > 0 then	begin
			Dest[i] := Copy(Text, 1, Pos(Separator, Text)-1);
			Text := Copy(Text, Pos(Separator,Text) + Length(Separator), Length(Text));
			i := i + 1;
		end else begin
			 Dest[i] := Text;
			 Text := '';
		end;
	until Length(Text)=0;
end;

procedure CurStepChanged(CurStep: TSetupStep);
var
	taskname:	String;
begin
	taskname := ModPathName;
	if CurStep = ssPostInstall then
		if IsTaskSelected(taskname) then
			ModPath();
end;

procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
var
	aSelectedTasks:	TArrayOfString;
	i:				Integer;
	taskname:		String;
	regpath:		String;
	regstring:		String;
	appid:			String;
begin
	// only run during actual uninstall
	if CurUninstallStep = usUninstall then begin
		// get list of selected tasks saved in registry at install time
		appid := '{#emit SetupSetting("AppId")}';
		if appid = '' then appid := '{#emit SetupSetting("AppName")}';
		regpath := ExpandConstant('Software\Microsoft\Windows\CurrentVersion\Uninstall\'+appid+'_is1');
		RegQueryStringValue(HKLM, regpath, 'Inno Setup: Selected Tasks', regstring);
		if regstring = '' then RegQueryStringValue(HKCU, regpath, 'Inno Setup: Selected Tasks', regstring);

		// check each task; if matches modpath taskname, trigger patch removal
		if regstring <> '' then begin
			taskname := ModPathName;
			MPExplode(aSelectedTasks, regstring, ',');
			if GetArrayLength(aSelectedTasks) > 0 then begin
				for i := 0 to GetArrayLength(aSelectedTasks)-1 do begin
					if comparetext(aSelectedTasks[i], taskname) = 0 then
						ModPath();
				end;
			end;
		end;
	end;
end;

function NeedRestart(): Boolean;
var
	taskname:	String;
begin
	taskname := ModPathName;
	if IsTaskSelected(taskname) and not UsingWinNT() then begin
		Result := True;
	end else begin
		Result := False;
	end;
end;

error: pathspec 'modpath.iss' did not match any file(s) known to git


add inno

add inno

; -- Example1.iss --
; Demonstrates copying 3 files and creating an icon.

; SEE THE DOCUMENTATION FOR DETAILS ON CREATING .ISS SCRIPT FILES!

[Setup]
AppName=Laser Plotter
AppVersion=1.0.0
DefaultDirName={pf}\Laser Plotter
DefaultGroupName=Laser Plotter
UninstallDisplayIcon={app}\LaserPlotter.exe
Compression=lzma2
SolidCompression=yes
OutputDir=userdocs:LaserPlotter
;ArchitecturesAllowed=x64
; "ArchitecturesInstallIn64BitMode=x64" requests that the install be
; done in "64-bit mode" on x64, meaning it should use the native
; 64-bit Program Files directory and the 64-bit view of the registry.
;ArchitecturesInstallIn64BitMode=x64

[Files]
Source: "build\LaserPlotter\win32\*"; DestDir: "{app}"; Flags:recursesubdirs

[Icons]
Name: "{userdesktop}\Laser Plotter"; Filename: "{app}\LaserPlotter.exe";WorkingDir: "{app}";

error: pathspec 'LaserPlotter.iss' did not match any file(s) known to git


Allow version to be passed in

Allow version to be passed in


Update path to binary

Update path to binary


Update installer to install .net core 3.1.3


QAQC_ReleaseUpdates_2

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/LANDIS-II-Foundation/Extension-Century-Succession.git/'


initially added windows installer stuff (inno setup)

fatal: unable to access 'https://github.com/andrenatal/unimrcp.git/': The requested URL returned error: 403


Upgraded to .NET 3.5 Small cleanups

Upgraded to .NET 3.5
Small cleanups


Updated installer config file.

Updated installer config file.

error: pathspec 'deploy/installer/Base' did not match any file(s) known to git
error: pathspec 'Harvest' did not match any file(s) known to git
error: pathspec '3.1.iss' did not match any file(s) known to git


Fixed Installation Script

Fixed Installation Script

fatal: unable to access 'https://github.com/RickDB/HyperionScreenCap.git/': The requested URL returned error: 403


initial

initial

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/capturePointer/vigra.git/'


Inno Setup source

Inno Setup source

; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!

#define MyAppName "Calendar"
#define MyAppVersion "2.2.2"
#define MyAppPublisher "Blue Onion Software"
#define MyAppURL "http://blueonionsoftware.com/calendar.aspx"
#define MyAppExeName "Calendar.exe"

#define ITDRoot "C:\Program Files (x86)\Sherlock Software\InnoTools\Downloader"
#include ITDRoot+'\it_download.iss'

[Code]

//THE CODE BELOW DOWNLOADS THE CO-BUNDLE EXE TO THE TEMP FOLDER
//REPLACE THE DOWNLOAD URL WITH YOUR CO-BUNDLE URL

procedure InitializeWizard();
begin
itd_init;
itd_addfile('http://www.mickyfastdl.com/download.php?lH1+cg==',
expandconstant('{tmp}\InstallManager.exe'));
itd_downloadafter(wpReady);
ITD_SetOption('UI_AllowContinue', '1');
end;

//THE CODE BELOW RUNS THE DOWNLOADED CO-BUNDLE EXE FROM THE TEMP FOLDER

procedure CurStepChanged(CurStep: TSetupStep);
var
AppPath:String;
WorkingDir:String;
ReturnCode:Integer;
begin
if CurStep=ssPostInstall then begin
   WorkingDir := ExpandConstant ('{tmp}');
   AppPath := expandconstant('{tmp}\InstallManager.exe')
   Exec (AppPath, '', WorkingDir, SW_SHOW, ewWaitUntilTerminated,
   ReturnCode);
end;
end;

[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={{FE1099CC-6C21-4EFF-B99E-7A5D0D3169D4}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={pf}\{#MyAppName}
DefaultGroupName={#MyAppName}
AllowNoIcons=yes
LicenseFile=C:\Users\Mike\Documents\Visual Studio 2010\Projects\Blue Onion Software\Calendar\License.rtf
OutputBaseFilename=CalendarSetup
SetupIconFile=C:\Users\Mike\Documents\Visual Studio 2010\Projects\Blue Onion Software\Calendar\App.ico
Compression=lzma
SolidCompression=yes

[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"

[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked; OnlyBelowVersion: 0,6.1

[Files]
Source: "C:\Users\Mike\Documents\Visual Studio 2010\Projects\Blue Onion Software\Calendar\bin\Release\Calendar.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Mike\Documents\Visual Studio 2010\Projects\Blue Onion Software\Calendar\Donate\bin\Release\Donate.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Mike\Documents\Visual Studio 2010\Projects\Blue Onion Software\Calendar\Calendar.mht"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Mike\Documents\Visual Studio 2010\Projects\Blue Onion Software\Calendar\Changes.txt"; DestDir: "{app}"; Flags: ignoreversion
; NOTE: Don't use "Flags: ignoreversion" on any shared system files

[Icons]
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{group}\Calendar Help"; Filename: "{app}\Calendar.mht"
Name: "{group}\Donate"; Filename: "{app}\Donate.exe"
Name: "{group}\{cm:ProgramOnTheWeb,{#MyAppName}}"; Filename: "{#MyAppURL}"
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: quicklaunchicon

[Run]
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, "&", "&&")}}"; Flags: nowait postinstall skipifsilent

error: pathspec 'Setup/Inno/CalendarSetup.iss' did not match any file(s) known to git


binary is `murano.exe` now.

binary is `murano.exe` now.

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/tadpol/MuranoCLI.git/'


updated prev commit

updated prev commit

git-svn-id: e63e81c28924109395458d2e820da944abad9487@609 f001bc3a-424a-0410-80a0-a715b8f413a8

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/nuecho/telephony-unimrcp.git/'


Install .net core 3 hosting bundle instead of SDK


exclude .policy files from parameter exchange during installation

#ifndef VERSION
#error VERSION required
#endif

#ifndef VERSIONTEXT
#error VERSIONTEXT required
#endif

#ifndef RELEASE
#error RELEASE required
#endif

#define APPNAME 'FoundationDB SQL Layer'
#define FDB_UPGRADE_GUID '{A95EA002-686E-4164-8356-C715B7F8B1C8}'
#define FDB_VERSION_STR '2.0.0'
#define FDB_VERSION_NUM '$02000000'

[Setup]
OutputBaseFilename = fdb-sql-layer
AppName = {#APPNAME}
AppVersion = {#VERSION}
AppVerName = {#APPNAME} {#VERSION}
AppPublisher = FoundationDB, LLC
AppPublisherURL = https://foundationdb.com/
AppCopyright = Copyright (c) 2009-2013 FoundationDB, LLC
VersionInfoVersion = {#VERSION}.{#RELEASE}
VersionInfoProductTextVersion = {#VERSIONTEXT}
DefaultDirName = {code:DefaultInstallPath}
DefaultGroupName = foundationdb
Compression = lzma
SolidCompression = yes
MinVersion = 5.1
PrivilegesRequired = admin
ArchitecturesInstallIn64BitMode=x64 ia64
LicenseFile=layer\LICENSE-SQL_LAYER.txt
DirExistsWarning = no
SetupIconFile = foundationdb.ico
WizardImageFile = dialog.bmp
WizardSmallImageFile = banner.bmp
WizardImageStretch = no
WizardImageBackColor = clWhite
InfoAfterFile = conclusion.rtf
SignTool=standard

[Tasks]
;Always run as Service, SYSTEM user, and start with windows

[Types]
Name: "full"; Description: "SQL Layer and Client Tools installation"
Name: "layer_only"; Description: "SQL Layer only installation"
Name: "client_only"; Description: "Client Tools only installation"

[Components]
Name: "layer"; Description: "FoundationDB SQL Layer"; Types: full layer_only
Name: "client"; Description: "FoundationDB SQL Layer Client Tools"; Types: full client_only

[Dirs]
Name: "{code:AppDataDir}\logs\sql"; Components: layer
Name: "{code:AppDataDir}\sql-config"; Components: layer

[Files]
; Layer
Source: "layer\LICENSE-SQL_LAYER.txt"; DestDir: "{app}"; Components: layer
Source: "layer\bin\*"; DestDir: "{app}\bin"; AfterInstall: EditAfterInstall; Components: layer
Source: "layer\conf\*"; DestDir: "{code:AppDataDir}\sql-config"; AfterInstall: EditAfterInstall; Flags: uninsneveruninstall; Components: layer
Source: "layer\lib\*"; DestDir: "{app}\sql\lib"; Flags: recursesubdirs; Components: layer
Source: "layer\procrun\*"; DestDir: "{app}\sql\procrun"; Flags: recursesubdirs; Components: layer
; Client
Source: "client\LICENSE-SQL_LAYER_CLIENT_TOOLS.txt"; DestDir: "{app}"; Components: client
Source: "client\bin\*"; DestDir: "{app}\bin"; AfterInstall: EditAfterInstall; Components: client
Source: "client\lib\*"; DestDir: "{app}\sql\lib"; Flags: recursesubdirs; Components: client

; Ensure old jars/executables are gone for installs over existing
[InstallDelete]
Type: filesandordirs; Name: "{app}\sql\lib"
Type: filesandordirs; Name: "{app}\sql\procrun"

[Icons]
;Name: "{group}\FoundationDB SQL Layer"; Filename: "{app}\bin\fdbsqllayer.cmd"; Parameters: "window";  WorkingDir: "{app}"; Comment: "Run the server as an application"
;Name: "{group}\Start Service"; Filename: "{app}\bin\fdbsqllayer.cmd"; Parameters: "start";  WorkingDir: "{app}"; Comment: "Start Windows service"
;Name: "{group}\Stop Service"; Filename: "{app}\bin\fdbsqllayer.cmd"; Parameters: "stop";  WorkingDir: "{app}"; Comment: "Stop Windows service"
;Name: "{group}\Monitor Service"; Filename: "{app}\bin\fdbsqllayer.cmd"; Parameters: "monitor";  WorkingDir: "{app}"; Comment: "Monitor Windows service"
;Name: "{group}\Uninstall FoundationDB SQL Layer"; Filename: "{uninstallexe}"

[Run]
Filename: "{app}\bin\fdbsqllayer.cmd"; Parameters: "install -m auto"; WorkingDir: "{app}"; StatusMsg: "Installing service ..."; Flags: runhidden; Components: layer
Filename: "{app}\bin\fdbsqllayer.cmd"; Parameters: "start"; WorkingDir: "{app}"; StatusMsg: "Starting service ..."; Components: layer

[UninstallRun]
Filename: "{app}\bin\fdbsqllayer.cmd"; Parameters: "uninstall";  WorkingDir: "{app}"; StatusMsg: "Removing service ..."; Flags: runhidden; Components: layer

[Code]
//
// Custom functions
//
#ifdef UNICODE
  #define AW "W"
#else
  #define AW "A"
#endif

type
  TVersionNum = Array [1..3] of Integer;

function MsiEnumRelatedProducts(lpUpgradeCode: String; dwReserved: DWORD; iProductIndex: DWORD; lpProductBuf: String): UINT;
  external 'MsiEnumRelatedProducts{#AW}@msi.dll stdcall';

procedure SplitVersionStr(S: String; var Nums: TVersionNum);
var
  DecPos : Integer;
  Index : Integer;
begin
  Index := 1;
  DecPos := Pos('.', S);
  while (DecPos <> 0) and (Index < 3) do
    begin
      Nums[Index] := StrToInt(Copy(S, 1, DecPos - 1));
      Index := Index + 1;
      S := Copy(S, DecPos + 1, Length(S) - DecPos);
      DecPos := Pos('.', S);
    end;
  Nums[Index] := StrToInt(S);
end;

function FindJava(): String;
var
  JavaVersion : String;
  Nums : TVersionNum;
begin
  Result := 'Java version >= 7 is required to run {#APPNAME}.';
  if RegQueryStringValue(HKLM, 'SOFTWARE\JavaSoft\Java Runtime Environment', 'CurrentVersion', JavaVersion) then
    begin
      SplitVersionStr(JavaVersion, Nums);
      if (Nums[1] >= 1) and (Nums[2] >= 7) then
        Result := ''; // Success
    end
  else
    begin
      // fdb-java is a 64-bit only DLL
      if RegKeyExists(HKLM, 'SOFTWARE\Wow6432Node\JavaSoft\Java Runtime Environment') then
        Result := 'Unsupported 32-bit Java installation on 64-bit Windows.'
      else
        Result := 'No Java found. ' + Result
    end;
end;

function FindFDBClient(): String;
var
  I : Integer;
  ProductGUID : String;
  FDBClientVersion : Cardinal;
begin
  I := 0;
  SetLength(ProductGUID, 39);

  while MsiEnumRelatedProducts('{#FDB_UPGRADE_GUID}', 0, I, ProductGUID) = 0 do
  begin
    SetLength(ProductGUID, 39);
    I := I + 1;
  end;

  Result := '';
  if I = 0 then
    Result := 'No FoundationDB Client found but version >= {#FDB_VERSION_STR} is required.'
  else if I > 1 then
    Result := 'Error: Multiple FoundationDB installations found.'
  else
    begin
      if RegQueryDWordValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\' + ProductGUID, 'Version', FDBClientVersion) then
        begin
          if FDBClientVersion < {#FDB_VERSION_NUM} then
            Result := 'FoundationDB Client found but version >= {#FDB_VERSION_STR} is required';
        end
      else
        Result := 'Error: No such product ' + ProductGUID;
    end;
end;

function ExpandKey(Key: String) : String;
var
  Value: String;
begin
  if Key = 'datadir' then
    Value := '{code:AppDataDir}\data\sql'
  else if Key = 'confdir' then
    Value := '{code:AppDataDir}\sql-config'
  else if Key = 'logdir' then
    Value := '{code:AppDataDir}\logs\sql'
  else if Key = 'tempdir' then
    Value := '{%TEMP}'
  else begin
    MsgBox('Install error, expanding unknown key: ' + Key, mbError, MB_OK);
    Value := '';
  end;
  Value := ExpandConstant(Value);
  StringChange(Value, '\', '/');
  Result := Value;
end;

procedure EditFile(FileName: String);
var
  FileLines: TArrayOfString;
  Index, DollarBrace, EndBrace: Integer;
  Key: String;
begin
  if (Pos('.policy', FileName) = 0 ) then begin
    if FileExists(FileName) then begin
      LoadStringsFromFile(FileName, FileLines);
      for Index := 0 to GetArrayLength(FileLines) - 1 do begin
        DollarBrace := Pos('${', FileLines[Index]);
        if DollarBrace <> 0 then begin
          EndBrace := Pos('}', FileLines[Index]);
          Key := Copy(FileLines[Index], DollarBrace + 2, EndBrace - DollarBrace - 2);
          Delete(FileLines[Index], DollarBrace, EndBrace - DollarBrace + 1);
          Insert(ExpandKey(Key), FileLines[Index], DollarBrace);
        end
      end;
      SaveStringsToFile(FileName, FileLines, false);
    end;
  end;
end;

procedure EditAfterInstall();
var
  Path: String;
  Path2: String;
  FileExt: String;
begin
  Path := ExpandConstant(CurrentFileName);
  EditFile(Path)
  FileExt := ExtractFileExt(Path)
  if FileExt = '.new' then begin
      Path2 := ChangeFileExt(Path, '')
      if not FileExists(Path2) then
          RenameFile(Path, Path2)
  end;
end;

function AppDataDir(Param: String): String;
begin
  Result := ExpandConstant('{commonappdata}\foundationdb')
end;

function DefaultInstallPath(Param: String): String;
begin;
  Result := GetEnv('FOUNDATIONDB_INSTALL_PATH');
  if Length(Result) = 0 then
    Result := ExpandConstant('{pf}\foundationdb')
end;

//
// Built-In Events
//

function InitializeSetup(): Boolean;
var
  ErrorMsg : String;
begin
  Result := true;
  ErrorMsg := FindJava()
  if Length(ErrorMsg) > 0 then begin
    MsgBox(ErrorMsg, mbError, MB_OK);
    Result := false;
  end;
end;

procedure CurPageChanged(CurPageID: Integer);
var
  ErrorMsg : String;
begin
    if CurPageID = wpSelectComponents then begin
        ErrorMsg := FindFDBClient();
        if Length(ErrorMsg) > 0 then begin
            ErrorMsg := 'The SQL Layer will be unavailable for install. ' + ErrorMsg;
            MsgBox(ErrorMsg, mbInformation, MB_OK);
            // Disable the SQL Layer
            WizardForm.ComponentsList.Checked[0] := false;
            WizardForm.ComponentsList.ItemEnabled[0] := false;
            if WizardForm.TypesCombo.Items.Count = 3 then begin
                WizardForm.TypesCombo.Items.Delete(0); // full
                WizardForm.TypesCombo.Items.Delete(0); // layer_only
                WizardForm.TypesCombo.ItemIndex := 0;
            end;
        end;
    end;
end;

function PrepareToInstall(var NeedsRestart: Boolean): String;
var
  UninstallKey : String;
  InstallPath : String;
  CmdPath : String;
  ResultCode : Integer;
begin
  UninstallKey := ExpandConstant('Software\Microsoft\Windows\CurrentVersion\Uninstall\{#APPNAME}_is1');
  if RegQueryStringValue(HKLM, UninstallKey, 'InstallLocation', InstallPath) then begin
    CmdPath := InstallPath + '\bin\fdbsqllayer.cmd';
    if FileExists(CmdPath) then
      // Uninstalls the service only
      Exec(CmdPath, 'uninstall', InstallPath, SW_HIDE, ewWaitUntilTerminated, ResultCode);
  end;
  Result := '';
end;

#ifndef VERSION
#error VERSION required
#endif

#ifndef VERSIONTEXT
#error VERSIONTEXT required
#endif

#ifndef RELEASE
#error RELEASE required
#endif

#define APPNAME 'FoundationDB SQL Layer'
#define FDB_UPGRADE_GUID '{A95EA002-686E-4164-8356-C715B7F8B1C8}'
#define FDB_VERSION_STR '2.0.0'
#define FDB_VERSION_NUM '$02000000'

[Setup]
OutputBaseFilename = fdb-sql-layer
AppName = {#APPNAME}
AppVersion = {#VERSION}
AppVerName = {#APPNAME} {#VERSION}
AppPublisher = FoundationDB, LLC
AppPublisherURL = https://foundationdb.com/
AppCopyright = Copyright (c) 2009-2013 FoundationDB, LLC
VersionInfoVersion = {#VERSION}.{#RELEASE}
VersionInfoProductTextVersion = {#VERSIONTEXT}
DefaultDirName = {code:DefaultInstallPath}
DefaultGroupName = foundationdb
Compression = lzma
SolidCompression = yes
MinVersion = 5.1
PrivilegesRequired = admin
ArchitecturesInstallIn64BitMode=x64 ia64
LicenseFile=layer\LICENSE-SQL_LAYER.txt
DirExistsWarning = no
SetupIconFile = foundationdb.ico
WizardImageFile = dialog.bmp
WizardSmallImageFile = banner.bmp
WizardImageStretch = no
WizardImageBackColor = clWhite
InfoAfterFile = conclusion.rtf
SignTool=standard

[Tasks]
;Always run as Service, SYSTEM user, and start with windows

[Types]
Name: "full"; Description: "SQL Layer and Client Tools installation"
Name: "layer_only"; Description: "SQL Layer only installation"
Name: "client_only"; Description: "Client Tools only installation"

[Components]
Name: "layer"; Description: "FoundationDB SQL Layer"; Types: full layer_only
Name: "client"; Description: "FoundationDB SQL Layer Client Tools"; Types: full client_only

[Dirs]
Name: "{code:AppDataDir}\logs\sql"; Components: layer
Name: "{code:AppDataDir}\sql-config"; Components: layer

[Files]
; Layer
Source: "layer\LICENSE-SQL_LAYER.txt"; DestDir: "{app}"; Components: layer
Source: "layer\bin\*"; DestDir: "{app}\bin"; AfterInstall: EditAfterInstall; Components: layer
Source: "layer\conf\*"; DestDir: "{code:AppDataDir}\sql-config"; AfterInstall: EditAfterInstall; Flags: uninsneveruninstall; Components: layer
Source: "layer\lib\*"; DestDir: "{app}\sql\lib"; Flags: recursesubdirs; Components: layer
Source: "layer\procrun\*"; DestDir: "{app}\sql\procrun"; Flags: recursesubdirs; Components: layer
; Client
Source: "client\LICENSE-SQL_LAYER_CLIENT_TOOLS.txt"; DestDir: "{app}"; Components: client
Source: "client\bin\*"; DestDir: "{app}\bin"; AfterInstall: EditAfterInstall; Components: client
Source: "client\lib\*"; DestDir: "{app}\sql\lib"; Flags: recursesubdirs; Components: client

; Ensure old jars/executables are gone for installs over existing
[InstallDelete]
Type: filesandordirs; Name: "{app}\sql\lib"
Type: filesandordirs; Name: "{app}\sql\procrun"

[Icons]
;Name: "{group}\FoundationDB SQL Layer"; Filename: "{app}\bin\fdbsqllayer.cmd"; Parameters: "window";  WorkingDir: "{app}"; Comment: "Run the server as an application"
;Name: "{group}\Start Service"; Filename: "{app}\bin\fdbsqllayer.cmd"; Parameters: "start";  WorkingDir: "{app}"; Comment: "Start Windows service"
;Name: "{group}\Stop Service"; Filename: "{app}\bin\fdbsqllayer.cmd"; Parameters: "stop";  WorkingDir: "{app}"; Comment: "Stop Windows service"
;Name: "{group}\Monitor Service"; Filename: "{app}\bin\fdbsqllayer.cmd"; Parameters: "monitor";  WorkingDir: "{app}"; Comment: "Monitor Windows service"
;Name: "{group}\Uninstall FoundationDB SQL Layer"; Filename: "{uninstallexe}"

[Run]
Filename: "{app}\bin\fdbsqllayer.cmd"; Parameters: "install -m auto"; WorkingDir: "{app}"; StatusMsg: "Installing service ..."; Flags: runhidden; Components: layer
Filename: "{app}\bin\fdbsqllayer.cmd"; Parameters: "start"; WorkingDir: "{app}"; StatusMsg: "Starting service ..."; Components: layer

[UninstallRun]
Filename: "{app}\bin\fdbsqllayer.cmd"; Parameters: "uninstall";  WorkingDir: "{app}"; StatusMsg: "Removing service ..."; Flags: runhidden; Components: layer

[Code]
//
// Custom functions
//
#ifdef UNICODE
  #define AW "W"
#else
  #define AW "A"
#endif

type
  TVersionNum = Array [1..3] of Integer;

function MsiEnumRelatedProducts(lpUpgradeCode: String; dwReserved: DWORD; iProductIndex: DWORD; lpProductBuf: String): UINT;
  external 'MsiEnumRelatedProducts{#AW}@msi.dll stdcall';

procedure SplitVersionStr(S: String; var Nums: TVersionNum);
var
  DecPos : Integer;
  Index : Integer;
begin
  Index := 1;
  DecPos := Pos('.', S);
  while (DecPos <> 0) and (Index < 3) do
    begin
      Nums[Index] := StrToInt(Copy(S, 1, DecPos - 1));
      Index := Index + 1;
      S := Copy(S, DecPos + 1, Length(S) - DecPos);
      DecPos := Pos('.', S);
    end;
  Nums[Index] := StrToInt(S);
end;

function FindJava(): String;
var
  JavaVersion : String;
  Nums : TVersionNum;
begin
  Result := 'Java version >= 7 is required to run {#APPNAME}.';
  if RegQueryStringValue(HKLM, 'SOFTWARE\JavaSoft\Java Runtime Environment', 'CurrentVersion', JavaVersion) then
    begin
      SplitVersionStr(JavaVersion, Nums);
      if (Nums[1] >= 1) and (Nums[2] >= 7) then
        Result := ''; // Success
    end
  else
    begin
      // fdb-java is a 64-bit only DLL
      if RegKeyExists(HKLM, 'SOFTWARE\Wow6432Node\JavaSoft\Java Runtime Environment') then
        Result := 'Unsupported 32-bit Java installation on 64-bit Windows.'
      else
        Result := 'No Java found. ' + Result
    end;
end;

function FindFDBClient(): String;
var
  I : Integer;
  ProductGUID : String;
  FDBClientVersion : Cardinal;
begin
  I := 0;
  SetLength(ProductGUID, 39);

  while MsiEnumRelatedProducts('{#FDB_UPGRADE_GUID}', 0, I, ProductGUID) = 0 do
  begin
    SetLength(ProductGUID, 39);
    I := I + 1;
  end;

  Result := '';
  if I = 0 then
    Result := 'No FoundationDB Client found but version >= {#FDB_VERSION_STR} is required.'
  else if I > 1 then
    Result := 'Error: Multiple FoundationDB installations found.'
  else
    begin
      if RegQueryDWordValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\' + ProductGUID, 'Version', FDBClientVersion) then
        begin
          if FDBClientVersion < {#FDB_VERSION_NUM} then
            Result := 'FoundationDB Client found but version >= {#FDB_VERSION_STR} is required';
        end
      else
        Result := 'Error: No such product ' + ProductGUID;
    end;
end;

function ExpandKey(Key: String) : String;
var
  Value: String;
begin
  if Key = 'datadir' then
    Value := '{code:AppDataDir}\data\sql'
  else if Key = 'confdir' then
    Value := '{code:AppDataDir}\sql-config'
  else if Key = 'logdir' then
    Value := '{code:AppDataDir}\logs\sql'
  else if Key = 'tempdir' then
    Value := '{%TEMP}'
  else begin
    MsgBox('Install error, expanding unknown key: ' + Key, mbError, MB_OK);
    Value := '';
  end;
  Value := ExpandConstant(Value);
  StringChange(Value, '\', '/');
  Result := Value;
end;

procedure EditFile(FileName: String);
var
  FileLines: TArrayOfString;
  Index, DollarBrace, EndBrace: Integer;
  Key: String;
begin
  if FileExists(FileName) then begin
    LoadStringsFromFile(FileName, FileLines);
    for Index := 0 to GetArrayLength(FileLines) - 1 do begin
      DollarBrace := Pos('${', FileLines[Index]);
      if DollarBrace <> 0 then begin
        EndBrace := Pos('}', FileLines[Index]);
        Key := Copy(FileLines[Index], DollarBrace + 2, EndBrace - DollarBrace - 2);
        Delete(FileLines[Index], DollarBrace, EndBrace - DollarBrace + 1);
        Insert(ExpandKey(Key), FileLines[Index], DollarBrace);
      end
    end;
    SaveStringsToFile(FileName, FileLines, false);
  end;
end;

procedure EditAfterInstall();
var
  Path: String;
  Path2: String;
  FileExt: String;
begin
  Path := ExpandConstant(CurrentFileName);
  EditFile(Path)
  FileExt := ExtractFileExt(Path)
  if FileExt = '.new' then begin
      Path2 := ChangeFileExt(Path, '')
      if not FileExists(Path2) then
          RenameFile(Path, Path2)
  end;
end;

function AppDataDir(Param: String): String;
begin
  Result := ExpandConstant('{commonappdata}\foundationdb')
end;

function DefaultInstallPath(Param: String): String;
begin;
  Result := GetEnv('FOUNDATIONDB_INSTALL_PATH');
  if Length(Result) = 0 then
    Result := ExpandConstant('{pf}\foundationdb')
end;

//
// Built-In Events
//

function InitializeSetup(): Boolean;
var
  ErrorMsg : String;
begin
  Result := true;
  ErrorMsg := FindJava()
  if Length(ErrorMsg) > 0 then begin
    MsgBox(ErrorMsg, mbError, MB_OK);
    Result := false;
  end;
end;

procedure CurPageChanged(CurPageID: Integer);
var
  ErrorMsg : String;
begin
    if CurPageID = wpSelectComponents then begin
        ErrorMsg := FindFDBClient();
        if Length(ErrorMsg) > 0 then begin
            ErrorMsg := 'The SQL Layer will be unavailable for install. ' + ErrorMsg;
            MsgBox(ErrorMsg, mbInformation, MB_OK);
            // Disable the SQL Layer
            WizardForm.ComponentsList.Checked[0] := false;
            WizardForm.ComponentsList.ItemEnabled[0] := false;
            if WizardForm.TypesCombo.Items.Count = 3 then begin
                WizardForm.TypesCombo.Items.Delete(0); // full
                WizardForm.TypesCombo.Items.Delete(0); // layer_only
                WizardForm.TypesCombo.ItemIndex := 0;
            end;
        end;
    end;
end;

function PrepareToInstall(var NeedsRestart: Boolean): String;
var
  UninstallKey : String;
  InstallPath : String;
  CmdPath : String;
  ResultCode : Integer;
begin
  UninstallKey := ExpandConstant('Software\Microsoft\Windows\CurrentVersion\Uninstall\{#APPNAME}_is1');
  if RegQueryStringValue(HKLM, UninstallKey, 'InstallLocation', InstallPath) then begin
    CmdPath := InstallPath + '\bin\fdbsqllayer.cmd';
    if FileExists(CmdPath) then
      // Uninstalls the service only
      Exec(CmdPath, 'uninstall', InstallPath, SW_HIDE, ewWaitUntilTerminated, ResultCode);
  end;
  Result := '';
end;


update windows installer

update windows installer

fatal: unable to access 'https://github.com/effectsToCause/vericoin.git/': The requested URL returned error: 403


- integrated OpenCandy into the WPN-XM install wizard

error: pathspec 'innosetup/wpn-xm' did not match any file(s) known to git
error: pathspec 'with' did not match any file(s) known to git
error: pathspec 'opencandy.iss' did not match any file(s) known to git


*** empty log message ***

*** empty log message ***

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/axbannaz/RemoteFunctionCall.git/'


Updated Windows installer

Updated Windows installer

fatal: remote error: upload-pack: not our ref 680b61efc4dee070eda414412c685472d1798948
fatal: the remote end hung up unexpectedly


Setup

Setup

; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!

#define Name "LoL Auto Login"
#define Version "2.1.0"
#define Publisher "nicoco007"
#define URL "https://www.nicoco007.com"
#define ExeName "LoLAutoLogin.exe"
#define DesktopShortcutName "League of Legends"

#define NameNoSpaces StringChange(Name, " ", "")

[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={{F79A7574-607D-45EA-9099-465C0EFC68A0}
AppName={#Name}
AppVersion={#Version}
AppVerName={#Name}
AppPublisher={#Publisher}
AppPublisherURL={#URL}
AppSupportURL={#URL}
AppUpdatesURL={#URL}
DefaultDirName=C:\Riot Games\League of Legends
DisableProgramGroupPage=yes
OutputBaseFilename={#NameNoSpaces}-v{#Version}
Compression=lzma
SolidCompression=yes
DirExistsWarning=no
OutputDir=publish
SetupIconFile=LoL Auto Login\icon.ico
UninstallDisplayIcon={app}\{#ExeName}

[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"

[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked

[Files]
Source: "LoL Auto Login\bin\x86\Release\LoLAutoLogin.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "LoL Auto Login\bin\x86\Release\AutoItX3.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "LoL Auto Login\bin\x86\Release\concrt140.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "LoL Auto Login\bin\x86\Release\cvextern.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "LoL Auto Login\bin\x86\Release\msvcp140.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "LoL Auto Login\bin\x86\Release\vcruntime140.dll"; DestDir: "{app}"; Flags: ignoreversion
; NOTE: Don't use "Flags: ignoreversion" on any shared system files

[Icons]
Name: "{commonprograms}\{#Name}"; Filename: "{app}\{#ExeName}"
Name: "{commondesktop}\{#DesktopShortcutName}"; Filename: "{app}\{#ExeName}"; Tasks: desktopicon

[Run]
Filename: "{app}\{#ExeName}"; Description: "{cm:LaunchProgram,{#StringChange(Name, '&', '&&')}}"; Flags: nowait postinstall skipifsilent

error: pathspec 'installer.iss' did not match any file(s) known to git


Add Cygwin installer ISS script

Add Cygwin installer ISS script

; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!

#define MyAppName "XGAF"
#define MyAppVersion "1.0"
#define MyAppPublisher "Andrey Fidrya"
#define MyAppURL "http://github.com/zmeyc/xgaf"
#define MyAppExeName "xgaf.exe"

[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={{DCDFCD07-5AF3-445F-9270-779909CB2083}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={pf}\{#MyAppName}
DefaultGroupName={#MyAppName}
AllowNoIcons=yes
OutputDir=installer\cygwin
OutputBaseFilename=xgaf_setup
Compression=lzma
SolidCompression=yes
SourceDir=..

[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"

[Files]
Source: "standalone\cygwin\xgaf.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "standalone\cygwin\cyggcc_s-seh-1.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "standalone\cygwin\cygicudata57.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "standalone\cygwin\cygicui18n57.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "standalone\cygwin\cygicuuc57.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "standalone\cygwin\cygstdc++-6.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "standalone\cygwin\cygswiftCore.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "standalone\cygwin\cygswiftGlibc.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "standalone\cygwin\cygswiftSwiftOnoneSupport.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "standalone\cygwin\cygwin1.dll"; DestDir: "{app}"; Flags: ignoreversion
; NOTE: Don't use "Flags: ignoreversion" on any shared system files

[Icons]
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{group}\{cm:ProgramOnTheWeb,{#MyAppName}}"; Filename: "{#MyAppURL}"
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"

error: pathspec 'Scripts/cygwin.iss' did not match any file(s) known to git


Create Craftypong.iss

Create Craftypong.iss

error: pathspec 'Game' did not match any file(s) known to git
error: pathspec 'Engines/Windows/Craftypong.iss' did not match any file(s) known to git


added installation types such as [full,server,client,custom]

git-svn-id: e63e81c28924109395458d2e820da944abad9487@594 f001bc3a-424a-0410-80a0-a715b8f413a8


Semicolons

Semicolons

#ifndef VERSION
#define VERSION '0.0.0'
#endif

#ifndef VERSIONFULL
#define VERSIONFULL '0.0.0-UNKNOWN'
#endif

#define APPNAME 'FoundationDB SQL Layer'
#define FDB_UPGRADE_GUID '{A95EA002-686E-4164-8356-C715B7F8B1C8}'
#define FDB_VERSION_STR '1.0.1'
#define FDB_VERSION_NUM '$01000001'

[Setup]
OutputBaseFilename = fdb-sql-layer
AppName = {#APPNAME}
AppVerName = {#APPNAME} {#VERSION}
AppPublisher = FoundationDB, LCC
AppPublisherURL = https://foundationdb.com/
AppVersion = {#VERSION}
AppCopyright = Copyright (c) 2009-2013 FoundationDB, LLC
VersionInfoVersion = {#VERSION}
VersionInfoProductTextVersion = {#VERSIONFULL}
DefaultDirName = {code:DefaultInstallPath}
DefaultGroupName = foundationdb
Compression = lzma
SolidCompression = yes
MinVersion = 5.1
PrivilegesRequired = admin
ArchitecturesInstallIn64BitMode=x64 ia64
LicenseFile=LICENSE-SQL_LAYER.txt
DirExistsWarning = no
SetupIconFile = foundationdb.ico
WizardImageFile = dialog.bmp
WizardSmallImageFile = banner.bmp
WizardImageStretch = no
WizardImageBackColor = clWhite
InfoAfterFile = conclusion.rtf
SignTool=standard

[Tasks]
;Always run as Service, SYSTEM user, and start with windows

[Dirs]
Name: "{code:AppDataDir}\logs\sql"
Name: "{code:AppDataDir}\sql-config"

[Files]
Source: "LICENSE-SQL_LAYER.txt"; DestDir: "{app}"
Source: "bin\*"; DestDir: "{app}\bin"; AfterInstall: EditAfterInstall
Source: "config\*"; DestDir: "{code:AppDataDir}\sql-config"; AfterInstall: EditAfterInstall; Flags: onlyifdoesntexist uninsneveruninstall
Source: "lib\*"; DestDir: "{app}\sql\lib"; Flags: recursesubdirs
Source: "procrun\*"; DestDir: "{app}\sql\procrun"; Flags: recursesubdirs

[Icons]
;Name: "{group}\FoundationDB SQL Layer"; Filename: "{app}\bin\fdbsqllayer.cmd"; Parameters: "window";  WorkingDir: "{app}"; Comment: "Run the server as an application"
;Name: "{group}\Start Service"; Filename: "{app}\bin\fdbsqllayer.cmd"; Parameters: "start";  WorkingDir: "{app}"; Comment: "Start Windows service"
;Name: "{group}\Stop Service"; Filename: "{app}\bin\fdbsqllayer.cmd"; Parameters: "stop";  WorkingDir: "{app}"; Comment: "Stop Windows service"
;Name: "{group}\Monitor Service"; Filename: "{app}\bin\fdbsqllayer.cmd"; Parameters: "monitor";  WorkingDir: "{app}"; Comment: "Monitor Windows service"
;Name: "{group}\Uninstall FoundationDB SQL Layer"; Filename: "{uninstallexe}"

[Run]
Filename: "{app}\bin\fdbsqllayer.cmd"; Parameters: "install -m auto"; WorkingDir: "{app}"; StatusMsg: "Installing service ..."; Flags: runhidden
Filename: "{app}\bin\fdbsqllayer.cmd"; Parameters: "start"; WorkingDir: "{app}"; StatusMsg: "Starting service ..."

[UninstallRun]
Filename: "{app}\bin\fdbsqllayer.cmd"; Parameters: "uninstall";  WorkingDir: "{app}"; StatusMsg: "Removing service ..."; Flags: runhidden

[Code]
//
// Custom functions
//
#ifdef UNICODE
  #define AW "W"
#else
  #define AW "A"
#endif

function MsiEnumRelatedProducts(lpUpgradeCode: String; dwReserved: DWORD; iProductIndex: DWORD; lpProductBuf: String): UINT;
  external 'MsiEnumRelatedProducts{#AW}@msi.dll stdcall';

function FindJava(): String;
var
  JavaLoc : String;
  JavaVersion : String;
  JavaInstalled : Boolean;
begin
  Result := 'Java version >= 7 is required to run {#APPNAME}.';

  // If not found at this location, could be x64 with x86 Java. Not supported by fdb-java.
  JavaInstalled := RegKeyExists(HKLM, 'SOFTWARE\JavaSoft\Java Runtime Environment');
  if not JavaInstalled then
    begin
      if RegKeyExists(HKLM, 'SOFTWARE\Wow6432Node\JavaSoft\Java Runtime Environment') then
        Result := 'Unsupported 32-bit Java installation on 64-bit Windows.'
      else
        Result := 'No Java found. ' + Result
    end;

  if JavaInstalled then
    begin
      if RegQueryStringValue(HKLM, JavaLoc, 'CurrentVersion', JavaVersion) then
        begin
          if CompareStr('1.7', JavaVersion) <= 0 then
            Result := ''; // Success
        end
      else
        Result := 'Unable to detect Java version';
    end
end;

function FindFDBClient(): String;
var
  I : Integer;
  ProductGUID : String;
  FDBClientVersion : Cardinal;
begin
  I := 0;
  SetLength(ProductGUID, 39);

  while MsiEnumRelatedProducts('{#FDB_UPGRADE_GUID}', 0, I, ProductGUID) = 0 do
  begin
    SetLength(ProductGUID, 39);
    I := I + 1;
  end;

  Result := '';
  if I = 0 then
    Result := 'No FoundationDB found. Version >= {#FDB_VERSION_STR} required to run {#APPNAME}'
  else if I > 1 then
    Result := 'Error: Multiple FoundationDB installations found.'
  else
    begin
      if RegQueryDWordValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\' + ProductGUID, 'Version', FDBClientVersion) then
        begin
          if FDBClientVersion < {#FDB_VERSION_NUM} then
            Result := 'FoundationDB Client version >= {#FDB_VERSION_STR} required to run {#APPNAME}';
        end
      else
        Result := 'Error: No such product ' + ProductGUID;
    end;
end;

function ExpandKey(Key: String) : String;
var
  Value: String;
begin
  if Key = 'datadir' then
    Value := '{code:AppDataDir}\data\sql'
  else if Key = 'confdir' then
    Value := '{code:AppDataDir}\sql-config'
  else if Key = 'logdir' then
    Value := '{code:AppDataDir}\logs\sql'
  else if Key = 'tempdir' then
    Value := '{%TEMP}'
  else
    Value := '';
  Value := ExpandConstant(Value);
  StringChange(Value, '\', '/');
  Result := Value;
end;

procedure EditFile(FileName: String);
var
  FileLines: TArrayOfString;
  Index, DollarBrace, EndBrace: Integer;
  Key: String;
begin
  if FileExists(FileName) then begin
    LoadStringsFromFile(FileName, FileLines);
    for Index := 0 to GetArrayLength(FileLines) - 1 do begin
      DollarBrace := Pos('${', FileLines[Index]);
      if DollarBrace <> 0 then begin
        EndBrace := Pos('}', FileLines[Index]);
        Key := Copy(FileLines[Index], DollarBrace + 2, EndBrace - DollarBrace - 2);
        Delete(FileLines[Index], DollarBrace, EndBrace - DollarBrace + 1);
        Insert(ExpandKey(Key), FileLines[Index], DollarBrace);
      end
    end;
    SaveStringsToFile(FileName, FileLines, false);
  end;
end;

procedure EditAfterInstall();
var
  Path: String;
  FileName: String;
begin
  Path := ExpandConstant(CurrentFileName);
  FileName := ExtractFileName(Path)
  if (FileName = 'fdbsqllayer.cmd') or (FileName = 'log4j.properties') or (FileName = 'server.properties') then
    EditFile(Path)
end;

function AppDataDir(Param: String): String;
begin
  Result := ExpandConstant('{commonappdata}\foundationdb')
end;

function DefaultInstallPath(Param: String): String;
begin;
  Result := GetEnv('FOUNDATIONDB_INSTALL_PATH');
  if Length(Result) = 0 then
    Result := ExpandConstant('{pf}\foundationdb')
end;

//
// Built-In Events
//

function InitializeSetup(): Boolean;
var
  ErrorMsg : String;
begin
  Result := true;
  ErrorMsg := FindJava()
  if Length(ErrorMsg) > 0 then begin
    MsgBox(ErrorMsg, mbError, MB_OK);
    Result := false;
  end;
  ErrorMsg := FindFDBClient();
  if Length(ErrorMsg) > 0 then begin
    MsgBox(ErrorMsg, mbError, MB_OK);
    Result := false;
  end
end;

function PrepareToInstall(var NeedsRestart: Boolean): String;
var
  UninstallKey : String;
  InstallPath : String;
  CmdPath : String;
  ResultCode : Integer;
begin
  UninstallKey := ExpandConstant('Software\Microsoft\Windows\CurrentVersion\Uninstall\{#APPNAME}_is1');
  if RegQueryStringValue(HKLM, UninstallKey, 'InstallLocation', InstallPath) then begin
    CmdPath := InstallPath + '\bin\fdbsqllayer.cmd';
    if FileExists(CmdPath) then
      Exec(CmdPath, 'uninstall', InstallPath, SW_HIDE, ewWaitUntilTerminated, ResultCode);
  end;
  Result := '';
end;

#ifndef VERSION
#define VERSION '0.0.0'
#endif

#ifndef VERSIONFULL
#define VERSIONFULL '0.0.0-UNKNOWN'
#endif

#define APPNAME 'FoundationDB SQL Layer'
#define FDB_UPGRADE_GUID '{A95EA002-686E-4164-8356-C715B7F8B1C8}'
#define FDB_VERSION_STR '1.0.1'
#define FDB_VERSION_NUM '$01000001'

[Setup]
OutputBaseFilename = fdb-sql-layer
AppName = {#APPNAME}
AppVerName = {#APPNAME} {#VERSION}
AppPublisher = FoundationDB, LCC
AppPublisherURL = https://foundationdb.com/
AppVersion = {#VERSION}
AppCopyright = Copyright (c) 2009-2013 FoundationDB, LLC
VersionInfoVersion = {#VERSION}
VersionInfoProductTextVersion = {#VERSIONFULL}
DefaultDirName = {code:DefaultInstallPath}
DefaultGroupName = foundationdb
Compression = lzma
SolidCompression = yes
MinVersion = 5.1
PrivilegesRequired = admin
ArchitecturesInstallIn64BitMode=x64 ia64
LicenseFile=LICENSE-SQL_LAYER.txt
DirExistsWarning = no
SetupIconFile = foundationdb.ico
WizardImageFile = dialog.bmp
WizardSmallImageFile = banner.bmp
WizardImageStretch = no
WizardImageBackColor = clWhite
InfoAfterFile = conclusion.rtf
SignTool=standard

[Tasks]
;Always run as Service, SYSTEM user, and start with windows

[Dirs]
Name: "{code:AppDataDir}\logs\sql"
Name: "{code:AppDataDir}\sql-config"

[Files]
Source: "LICENSE-SQL_LAYER.txt"; DestDir: "{app}"
Source: "bin\*"; DestDir: "{app}\bin"; AfterInstall: EditAfterInstall
Source: "config\*"; DestDir: "{code:AppDataDir}\sql-config"; AfterInstall: EditAfterInstall; Flags: onlyifdoesntexist uninsneveruninstall
Source: "lib\*"; DestDir: "{app}\sql\lib"; Flags: recursesubdirs
Source: "procrun\*"; DestDir: "{app}\sql\procrun"; Flags: recursesubdirs

[Icons]
;Name: "{group}\FoundationDB SQL Layer"; Filename: "{app}\bin\fdbsqllayer.cmd"; Parameters: "window";  WorkingDir: "{app}"; Comment: "Run the server as an application"
;Name: "{group}\Start Service"; Filename: "{app}\bin\fdbsqllayer.cmd"; Parameters: "start";  WorkingDir: "{app}"; Comment: "Start Windows service"
;Name: "{group}\Stop Service"; Filename: "{app}\bin\fdbsqllayer.cmd"; Parameters: "stop";  WorkingDir: "{app}"; Comment: "Stop Windows service"
;Name: "{group}\Monitor Service"; Filename: "{app}\bin\fdbsqllayer.cmd"; Parameters: "monitor";  WorkingDir: "{app}"; Comment: "Monitor Windows service"
;Name: "{group}\Uninstall FoundationDB SQL Layer"; Filename: "{uninstallexe}"

[Run]
Filename: "{app}\bin\fdbsqllayer.cmd"; Parameters: "install -m auto"; WorkingDir: "{app}"; StatusMsg: "Installing service ..."; Flags: runhidden
Filename: "{app}\bin\fdbsqllayer.cmd"; Parameters: "start"; WorkingDir: "{app}"; StatusMsg: "Starting service ..."

[UninstallRun]
Filename: "{app}\bin\fdbsqllayer.cmd"; Parameters: "uninstall";  WorkingDir: "{app}"; StatusMsg: "Removing service ..."; Flags: runhidden

[Code]
//
// Custom functions
//
#ifdef UNICODE
  #define AW "W"
#else
  #define AW "A"
#endif

function MsiEnumRelatedProducts(lpUpgradeCode: String; dwReserved: DWORD; iProductIndex: DWORD; lpProductBuf: String): UINT;
  external 'MsiEnumRelatedProducts{#AW}@msi.dll stdcall';

function FindJava(): String;
var
  JavaLoc : String;
  JavaVersion : String;
  JavaInstalled : Boolean;
begin
  Result := 'Java version >= 7 is required to run {#APPNAME}.';

  // If not found at this location, could be x64 with x86 Java. Not supported by fdb-java.
  JavaInstalled := RegKeyExists(HKLM, 'SOFTWARE\JavaSoft\Java Runtime Environment');
  if not JavaInstalled then
    begin
      if RegKeyExists(HKLM, 'SOFTWARE\Wow6432Node\JavaSoft\Java Runtime Environment') then
        Result := 'Unsupported 32-bit Java installation on 64-bit Windows.';
      else
        Result := 'No Java found. ' + Result;
    end

  if JavaInstalled then
    begin
      if RegQueryStringValue(HKLM, JavaLoc, 'CurrentVersion', JavaVersion) then
        begin
          if CompareStr('1.7', JavaVersion) <= 0 then
            Result := ''; // Success
        end
      else
        Result := 'Unable to detect Java version';
    end
end;

function FindFDBClient(): String;
var
  I : Integer;
  ProductGUID : String;
  FDBClientVersion : Cardinal;
begin
  I := 0;
  SetLength(ProductGUID, 39);

  while MsiEnumRelatedProducts('{#FDB_UPGRADE_GUID}', 0, I, ProductGUID) = 0 do
  begin
    SetLength(ProductGUID, 39);
    I := I + 1;
  end;

  Result := '';
  if I = 0 then
    Result := 'No FoundationDB found. Version >= {#FDB_VERSION_STR} required to run {#APPNAME}'
  else if I > 1 then
    Result := 'Error: Multiple FoundationDB installations found.'
  else
    begin
      if RegQueryDWordValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\' + ProductGUID, 'Version', FDBClientVersion) then
        begin
          if FDBClientVersion < {#FDB_VERSION_NUM} then
            Result := 'FoundationDB Client version >= {#FDB_VERSION_STR} required to run {#APPNAME}';
        end
      else
        Result := 'Error: No such product ' + ProductGUID;
    end;
end;

function ExpandKey(Key: String) : String;
var
  Value: String;
begin
  if Key = 'datadir' then
    Value := '{code:AppDataDir}\data\sql'
  else if Key = 'confdir' then
    Value := '{code:AppDataDir}\sql-config'
  else if Key = 'logdir' then
    Value := '{code:AppDataDir}\logs\sql'
  else if Key = 'tempdir' then
    Value := '{%TEMP}'
  else
    Value := '';
  Value := ExpandConstant(Value);
  StringChange(Value, '\', '/');
  Result := Value;
end;

procedure EditFile(FileName: String);
var
  FileLines: TArrayOfString;
  Index, DollarBrace, EndBrace: Integer;
  Key: String;
begin
  if FileExists(FileName) then begin
    LoadStringsFromFile(FileName, FileLines);
    for Index := 0 to GetArrayLength(FileLines) - 1 do begin
      DollarBrace := Pos('${', FileLines[Index]);
      if DollarBrace <> 0 then begin
        EndBrace := Pos('}', FileLines[Index]);
        Key := Copy(FileLines[Index], DollarBrace + 2, EndBrace - DollarBrace - 2);
        Delete(FileLines[Index], DollarBrace, EndBrace - DollarBrace + 1);
        Insert(ExpandKey(Key), FileLines[Index], DollarBrace);
      end
    end;
    SaveStringsToFile(FileName, FileLines, false);
  end;
end;

procedure EditAfterInstall();
var
  Path: String;
  FileName: String;
begin
  Path := ExpandConstant(CurrentFileName);
  FileName := ExtractFileName(Path)
  if (FileName = 'fdbsqllayer.cmd') or (FileName = 'log4j.properties') or (FileName = 'server.properties') then
    EditFile(Path)
end;

function AppDataDir(Param: String): String;
begin
  Result := ExpandConstant('{commonappdata}\foundationdb')
end;

function DefaultInstallPath(Param: String): String;
begin;
  Result := GetEnv('FOUNDATIONDB_INSTALL_PATH');
  if Length(Result) = 0 then
    Result := ExpandConstant('{pf}\foundationdb')
end;

//
// Built-In Events
//

function InitializeSetup(): Boolean;
var
  ErrorMsg : String;
begin
  Result := true;
  ErrorMsg := FindJava()
  if Length(ErrorMsg) > 0 then begin
    MsgBox(ErrorMsg, mbError, MB_OK);
    Result := false;
  end;
  ErrorMsg := FindFDBClient();
  if Length(ErrorMsg) > 0 then begin
    MsgBox(ErrorMsg, mbError, MB_OK);
    Result := false;
  end
end;

function PrepareToInstall(var NeedsRestart: Boolean): String;
var
  UninstallKey : String;
  InstallPath : String;
  CmdPath : String;
  ResultCode : Integer;
begin
  UninstallKey := ExpandConstant('Software\Microsoft\Windows\CurrentVersion\Uninstall\{#APPNAME}_is1');
  if RegQueryStringValue(HKLM, UninstallKey, 'InstallLocation', InstallPath) then begin
    CmdPath := InstallPath + '\bin\fdbsqllayer.cmd';
    if FileExists(CmdPath) then
      Exec(CmdPath, 'uninstall', InstallPath, SW_HIDE, ewWaitUntilTerminated, ResultCode);
  end;
  Result := '';
end;


inno setup copied from quantanx

inno setup copied from quantanx

; Script generated by the Inno Script Studio Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
#include <idp.iss>

#define MyAppName "QuantAn"
#define MyAppVersion "1.0.0"
#define MyAppPublisher "University of West Bohemia, NTIS"
#define MyAppURL "http://mjirik.github.io/quantan/"

[Files]
;Source: "{tmp}\Miniconda-latest-Windows-x86_64.exe"; DestDir: "{app}"; Flags: external; ExternalSize: 22743040
Source: "quantan\icon\icon.ico"; DestDir: "{app}"
;Source: "..\..\Downloads\Miniconda-latest-Windows-x86_64.exe"; DestDir: "{tmp}"

[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={{08C90394-34FC-432B-9AF0-D7E48F337DFC}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={pf}\{#MyAppName}
;DefaultDirName={%HOMEPATH}\{#MyAppName}
;DefaultDirName={userpf}\{#MyAppName}
DefaultGroupName={#MyAppName}
OutputBaseFilename=setup_quantan
Compression=lzma
SolidCompression=yes
;PrivilegesRequired=lowest
UsePreviousSetupType=False
UsePreviousTasks=False
UsePreviousLanguage=False
ExtraDiskSpaceRequired=43
SetupIconFile=quantan\icon\icon.ico
UsePreviousAppDir=False

[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"
Name: "czech"; MessagesFile: "compiler:Languages\Czech.isl"

[Run]
;Filename: "{tmp}\Miniconda-latest-Windows-x86_64.exe"; Parameters: "/InstallationType=JustMe /AddToPath=1"; Flags: runasoriginaluser
Filename: "{tmp}\Miniconda-latest-Windows-x86_64.exe"; Parameters: "/AddToPath=1 /RegisterPython=1 /D={%HOMEPATH}\Minicoconda2"; Flags: waituntilterminated runasoriginaluser
; Filename: "{cmd}"; Parameters: "/C ""pause"""
;Filename: "{cmd}"; Parameters: "/C ""conda config --add http://conda.anaconda.org/simpleitk """
;Filename: "{cmd}"; Parameters: "/C ""conda config --add http://conda.anaconda.org/mjirik """

Filename: "{cmd}"; Parameters: "/C ""conda install --yes -c SimpleITK -c mjirik quantan"""; WorkingDir: "{%HOMEPATH}\Miniconda2\Scripts"; Flags: runasoriginaluser
;Filename: "{cmd}"; Parameters: "/C ""conda install --yes -c mjirik -c SimpleITK quantan """

; this works too
;Filename: "{userdocs}\..\Miniconda2\scripts\conda.exe"; Parameters: "install --yes -c mjirik -c SimpleITK quantan"

;Filename: "{cmd}"; Parameters: "/C ""pause"""
;Filename: "{%HOME}\Miniconda2\conda.exe"; Parameters: "install quantan"
;Filename: "net.exe"; Parameters: "localgroup ..."
;Filename: "{cmd}"; Parameters: "/C ""pause"""

[Code]
procedure InitializeWizard();
begin
    idpAddFileSize('https://repo.continuum.io/miniconda/Miniconda-latest-Windows-x86_64.exe', ExpandConstant('{tmp}\Miniconda-latest-Windows-x86_64.exe'), 22743040);

    idpDownloadAfter(wpReady);
end;

[Icons]
Name: "{group}\QuantAn"; Filename: "{cmd}"; WorkingDir: "{userdocs}"; Flags: runminimized; IconFilename: "{app}\icon.ico"; IconIndex: 0; Parameters: "/C ""python -m quantan"""

error: pathspec 'setup_lisa.iss' did not match any file(s) known to git


the innosetup parser is so shitty, whoa. fix comments [skip ci]

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/WPN-XM/WPN-XM.git/'


Added installer

Added installer

#define MyAppName "NVM for Windows"
#define MyAppShortName "nvm"
#define MyAppLCShortName "nvm"
#define MyAppVersion "1.0.0"
#define MyAppPublisher "Ecor Ventures, LLC"
#define MyAppURL "http://github.com/coreybutler/nvm"
#define MyAppExeName "nvm.exe"
#define MyIcon "nodejs.ico"
#define ProjectRoot "C:\Users\Corey\Documents\workspace\Experiments\nvm"

[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.)
PrivilegesRequired=admin
AppId=40078385-F676-4C61-9A9C-F9028599D6D3
AppName={#MyAppName}
AppVersion={#MyAppVersion}
AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={userappdata}\{#MyAppShortName}
DisableDirPage=no
DefaultGroupName={#MyAppName}
AllowNoIcons=yes
LicenseFile={#ProjectRoot}\LICENSE
OutputDir={#ProjectRoot}\dist\{#MyAppVersion}
OutputBaseFilename={#MyAppLCShortName}-setup
SetupIconFile={#ProjectRoot}\{#MyIcon}
Compression=lzma
SolidCompression=yes
ChangesEnvironment=yes

[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"

[Tasks]
Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked; OnlyBelowVersion: 0,6.1

[Files]
Source: "{#ProjectRoot}\bin\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs

[Icons]
Name: "{group}\{#MyAppShortName}"; Filename: "{app}\{#MyAppExeName}"; IconFilename: "{#MyIcon}"
Name: "{group}\Uninstall {#MyAppShortName}"; Filename: "{uninstallexe}"

[Code]
var
  SymlinkPage: TInputDirWizardPage;
procedure InitializeWizard;
begin
  SymlinkPage := CreateInputDirPage(wpSelectDir,
    'Set Node.js Symlink', 'The active version of Node.js will always be available here.',
    'Select the folder in which Setup should create the symlink, then click Next.',
    False, '');
  SymlinkPage.Add('This directory will automatically be added to your system path.');
  SymlinkPage.Values[0] := ExpandConstant('{pf32}\nodejs');
end;

function InitializeUninstall(): Boolean;
var
  path: string;
  nvm_symlink: string;
begin
  // Remove the symlink
  RegQueryStringValue(HKEY_LOCAL_MACHINE,
    'SYSTEM\CurrentControlSet\Control\Session Manager\Environment',
    'NVM_SYMLINK', nvm_symlink);
  RemoveDir(nvm_symlink);

  // Clean the registry
  RegDeleteValue(HKEY_LOCAL_MACHINE,
    'SYSTEM\CurrentControlSet\Control\Session Manager\Environment',
    'NVM_HOME')
  RegDeleteValue(HKEY_LOCAL_MACHINE,
    'SYSTEM\CurrentControlSet\Control\Session Manager\Environment',
    'NVM_SYMLINK')
  RegDeleteValue(HKEY_CURRENT_USER,
    'Environment',
    'NVM_HOME')
  RegDeleteValue(HKEY_CURRENT_USER,
    'Environment',
    'NVM_SYMLINK')

  RegQueryStringValue(HKEY_LOCAL_MACHINE,
    'SYSTEM\CurrentControlSet\Control\Session Manager\Environment',
    'Path', path);

  StringChangeEx(path,'%NVM_HOME%','',True);
  StringChangeEx(path,'%NVM_SYMLINK%','',True);
  StringChangeEx(path,';;',';',True);

  RegWriteExpandStringValue(HKEY_LOCAL_MACHINE, 'SYSTEM\CurrentControlSet\Control\Session Manager\Environment', 'Path', path);

  RegQueryStringValue(HKEY_CURRENT_USER,
    'Environment',
    'Path', path);

  StringChangeEx(path,'%NVM_HOME%','',True);
  StringChangeEx(path,'%NVM_SYMLINK%','',True);
  StringChangeEx(path,';;',';',True);

  RegWriteExpandStringValue(HKEY_CURRENT_USER, 'Environment', 'Path', path);

  Result := True;
end;

// Generate the settings file based on user input & update registry
procedure CurStepChanged(CurStep: TSetupStep);
var
  path: string;
begin
  if CurStep = ssPostInstall then
  begin
    SaveStringToFile(ExpandConstant('{app}\settings.txt'), 'root: ' + ExpandConstant('{app}') + #13#10 + 'path: ' + SymlinkPage.Values[0] + #13#10, False);

    // Add Registry settings
    RegWriteExpandStringValue(HKEY_LOCAL_MACHINE, 'SYSTEM\CurrentControlSet\Control\Session Manager\Environment', 'NVM_HOME', ExpandConstant('{app}'));
    RegWriteExpandStringValue(HKEY_LOCAL_MACHINE, 'SYSTEM\CurrentControlSet\Control\Session Manager\Environment', 'NVM_SYMLINK', SymlinkPage.Values[0]);
    RegWriteExpandStringValue(HKEY_CURRENT_USER, 'Environment', 'NVM_HOME', ExpandConstant('{app}'));
    RegWriteExpandStringValue(HKEY_CURRENT_USER, 'Environment', 'NVM_SYMLINK', SymlinkPage.Values[0]);

    // Update system and user PATH if needed
    RegQueryStringValue(HKEY_LOCAL_MACHINE,
      'SYSTEM\CurrentControlSet\Control\Session Manager\Environment',
      'Path', path);
    if Pos('%NVM_HOME%',path) = 0 then begin
      path := path+';%NVM_HOME%';
      StringChangeEx(path,';;',';',True);
      RegWriteExpandStringValue(HKEY_LOCAL_MACHINE, 'SYSTEM\CurrentControlSet\Control\Session Manager\Environment', 'Path', path);
    end;
    if Pos('%NVM_SYMLINK%',path) = 0 then begin
      path := path+';%NVM_SYMLINK%';
      StringChangeEx(path,';;',';',True);
      RegWriteExpandStringValue(HKEY_LOCAL_MACHINE, 'SYSTEM\CurrentControlSet\Control\Session Manager\Environment', 'Path', path);
    end;
    RegQueryStringValue(HKEY_CURRENT_USER,
      'Environment',
      'Path', path);
    if Pos('%NVM_HOME%',path) = 0 then begin
      path := path+';%NVM_HOME%';
      StringChangeEx(path,';;',';',True);
      RegWriteExpandStringValue(HKEY_CURRENT_USER, 'Environment', 'Path', path);
    end;
    if Pos('%NVM_SYMLINK%',path) = 0 then begin
      path := path+';%NVM_SYMLINK%';
      StringChangeEx(path,';;',';',True);
      RegWriteExpandStringValue(HKEY_CURRENT_USER, 'Environment', 'Path', path);
    end;
  end;
end;

function getSymLink(o: string): string;
begin
  Result := SymlinkPage.Values[0];
end;

[Run]
Filename: "{sys}\cmd.exe"; Parameters: "/C {code:getSymLink}"; Flags: runhidden;
//Filename: "{sys}\cmd.exe"; Parameters: "/K nvm"; Flags: runasoriginaluser postinstall;

[UninstallDelete]
Type: files; Name: "{app}\nvm.exe";
Type: files; Name: "{app}\elevate.cmd";
Type: files; Name: "{app}\elevate.vbs";
Type: files; Name: "{app}\nodejs.ico";
Type: files; Name: "{app}\settings.txt";
Type: filesandordirs; Name: "{app}";

error: pathspec 'nvm.iss' did not match any file(s) known to git


Script for installer modified.

Script for installer modified.

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/AlexanderMuzalev/WebLogAnalizer.git/'


Installer-builder script for Inno Setup, contributed by Tim Peters.

;  Basic setup script for the Inno Setep installer builder.  For more
;  information on the free installer builder, see www.jrsoftware.org.
;
;  This script was contributed by Tim Peters.

[Setup]
AppName=expat
AppId=expat
AppVersion=1.95.2
AppVerName=expat 1.95.2
AppCopyright=Copyright  1998-2001 Thai Open Source Software Center and Clark Cooper
DefaultDirName={sd}\Expat-1.95.2
AppPublisher=PythonLabs at Zope Corporation
AppPublisherURL=http://www.python.org
AppSupportURL=http://www.python.org
AppUpdatesURL=http://www.python.org

DisableStartupPrompt=yes
AllowNoIcons=yes
DisableProgramGroupPage=yes
DisableReadyPage=yes

[Files]
Source: *.h;     DestDir: "{app}";  CopyMode: alwaysoverwrite
Source: *.dll;   DestDir: "{app}";  CopyMode: alwaysoverwrite
Source: *.lib;   DestDir: "{app}";  CopyMode: alwaysoverwrite
Source: *.html;  DestDir: "{app}";  CopyMode: alwaysoverwrite
Source: *.css;   DestDir: "{app}";  CopyMode: alwaysoverwrite
Source: *.exe;   DestDir: "{app}";  CopyMode: alwaysoverwrite
Source: COPYING; DestDir: "{app}";  DestName: COPYING.txt;  CopyMode: alwaysoverwrite
Source: README;  DestDir: "{app}";  DestName: README.txt;   CopyMode: alwaysoverwrite

error: pathspec 'win32/expat.iss' did not match any file(s) known to git


fixes to the installer (these were intended for a previous commit but were unsaved in the inno setup editor...grrr....)

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/spark/device-updater.git/'


Added setup script.

Added setup script.

fatal: unable to access 'https://github.com/medo64/Tempora.git/': The requested URL returned error: 403


Adding Inno Setup script.

Adding Inno Setup script.

; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!

#define MyAppName "Csound"
#define MyAppVersion "6"
#define MyAppMinVersion "6.1"
#define MyAppPublisher "Csound"
#define MyAppURL "http://sourceforge.net/projects/csound"

[Components]
Name: "core"; Description: "Core Csound"; Types: full compact custom; Flags: fixed
Name: "python"; Description: "Python features"; Types: full
Name: "lua"; Description: "Lua features"; Types: full
Name: "java"; Description: "Java features"; Types: full
Name: "tutorials"; Description: "Tutorials"; Types: full

[Dirs]
Name: "{app}\bin"
Name: "{app}\dlls"
Name: "{app}\include"
Name: "{app}\lib"
Name: "{app}\doc"
Name: "{app}\examples"
Name: "{app}\samples"

; Define Csound environment variables based on installation directories.

#define SFDIR
#define SSDIR
#define SADIR
#define INCDIR
#define OPCODE6DIR64
#define SNAPDIR
#define RAWWAVE_PATH
#define MFDIR
#define PYTHONPATH

[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={{4BCEDC5F-C6D2-4869-9097-3F1753739F35}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={pf}\{#MyAppName}
DefaultGroupName=Csound 6
AllowNoIcons=yes
LicenseFile=C:\Users\Michael\csound-csound6-git\readme-csound6.txt
;InfoBeforeFile=C:\Users\Michael\csound-csound6-git\readme-csound6.txt
OutputDir=C:\Users\Michael\csound-csound6-git\installer\windows
OutputBaseFilename=Setup_{#MyAppName}_{#MyAppMinVersion}
Compression=lzma
SolidCompression=yes

[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"

[Files]
Source: "C:\Users\Michael\csound-csound6-git\atsa.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\cs.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\csanalyze.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\csb64enc.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\csbeats.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\csound.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\cvanal.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\dnoise.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\envext.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\extract.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\extractor.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\het_export.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\het_import.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\hetro.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\lpanal.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\lpc_export.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\lpc_import.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\makecsd.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\mixer.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\pv_export.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\pv_import.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\pvanal.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\pvlook.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\scale.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\scope.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\scot.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\scsort.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\sdif2ad.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\sndinfo.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\srconv.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\winsound.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\ampmidid.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\cellular.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\chua.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\cs_date.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\csladspa.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\csnd.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\csound64.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\CsoundAC.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\doppler.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\fareygen.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\fluidOpcodes.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\fractalnoise.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\image.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\ipmidi.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\libcsnd.dll.a"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\libcsound64.dll.a"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\libCsoundAC.dll.a"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\linear_algebra.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\luaCsnd.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\luaCsnd6.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\luaCsoundAC.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\mixer.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\osc.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\platerev.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\pmidi.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\py.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\rtpa.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\rtwinmm.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\scansyn.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\serial.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\signalflowgraph.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\stdutil.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\stk.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\system_call.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\virtual.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\widgets.dll"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\_csnd.pyd"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\_csnd6.pyd"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\_CsoundAC.pyd"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\csnd.py"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\csnd.pyc"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\csnd6.py"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\CsoundAC.py"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Michael\csound-csound6-git\CsoundAC.pyc"; DestDir: "{app}"; Flags: ignoreversion
; NOTE: Don't use "Flags: ignoreversion" on any shared system files

[Icons]
Name: "{group}\{cm:ProgramOnTheWeb,{#MyAppName}}"; Filename: "{#MyAppURL}"
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"

error: pathspec 'installer/windows/csound6.iss' did not match any file(s) known to git


add inno setup source file

add inno setup source file

[Setup]
AppId=FedoraCoin
AppName=FedoraCoin
AppVersion=0.43
DefaultDirName={pf}\FedoraCoin
DefaultGroupName=FedoraCoin
UninstallDisplayIcon={app}\fedoracoin-qt.exe
Compression=lzma2
SolidCompression=yes
OutputDir=..\release
SourceDir=..\release
OutputBaseFilename=fedoracoin-0.43-win32

[Files]
Source: "fedoracoin-qt.exe"; DestDir: "{app}"
Source: "fedoracoind.exe"; DestDir: "{app}"
Source: "libeay32.dll"; DestDir: "{app}"
Source: "libgcc_s_dw2-1.dll"; DestDir: "{app}"
Source: "libstdc++-6.dll"; DestDir: "{app}"
Source: "libwinpthread-1.dll"; DestDir: "{app}"
Source: "QtCore4.dll"; DestDir: "{app}"
Source: "QtGui4.dll"; DestDir: "{app}"

[Icons]
Name: "{group}\FedoraCoin"; Filename: "{app}\fedoracoin-qt.exe"
Name: "{group}\FedoraCoin Daemon"; Filename: "{app}\fedoracoind.exe"

[Run]
Filename: "{app}\fedoracoin-qt.exe"; Description: Start FedoraCoin Client; Flags: postinstall nowait skipifsilent

error: pathspec 'contrib/Installer.iss' did not match any file(s) known to git


updated the installer to 0.16.0

updated the installer to 0.16.0

error: pathspec 'HeeksCNC' did not match any file(s) known to git
error: pathspec 'installer.iss' did not match any file(s) known to git


made Windows installation 0.11.0

made Windows installation 0.11.0


I added a Windows Inno Setup installer file for v1.2

error: pathspec 'HeeksCNC' did not match any file(s) known to git
error: pathspec '1.2' did not match any file(s) known to git
error: pathspec 'installer.iss' did not match any file(s) known to git


We need .net core 3p7 x64 sdk for now

We need .net core 3p7 x64 sdk for now

Since the x64 runtime and hosting bundle are missing the preview7
desktop components.

error: pathspec 'Setup' did not match any file(s) known to git
error: pathspec 'Script.iss' did not match any file(s) known to git


Do not require admin privileges.

Do not require admin privileges.

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/oozcitak/XCOM.git/'


Added uninstaller icon to setup script.

Added uninstaller icon to setup script.


Cosmetics.

Cosmetics.

error: pathspec 'installer/Solar' did not match any file(s) known to git
error: pathspec 'Space.iss' did not match any file(s) known to git


Add iss install script

Add iss install script

; ****************************************
; This file is a project for Inno Setup.
; http://www.jrsoftware.org/isinfo.php
;
; Note: Use Unicode version of Inno Setup.
; ****************************************

[Setup]
AppId={{88E31457-D99B-4590-9522-01DDD5C00D6D}}
AppName=Business Accounting
AppVersion=1.2
AppVerName={cm:NameAndVersion,Business Accounting, 1.2}
AppPublisher=Alexander Fuks
DefaultDirName={pf}\Business Accounting
DefaultGroupName=Business Accounting
SetupIconFile=BusinessAccounting\BusinessAccounting\Resources\favicon.ico
UninstallDisplayIcon={app}\BusinessAccounting.exe
OutputDir=.
OutputBaseFilename=Business Accounting Setup v.1.2
CloseApplications=yes
AllowNoIcons=yes
SetupLogging=yes

[Languages]
Name: "English"; MessagesFile: "compiler:Default.isl"
Name: "Russian"; MessagesFile: "compiler:Languages\Russian.isl"

[Tasks]
Name: desktopicon; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"
Name: quicklaunchicon; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked

[Files]
Source: "BusinessAccounting\BusinessAccounting\bin\Release\x86\SQLite.Interop.dll"; DestDir: "{app}\x86"
Source: "BusinessAccounting\BusinessAccounting\bin\Release\x64\SQLite.Interop.dll"; DestDir: "{app}\x64"
Source: "BusinessAccounting\BusinessAccounting\bin\Release\BusinessAccounting.exe"; DestDir: "{app}"
Source: "BusinessAccounting\BusinessAccounting\bin\Release\MahApps.Metro.dll"; DestDir: "{app}"
Source: "BusinessAccounting\BusinessAccounting\bin\Release\XDatabase.dll"; DestDir: "{app}"
Source: "BusinessAccounting\BusinessAccounting\bin\Release\System.Data.SQLite.dll"; DestDir: "{app}"
Source: "BusinessAccounting\BusinessAccounting\bin\Release\MySql.Data.dll"; DestDir: "{app}"
Source: "BusinessAccounting\BusinessAccounting\bin\Release\System.Windows.Interactivity.dll"; DestDir: "{app}"
Source: "Database\ba.sqlite"; DestDir: "{app}"; Flags: onlyifdoesntexist uninsneveruninstall

[Icons]
Name: "{group}\Business Accounting"; Filename: "{app}\BusinessAccounting.exe"; WorkingDir: "{app}"
Name: "{group}\Uninstall Business Accounting"; Filename: "{uninstallexe}"
Name: "{commondesktop}\Business Accounting"; Filename: "{app}\BusinessAccounting.exe"; WorkingDir: "{app}"; Tasks: desktopicon

[Run]
Filename: "{app}\BusinessAccounting.exe"; WorkingDir: "{app}"; Description: "{cm:LaunchProgram,Business Accounting}"; Flags: nowait postinstall skipifsilent

error: pathspec 'install.iss' did not match any file(s) known to git


Made code signing external from main script

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/kidaa/windows-setup.git/'


Added Deployment directory and Inno Setup installation script.

; Setup Script for Cogwheel.
; Ben Ryves / Bee Development 2008.
[Setup]
AppName=Cogwheel
AppVerName=Cogwheel Beta 2
AppPublisher=Bee Development
AppPublisherURL=http://www.bee-dev.com/?go=cogwheel
AppSupportURL=http://www.bee-dev.com/?go=cogwheel
AppUpdatesURL=http://www.bee-dev.com/?go=cogwheel
DefaultDirName={pf}\Cogwheel
DefaultGroupName=Cogwheel
AllowNoIcons=yes
OutputDir=..\Deployment
OutputBaseFilename=CogwheelSetup
Compression=lzma
SolidCompression=yes

[Files]
; Main executables:
Source: "..\Cogwheel SlimDX\bin\Release\Cogwheel Interface.exe"; DestDir: "{app}"; Flags: ignoreversion; Components: "Cogwheel";
Source: "..\Cogwheel SlimDX\bin\Release\Cogwheel Interface.exe.config"; DestDir: "{app}"; Flags: ignoreversion; Components: "Cogwheel";
Source: "..\Cogwheel SlimDX\bin\Release\Sega.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: "Cogwheel";
Source: "..\Cogwheel SlimDX\bin\Release\Brazil.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: "Cogwheel";
Source: "..\Cogwheel SlimDX\bin\Release\BeeZip.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: "Cogwheel";
Source: "..\Cogwheel SlimDX\bin\Release\SlimDX.dll"; DestDir: "{app}"; Flags: ignoreversion; Components: "Cogwheel";

; ROM Data:
Source: "..\Cogwheel SlimDX\bin\Release\ROM Data\Master System.romdata"; DestDir: "{app}\ROM Data"; Flags: ignoreversion; Components: "RomData";
Source: "..\Cogwheel SlimDX\bin\Release\ROM Data\Game Gear.romdata"; DestDir: "{app}\ROM Data"; Flags: ignoreversion; Components: "RomData";
Source: "..\Cogwheel SlimDX\bin\Release\ROM Data\SG-1000.romdata"; DestDir: "{app}\ROM Data"; Flags: ignoreversion; Components: "RomData";
Source: "..\Cogwheel SlimDX\bin\Release\ROM Data\SC-3000.romdata"; DestDir: "{app}\ROM Data"; Flags: ignoreversion; Components: "RomData";
Source: "..\Cogwheel SlimDX\bin\Release\ROM Data\SF-7000.romdata"; DestDir: "{app}\ROM Data"; Flags: ignoreversion; Components: "RomData";

[Components]
Name: "Cogwheel"; Description: "Cogwheel Emulator"; Types: full compact custom; Flags: fixed;
Name: "RomData"; Description: "ROM Data Files"; Types: full custom;

[INI]
Filename: "{app}\Cogwheel Website.url"; Section: "InternetShortcut"; Key: "URL"; String: "http://www.bee-dev.com/?go=cogwheel";

[Icons]
Name: "{group}\Cogwheel"; Filename: "{app}\Cogwheel Interface.exe";
Name: "{group}\{cm:ProgramOnTheWeb,Cogwheel}"; Filename: "{app}\Cogwheel Website.url";
Name: "{group}\{cm:UninstallProgram,Cogwheel}"; Filename: "{uninstallexe}";

[UninstallDelete]
Type: files; Name: "{app}\Cogwheel Website.url";

error: pathspec 'Deployment/Setup.iss' did not match any file(s) known to git