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