Install script finished
This commit is contained in:
parent
747a834e60
commit
bb96a01877
@ -8,27 +8,31 @@ AppVersion={#version}
|
||||
AppPublisher=Kwoth
|
||||
DefaultDirName={pf}\NadekoBot
|
||||
DefaultGroupName=NadekoBot
|
||||
UninstallDisplayIcon={app}\{#sysfolder}\NadekoBot.exe
|
||||
UninstallDisplayIcon={app}\{#sysfolder}\nadeko_icon.ico
|
||||
Compression=lzma2
|
||||
SolidCompression=yes
|
||||
OutputDir=userdocs:projekti/NadekoInstallerOutput
|
||||
OutputBaseFilename=NadekoBot-setup-{#version}
|
||||
AppReadmeFile=http://nadekobot.readthedocs.io/en/latest/Commands%20List/
|
||||
AppReadmeFile=http://nadekobot.readthedocs.io/en/1.4/Commands%20List/
|
||||
ArchitecturesInstallIn64BitMode=x64
|
||||
|
||||
[Files]
|
||||
;install
|
||||
Source: "src\NadekoBot\bin\Release\PublishOutput\{#target}\*"; DestDir: "{app}\{#sysfolder}"; Permissions: users-modify; Flags: recursesubdirs onlyifdoesntexist ignoreversion createallsubdirs; Excludes: "*.pdb, *.db"
|
||||
Source: "src\NadekoBot\bin\Release\PublishOutput\{#target}\*"; 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\PublishOutput\{#target}\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\PublishOutput\{#target}\*"; DestDir: "{app}\{#sysfolder}"; Permissions: users-modify; Flags: recursesubdirs onlyifdestfileexists createallsubdirs; Excludes: "*.pdb, *.db, data\*, credentials.json";
|
||||
Source: "src\NadekoBot\bin\Release\PublishOutput\{#target}\data\*"; DestDir: "{app}\{#sysfolder}\data"; Permissions: users-modify; Flags: recursesubdirs onlyifdoesntexist createallsubdirs;
|
||||
Source: "src\NadekoBot\bin\Release\PublishOutput\{#target}\*"; DestDir: "{app}\{#sysfolder}"; Permissions: users-full; Flags: recursesubdirs onlyifdestfileexists createallsubdirs; Excludes: "*.pdb, *.db, data\*, credentials.json";
|
||||
Source: "src\NadekoBot\bin\Release\PublishOutput\{#target}\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/Commands%20List/"; Flags: postinstall checked shellexec runasoriginaluser; Description: "Open Command List"
|
||||
Filename: "http://nadekobot.readthedocs.io/en/1.4/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
|
||||
@ -37,3 +41,31 @@ Name: "{app}\credentials"; Filename: "{app}\{#sysfolder}\credentials.json"
|
||||
Name: "{app}\data"; Filename: "{app}\{#sysfolder}\data"
|
||||
; desktop shortcut
|
||||
Name: "{commondesktop}\NadekoBot"; Filename: "{app}\NadekoBot";
|
||||
|
||||
[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;
|
||||
|
||||
;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;
|
@ -25,6 +25,7 @@ using NadekoBot.Services.Administration;
|
||||
using NadekoBot.Services.Permissions;
|
||||
using NadekoBot.Services.Utility;
|
||||
using NadekoBot.Services.Help;
|
||||
using System.IO;
|
||||
|
||||
namespace NadekoBot
|
||||
{
|
||||
@ -63,6 +64,7 @@ namespace NadekoBot
|
||||
{
|
||||
SetupLogger();
|
||||
_log = LogManager.GetCurrentClassLogger();
|
||||
TerribleElevatedPermissionCheck();
|
||||
|
||||
Credentials = new BotCredentials();
|
||||
Db = new DbService(Credentials);
|
||||
@ -244,11 +246,11 @@ namespace NadekoBot
|
||||
|
||||
await LoginAsync(Credentials.Token).ConfigureAwait(false);
|
||||
|
||||
_log.Info("Loading serveices...");
|
||||
_log.Info("Loading services...");
|
||||
AddServices();
|
||||
|
||||
sw.Stop();
|
||||
_log.Info("Connected in " + sw.Elapsed.TotalSeconds.ToString("F2"));
|
||||
_log.Info($"Connected in {sw.Elapsed.TotalSeconds:F2} s");
|
||||
|
||||
var stats = Services.GetService<IStatsService>();
|
||||
stats.Initialize();
|
||||
@ -295,6 +297,21 @@ namespace NadekoBot
|
||||
await Task.Delay(-1).ConfigureAwait(false);
|
||||
}
|
||||
|
||||
private void TerribleElevatedPermissionCheck()
|
||||
{
|
||||
try
|
||||
{
|
||||
File.WriteAllText("test", "test");
|
||||
File.Delete("test");
|
||||
}
|
||||
catch
|
||||
{
|
||||
_log.Error("You must run the application as an ADMINISTRATOR.");
|
||||
Console.ReadKey();
|
||||
Environment.Exit(2);
|
||||
}
|
||||
}
|
||||
|
||||
private static void SetupLogger()
|
||||
{
|
||||
try
|
||||
|
@ -4,6 +4,7 @@
|
||||
<Description>General purpose Discord bot written in C#.</Description>
|
||||
<Copyright>Kwoth</Copyright>
|
||||
<Authors>Kwoth</Authors>
|
||||
<PublisherName>Kwoth</PublisherName>
|
||||
<TargetFramework>netcoreapp1.1</TargetFramework>
|
||||
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
|
||||
<AssemblyName>NadekoBot</AssemblyName>
|
||||
|
@ -41,8 +41,6 @@ namespace NadekoBot.Services.Administration
|
||||
_mute = mute;
|
||||
_prot = prot;
|
||||
|
||||
var sw = Stopwatch.StartNew();
|
||||
|
||||
GuildLogSettings = gcs
|
||||
.ToDictionary(g => g.GuildId, g => g.LogSetting)
|
||||
.ToConcurrent();
|
||||
@ -69,9 +67,6 @@ namespace NadekoBot.Services.Administration
|
||||
}
|
||||
}, null, TimeSpan.FromSeconds(15), TimeSpan.FromSeconds(15));
|
||||
|
||||
sw.Stop();
|
||||
_log.Debug($"Loaded in {sw.Elapsed.TotalSeconds:F2}s");
|
||||
|
||||
//_client.MessageReceived += _client_MessageReceived;
|
||||
_client.MessageUpdated += _client_MessageUpdated;
|
||||
_client.MessageDeleted += _client_MessageDeleted;
|
||||
|
Loading…
Reference in New Issue
Block a user