From 657dc81300890eecdc744f1d46e695dcc476d7bd Mon Sep 17 00:00:00 2001
From: chylex <info@chylex.com>
Date: Sat, 8 Oct 2016 17:36:20 +0200
Subject: [PATCH] Include ISS installer scripts and resources

---
 bld/Resources/LICENSE  |   9 ++++
 bld/Resources/icon.ico | Bin 0 -> 32131 bytes
 bld/gen_full.iss       | 106 ++++++++++++++++++++++++++++++++++++
 bld/gen_upd.iss        | 118 +++++++++++++++++++++++++++++++++++++++++
 4 files changed, 233 insertions(+)
 create mode 100644 bld/Resources/LICENSE
 create mode 100644 bld/Resources/icon.ico
 create mode 100644 bld/gen_full.iss
 create mode 100644 bld/gen_upd.iss

diff --git a/bld/Resources/LICENSE b/bld/Resources/LICENSE
new file mode 100644
index 00000000..a5ca861d
--- /dev/null
+++ b/bld/Resources/LICENSE
@@ -0,0 +1,9 @@
+The MIT License (MIT)
+
+Copyright (c) 2016 
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
\ No newline at end of file
diff --git a/bld/Resources/icon.ico b/bld/Resources/icon.ico
new file mode 100644
index 0000000000000000000000000000000000000000..75c1fde5c4eaf35bd4c071604865cae7716c1acd
GIT binary patch
literal 32131
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
Gw*LWvv~{!q

literal 0
HcmV?d00001

diff --git a/bld/gen_full.iss b/bld/gen_full.iss
new file mode 100644
index 00000000..7108d6e8
--- /dev/null
+++ b/bld/gen_full.iss
@@ -0,0 +1,106 @@
+; Script generated by the Inno Script Studio Wizard.
+; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
+
+#define MyAppName "TweetDuck"
+#define MyAppPublisher "chylex"
+#define MyAppURL "https://tweetduck.chylex.com"
+#define MyAppExeName "TweetDuck.exe"
+
+#define MyAppVersion GetFileVersion("..\bin\x86\Release\TweetDuck.exe")
+
+[Setup]
+AppId={{8C25A716-7E11-4AAD-9992-8B5D0C78AE06}
+AppName={#MyAppName}
+AppVersion={#MyAppVersion}
+AppVerName={#MyAppName} {#MyAppVersion}
+AppPublisher={#MyAppPublisher}
+AppPublisherURL={#MyAppURL}
+AppSupportURL={#MyAppURL}
+AppUpdatesURL={#MyAppURL}
+DefaultDirName={pf}\{#MyAppName}
+DefaultGroupName={#MyAppName}
+OutputBaseFilename={#MyAppName}
+VersionInfoVersion={#MyAppVersion}
+LicenseFile=.\Resources\LICENSE
+SetupIconFile=.\Resources\icon.ico
+UninstallDisplayName={#MyAppName}
+UninstallDisplayIcon={app}\{#MyAppExeName}
+Compression=lzma
+SolidCompression=yes
+InternalCompressLevel=max
+MinVersion=0,6.1
+
+[Languages]
+Name: "english"; MessagesFile: "compiler:Default.isl"
+
+[Tasks]
+Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
+
+[Files]
+Source: "..\bin\x86\Release\{#MyAppExeName}"; DestDir: "{app}"; Flags: ignoreversion
+Source: "..\bin\x86\Release\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Excludes: "*.xml,devtools_resources.pak,d3dcompiler_43.dll"
+
+[Icons]
+Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
+Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon
+
+[Run]
+Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall
+
+[InstallDelete]
+Type: files; Name: "{app}\td-log.txt"
+
+[UninstallDelete]
+Type: files; Name: "{app}\debug.log"
+Type: filesandordirs; Name: "{localappdata}\{#MyAppName}\Cache"
+Type: filesandordirs; Name: "{localappdata}\{#MyAppName}\GPUCache"
+
+[Code]
+function InitializeSetup: Boolean;
+var FrameworkVersion: Cardinal;
+var HasCorrectVersion: Boolean;
+
+begin
+  HasCorrectVersion := False;
+  
+  if RegQueryDWordValue(HKEY_LOCAL_MACHINE, 'Software\Microsoft\NET Framework Setup\NDP\v4\Full', 'Release', FrameworkVersion) then
+  begin
+    if FrameworkVersion >= 379893 then
+    begin
+      HasCorrectVersion := True;
+    end;
+  end;
+  
+  if HasCorrectVersion then
+  begin
+    Result := True;
+    Exit;
+  end;
+  
+  if (MsgBox('{#MyAppName} requires .NET Framework 4.5.2 or newer,'+#13+#10+'please download it from {#MyAppURL}'+#13+#10+#13+#10'Do you want to proceed with the setup anyway?', mbCriticalError, MB_YESNO or MB_DEFBUTTON2) = IDNO) then
+  begin
+    Result := False;
+    Exit;
+  end;
+  
+  Result := True;
+end;
+
+procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
+var ProfileDataFolder: String;
+var PluginDataFolder: String;
+
+begin
+  if CurUninstallStep = usPostUninstall then
+  begin
+    ProfileDataFolder := ExpandConstant('{localappdata}\{#MyAppName}')
+    PluginDataFolder := ExpandConstant('{app}\plugins')
+    
+    if (DirExists(ProfileDataFolder) or DirExists(PluginDataFolder)) and (MsgBox('Do you also want to delete your {#MyAppName} profile and plugins?', mbConfirmation, MB_YESNO or MB_DEFBUTTON2) = IDYES) then
+    begin
+      DelTree(ProfileDataFolder, True, True, True);
+      DelTree(PluginDataFolder, True, True, True);
+      DelTree(ExpandConstant('{app}'), True, False, False);
+    end;
+  end;
+end;
\ No newline at end of file
diff --git a/bld/gen_upd.iss b/bld/gen_upd.iss
new file mode 100644
index 00000000..a8a4a3e2
--- /dev/null
+++ b/bld/gen_upd.iss
@@ -0,0 +1,118 @@
+; Script generated by the Inno Script Studio Wizard.
+; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
+
+#define MyAppName "TweetDuck"
+#define MyAppPublisher "chylex"
+#define MyAppURL "https://tweetduck.chylex.com"
+#define MyAppExeName "TweetDuck.exe"
+
+#define MyAppVersion GetFileVersion("..\bin\x86\Release\TweetDuck.exe")
+
+[Setup]
+AppId={{8C25A716-7E11-4AAD-9992-8B5D0C78AE06}
+AppName={#MyAppName}
+AppVersion={#MyAppVersion}
+AppVerName={#MyAppName} {#MyAppVersion}
+AppPublisher={#MyAppPublisher}
+AppPublisherURL={#MyAppURL}
+AppSupportURL={#MyAppURL}
+AppUpdatesURL={#MyAppURL}
+DefaultDirName={pf}\{#MyAppName}
+DefaultGroupName={#MyAppName}
+OutputBaseFilename={#MyAppName}.Update
+VersionInfoVersion={#MyAppVersion}
+LicenseFile=.\Resources\LICENSE
+SetupIconFile=.\Resources\icon.ico
+UninstallDisplayName={#MyAppName}
+UninstallDisplayIcon={app}\{#MyAppExeName}
+Compression=lzma
+SolidCompression=yes
+InternalCompressLevel=max
+MinVersion=0,6.1
+
+[Languages]
+Name: "english"; MessagesFile: "compiler:Default.isl"
+
+[Files]
+Source: "..\bin\x86\Release\{#MyAppExeName}"; DestDir: "{app}"; Flags: ignoreversion
+Source: "..\bin\x86\Release\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; Excludes: "*.xml,*.dll,*.pak,*.bin,*.dat"
+
+[Icons]
+Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
+
+[Run]
+Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall
+
+[InstallDelete]
+Type: files; Name: "{app}\*.xml"
+Type: files; Name: "{app}\*.js"
+Type: files; Name: "{app}\d3dcompiler_43.dll"
+Type: files; Name: "{app}\devtools_resources.pak"
+Type: files; Name: "{app}\CefSharp.BrowserSubprocess.exe"
+Type: files; Name: "{app}\td-log.txt"
+
+[UninstallDelete]
+Type: files; Name: "{app}\*.*"
+Type: filesandordirs; Name: "{app}\locales"
+Type: filesandordirs; Name: "{app}\scripts"
+Type: filesandordirs; Name: "{localappdata}\{#MyAppName}\Cache"
+Type: filesandordirs; Name: "{localappdata}\{#MyAppName}\GPUCache"
+
+[Code]
+function InitializeSetup: Boolean;
+var FrameworkVersion: Cardinal;
+var HasCorrectVersion: Boolean;
+
+begin
+  HasCorrectVersion := False;
+  
+  if RegQueryDWordValue(HKEY_LOCAL_MACHINE, 'Software\Microsoft\NET Framework Setup\NDP\v4\Full', 'Release', FrameworkVersion) then
+  begin
+    if FrameworkVersion >= 379893 then
+    begin
+      HasCorrectVersion := True;
+    end;
+  end;
+  
+  if HasCorrectVersion then
+  begin
+    Result := True;
+    Exit;
+  end;
+  
+  if (MsgBox('{#MyAppName} requires .NET Framework 4.5.2 or newer,'+#13+#10+'please download it from {#MyAppURL}'+#13+#10+#13+#10'Do you want to proceed with the setup anyway?', mbCriticalError, MB_YESNO or MB_DEFBUTTON2) = IDNO) then
+  begin
+    Result := False;
+    Exit;
+  end;
+  
+  Result := True;
+end;
+
+procedure CurStepChanged(CurStep: TSetupStep);
+begin
+  if CurStep = ssInstall then
+  begin
+    DeleteFile(ExpandConstant('{app}\unins000.dat'))
+    DeleteFile(ExpandConstant('{app}\unins000.exe'))
+  end;
+end;
+
+procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
+var ProfileDataFolder: String;
+var PluginDataFolder: String;
+
+begin
+  if CurUninstallStep = usPostUninstall then
+  begin
+    ProfileDataFolder := ExpandConstant('{localappdata}\{#MyAppName}')
+    PluginDataFolder := ExpandConstant('{app}\plugins')
+    
+    if (DirExists(ProfileDataFolder) or DirExists(PluginDataFolder)) and (MsgBox('Do you also want to delete your {#MyAppName} profile and plugins?', mbConfirmation, MB_YESNO or MB_DEFBUTTON2) = IDYES) then
+    begin
+      DelTree(ProfileDataFolder, True, True, True);
+      DelTree(PluginDataFolder, True, True, True);
+      DelTree(ExpandConstant('{app}'), True, False, False);
+    end;
+  end;
+end;
\ No newline at end of file