The code is as follows:
//Innosetup's own method is triggered when the software is uninstalled according to the status change of uninstallation
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
Var
Resultcode: integer; / / function parameter, result code
Removeparams: string; / / remove the parameters of the scheduled task
Begin
//Uspostuninstall is the state defined by innosetup. Uspostuninstall means after the uninstall is completed
if(CurUninstallStep = usPostUninstall) then
Begin
//Scheduletashname is the task name to be deleted
RemoveParams:= ‘/delete /tn "ScheduleTaskName"‘;
//Exec() is to open CMD, and schtasks is the schtasks.exe program of the system
Exec(‘schtasks‘, RemoveParams, ‘‘, SW_HIDE, ewWaitUntilTerminated, ResultCode );
End;
End;
The idea is:
Delete a timed task by invoking the system's Schtasks.exe program in Pascal code
Innosetup Remove Scheduled Tasks Schedule task after uninstalling the software