Added exe_builder.iss
This commit is contained in:
parent
da3ad6fdbe
commit
f746fc9fc6
1 changed files with 74 additions and 0 deletions
74
exe_builder.iss
Normal file
74
exe_builder.iss
Normal file
|
@ -0,0 +1,74 @@
|
||||||
|
#define sysfolder "system"
|
||||||
|
#define version GetEnv("ELLIEBOT_INSTALL_VERSION")
|
||||||
|
#define target "win-x64"
|
||||||
|
#define platform "net8.0"
|
||||||
|
|
||||||
|
[Setup]
|
||||||
|
AppName = {param:botname|EllieBot}
|
||||||
|
AppVersion={#version}
|
||||||
|
AppPublisher=Toastie
|
||||||
|
DefaultDirName={param:installpath|{commonpf}\EllieBot}
|
||||||
|
DefaultGroupName=EllieBot
|
||||||
|
UninstallDisplayIcon={app}\{#sysfolder}\ellie_icon.ico
|
||||||
|
Compression=lzma2
|
||||||
|
SolidCompression=yes
|
||||||
|
UsePreviousLanguage=no
|
||||||
|
UsePreviousSetupType=no
|
||||||
|
UsePreviousAppDir=no
|
||||||
|
OutputDir=ellie-installers/{#version}/
|
||||||
|
OutputBaseFilename=ellie-setup-{#version}
|
||||||
|
AppReadmeFile=https://commands.elliebot.net/
|
||||||
|
ArchitecturesInstallIn64BitMode=x64
|
||||||
|
DisableWelcomePage=yes
|
||||||
|
DisableDirPage=yes
|
||||||
|
DisableFinishedPage=yes
|
||||||
|
DisableReadyMemo=yes
|
||||||
|
DisableProgramGroupPage=yes
|
||||||
|
WizardStyle=modern
|
||||||
|
UpdateUninstallLogAppName=no
|
||||||
|
CreateUninstallRegKey=no
|
||||||
|
Uninstallable=no
|
||||||
|
|
||||||
|
[Files]
|
||||||
|
;install
|
||||||
|
Source: "src\EllieBot\bin\Release\{#platform}\{#target}\publish\*"; DestDir: "{app}\{#sysfolder}"; Permissions: users-full; Flags: recursesubdirs onlyifdoesntexist ignoreversion createallsubdirs; Excludes: "*.pdb, *.db"
|
||||||
|
|
||||||
|
;reinstall - i want to copy all files, but i don't want to overwrite any data files because users will lose their customization if they don't have a backup,
|
||||||
|
; and i don't want them to have to backup and then copy-merge into data folder themselves, or lose their currency images due to overwrite.
|
||||||
|
Source: "src\EllieBot\bin\Release\{#platform}\{#target}\publish\*"; DestDir: "{app}\{#sysfolder}"; Permissions: users-full; Flags: recursesubdirs ignoreversion onlyifdestfileexists createallsubdirs; Excludes: "*.pdb, *.db, data\*, credentials.json, creds.yml";
|
||||||
|
Source: "src\EllieBot\bin\Release\{#platform}\{#target}\publish\data\*"; DestDir: "{app}\{#sysfolder}\data"; Permissions: users-full; Flags: recursesubdirs onlyifdoesntexist createallsubdirs;
|
||||||
|
; overwrite strings and aliases
|
||||||
|
Source: "src\EllieBot\bin\Release\{#platform}\{#target}\publish\data\aliases.yml"; DestDir: "{app}\{#sysfolder}\data\"; Permissions: users-full; Flags: recursesubdirs ignoreversion onlyifdestfileexists createallsubdirs;
|
||||||
|
Source: "src\EllieBot\bin\Release\{#platform}\{#target}\publish\data\strings\*"; DestDir: "{app}\{#sysfolder}\data\strings"; Permissions: users-full; Flags: recursesubdirs ignoreversion onlyifdestfileexists createallsubdirs;
|
||||||
|
|
||||||
|
[Dirs]
|
||||||
|
Name:"{app}\{#sysfolder}\data"; Permissions: everyone-modify
|
||||||
|
Name:"{app}\{#sysfolder}\config"; Permissions: everyone-modify
|
||||||
|
Name:"{app}\{#sysfolder}"; Permissions: everyone-modify
|
||||||
|
|
||||||
|
; [Run]
|
||||||
|
; Filename: "https://docs.elliebot.net/ellie/"; Flags: postinstall shellexec runasoriginaluser; Description: "Open setup guide"
|
||||||
|
; Filename: "{app}\{#sysfolder}\creds.yml"; Flags: postinstall shellexec runasoriginaluser; Description: "Open creds file"
|
||||||
|
|
||||||
|
[Icons]
|
||||||
|
; for pretty install directory
|
||||||
|
Name: "{app}\EllieBot"; Filename: "{app}\{#sysfolder}\EllieBot.exe"; IconFilename: "{app}\{#sysfolder}\nadeko_icon.ico"
|
||||||
|
Name: "{app}\creds"; Filename: "{app}\{#sysfolder}\creds.yml"
|
||||||
|
Name: "{app}\data"; Filename: "{app}\{#sysfolder}\data"
|
||||||
|
|
||||||
|
; desktop shortcut
|
||||||
|
Name: "{commondesktop}\{#SetupSetting("AppName")}"; Filename: "{app}\EllieBot";
|
||||||
|
|
||||||
|
[Code]
|
||||||
|
function GetFileName(const AFileName: string): string;
|
||||||
|
begin
|
||||||
|
Result := ExpandConstant('{app}\{#sysfolder}\' + AFileName);
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure CurStepChanged(CurStep: TSetupStep);
|
||||||
|
begin
|
||||||
|
if (CurStep = ssPostInstall) then
|
||||||
|
begin
|
||||||
|
FileCopy(GetFileName('creds_example.yml'), GetFileName('creds.yml'), True);
|
||||||
|
end;
|
||||||
|
end;
|
Loading…
Reference in a new issue