SCENARIO
I have created an installer that will installs a Malware application for educative purposes, the installer contains these two t
You can use the code shown in the Uninstallable directive documentation:
[Setup]
...
Uninstallable=not IsTaskSelected('hidden')
[Tasks]
Name: hidden; Description: Hidden mode; GroupDescription: Installation Mode
Name: visible; Description: Visible mode; GroupDescription: Installation Mode
Optionally, if you'd need more complex statements written in reusable function, or access some of the scripting code elements, you could write a function, e.g.:
[Setup]
...
Uninstallable=IsUninstallable
[Tasks]
Name: hidden; Description: Hidden mode; GroupDescription: Installation Mode
Name: visible; Description: Visible mode; GroupDescription: Installation Mode
[Code]
function IsUninstallable: Boolean;
begin
Result := WizardSilent or not IsTaskSelected('hidden');
end;