From 3c6571ac529c685a022d83aef07bf16fba4f4a2a Mon Sep 17 00:00:00 2001 From: "B.Melnik" Date: Mon, 19 Jul 2021 14:15:44 +0300 Subject: [PATCH] feat: Add app data uninstall confirmation and startup icon --- status.iss | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/status.iss b/status.iss index cad5c958a3..0008bdc9ba 100644 --- a/status.iss +++ b/status.iss @@ -64,15 +64,29 @@ Name: quicklaunchicon; Description: "Create a &Quick Launch icon"; GroupDescript [Icons] Name: "{userdesktop}\{#Name}"; Filename: "{app}\{#ExeName}"; IconFilename: "{app}\resources\{#IcoName}"; Tasks: desktopicon -Name: "{commonprograms}\{#Name}"; Filename: "{app}\{#ExeName}"; IconFilename: "{app}\resources\{#IcoName}"; Tasks: quicklaunchicon +Name: "{commonprograms}\Status\{#Name}"; Filename: "{app}\{#ExeName}"; IconFilename: "{app}\resources\{#IcoName}"; Tasks: quicklaunchicon + +Name: "{commonstartup}\{#Name}"; Filename: "{app}\{#ExeName}"; IconFilename: "{app}\resources\{#IcoName}"; Tasks: quicklaunchicon [UninstallDelete] Type: filesandordirs; Name: "{app}" -Type: filesandordirs; Name: "{localappdata}\Status" Type: files; Name: "{userdesktop}\{#Name}" + [Registry] Root: HKCU; Subkey: "Software\Classes\status-im"; ValueType: "string"; ValueData: "URL:status-im protocol"; Flags: uninsdeletekey Root: HKCU; Subkey: "Software\Classes\status-im"; ValueType: "string"; ValueName: "URL Protocol"; ValueData: "" Root: HKCU; Subkey: "Software\Classes\status-im\DefaultIcon"; ValueType: "string"; ValueData: "{app}\Status.exe,1" Root: HKCU; Subkey: "Software\Classes\status-im\shell\open\command"; ValueType: "string"; ValueData: """{app}\Status.exe"" ""--url=""%1""" + +[Code] +procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep); +begin + if CurUninstallStep = usPostUninstall then + begin + if DirExists(ExpandConstant('{localappdata}\Status')) then + if MsgBox('Do you want to delete application data?', mbConfirmation, MB_YESNO or MB_DEFBUTTON2) = IDYES + then + DelTree(ExpandConstant('{localappdata}\Status'), True, True, True); + end; +end;