c2799f9145
modified: NadekoBot.iss modified: docs/Readme.md modified: docs/index.md modified: src/NadekoBot/Modules/Help/Help.cs
100 lines
4.8 KiB
Plaintext
100 lines
4.8 KiB
Plaintext
#define sysfolder "system"
|
|
#define version GetEnv("NADEKOBOT_INSTALL_VERSION")
|
|
#define target "win7-x64"
|
|
|
|
[Setup]
|
|
AppName=NadekoBot
|
|
AppVersion={#version}
|
|
AppPublisher=Kwoth
|
|
DefaultDirName={pf}\NadekoBot
|
|
DefaultGroupName=NadekoBot
|
|
UninstallDisplayIcon={app}\{#sysfolder}\nadeko_icon.ico
|
|
Compression=lzma2
|
|
SolidCompression=yes
|
|
OutputDir=userdocs:projekti/NadekoInstallerOutput
|
|
OutputBaseFilename=NadekoBot-setup-{#version}
|
|
AppReadmeFile=http://nadekobot.readthedocs.io/en/1.4/Commands%20List/
|
|
ArchitecturesInstallIn64BitMode=x64
|
|
UsePreviousSetupType=no
|
|
DisableWelcomePage=no
|
|
|
|
[Files]
|
|
;install
|
|
Source: "src\NadekoBot\bin\Release\netcoreapp1.1\{#target}\publish\*"; DestDir: "{app}\{#sysfolder}"; Permissions: users-full; Flags: recursesubdirs onlyifdoesntexist ignoreversion createallsubdirs; Excludes: "*.pdb, *.db"
|
|
;rename credentials example to credentials, but don't overwrite if it exists
|
|
;Source: "src\NadekoBot\bin\Release\netcoreapp1.1\{#target}\publish\credentials_example.json"; DestName: "credentials.json"; DestDir: "{app}\{#sysfolder}"; Permissions: users-full; Flags: skipifsourcedoesntexist onlyifdoesntexist;
|
|
|
|
;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\NadekoBot\bin\Release\netcoreapp1.1\{#target}\publish\*"; DestDir: "{app}\{#sysfolder}"; Permissions: users-full; Flags: recursesubdirs ignoreversion onlyifdestfileexists createallsubdirs; Excludes: "*.pdb, *.db, data\*, credentials.json";
|
|
Source: "src\NadekoBot\bin\Release\netcoreapp1.1\{#target}\publish\data\*"; DestDir: "{app}\{#sysfolder}\data"; Permissions: users-full; Flags: recursesubdirs onlyifdoesntexist createallsubdirs;
|
|
|
|
;readme
|
|
;Source: "readme"; DestDir: "{app}"; Flags: isreadme
|
|
|
|
[Run]
|
|
Filename: "http://nadekobot.readthedocs.io/en/latest/JSON%20Explanations/"; Flags: postinstall shellexec runasoriginaluser; Description: "Open setup guide"
|
|
Filename: "{app}\{#sysfolder}\credentials.json"; Flags: postinstall shellexec runasoriginaluser; Description: "Open credentials file"
|
|
|
|
[Icons]
|
|
; for pretty install directory
|
|
Name: "{app}\NadekoBot"; Filename: "{app}\{#sysfolder}\NadekoBot.exe"; IconFilename: "{app}\{#sysfolder}\nadeko_icon.ico"
|
|
Name: "{app}\credentials"; Filename: "{app}\{#sysfolder}\credentials.json"
|
|
Name: "{app}\data"; Filename: "{app}\{#sysfolder}\data"
|
|
|
|
; desktop shortcut
|
|
Name: "{commondesktop}\NadekoBot"; Filename: "{app}\NadekoBot"; Tasks: desktopicon
|
|
; desktop icon checkbox
|
|
[Tasks]
|
|
Name: desktopicon; Description: "Create a &desktop shortcut";
|
|
|
|
[Registry]
|
|
;make the app run as administrator
|
|
Root: "HKLM"; Subkey: "SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers"; \
|
|
ValueType: String; ValueName: "{app}\{#sysfolder}\NadekoBot.exe"; ValueData: "RUNASADMIN"; \
|
|
Flags: uninsdeletekeyifempty uninsdeletevalue;
|
|
Root: "HKCU"; Subkey: "SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers"; \
|
|
ValueType: String; ValueName: "{app}\{#sysfolder}\NadekoBot.exe"; ValueData: "RUNASADMIN"; \
|
|
Flags: uninsdeletekeyifempty uninsdeletevalue;
|
|
Root: "HKLM"; Subkey: "SOFTWARE\NadekoBot"; \
|
|
ValueType: String; ValueName: "InstallPath"; ValueData: "{app}\{#sysfolder}"; \
|
|
Flags: deletevalue uninsdeletekeyifempty uninsdeletevalue;
|
|
Root: "HKLM"; Subkey: "SOFTWARE\NadekoBot"; \
|
|
ValueType: String; ValueName: "Version"; ValueData: "{#version}"; \
|
|
Flags: deletevalue uninsdeletekeyifempty uninsdeletevalue;
|
|
|
|
[Messages]
|
|
WelcomeLabel2=IMPORTANT! READ BELOW!%n%nIt is recommended that you CLOSE any ANTI VIRUS before continuing.%n%nYou can only update v1.4 or newer.%n%nDo not select your old NadekoBot folder as an install path if it's not 1.4 or newer.
|
|
|
|
;ask the user if they want to delete all settings
|
|
[Code]
|
|
var
|
|
X: string;
|
|
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
|
|
begin
|
|
if CurUninstallStep = usPostUninstall then
|
|
begin
|
|
X := ExpandConstant('{app}');
|
|
if FileExists(X + '\{#sysfolder}\data\NadekoBot.db') then begin
|
|
if MsgBox('Do you want to delete all settings associated with this bot?', mbConfirmation, MB_YESNO) = IDYES then begin
|
|
DelTree(X + '\{#sysfolder}', True, True, True);
|
|
end
|
|
end else begin
|
|
MsgBox(X + '\{#sysfolder}\data\NadekoBot.db doesn''t exist', mbConfirmation, MB_YESNO)
|
|
end
|
|
end;
|
|
end;
|
|
|
|
function GetFileName(const AFileName: string): string;
|
|
begin
|
|
Result := ExpandConstant('{app}\{#sysfolder}\' + AFileName);
|
|
end;
|
|
|
|
procedure CurStepChanged(CurStep: TSetupStep);
|
|
begin
|
|
if (CurStep = ssPostInstall) then
|
|
begin
|
|
if FileExists(GetFileName('credentials_example.json')) and not FileExists(GetFileName('credentials.json')) then
|
|
RenameFile(GetFileName('credentials_example.json'), GetFileName('credentials.json'));
|
|
end;
|
|
end; |