Доброе время суток. Помогите с кодом. Пытаюсь выполнить удаление файлов через unlocker, но происходит "exit code: 1" после запуска
Дружище, зачем такой изврат? Все банальнее и проще:
Код:
Код: Выделить всё
[_Code]
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
var
ErrorCode: Integer;
begin
case CurUninstallStep of
usPostUninstall:
begin
//отмена регистрации *.dll
Exec(ExpandConstant('{sys}')+'\regsvr32.exe', '/u /s ' + ExpandConstant('{pf}') + '\WinRar\RarExt.dll', '', SW_HIDE, ewWaitUntilTerminated, ErrorCode);
//освобождаем dll-ку перезапуском Проводника
Exec('cmd', '/C WMIC PROCESS WHERE Name="explorer.exe" delete & WMIC PROCESS WHERE Name="explorer.exe" call SetPriority 64', '', sw_hide, ewWaitUntilTerminated, ErrorCode);
//Exec('cmd', '/C WMIC PROCESS WHERE Name="explorer.exe" CALL Terminate', '', sw_hide, ewWaitUntilTerminated, ErrorCode); // либо этот вариант
//далее удаляем папки, файлы
end;
end;В любом случае, Unlocker при выполнении команды принудительно перезапустит оболочку Проводника. Так что лишние телодвижения ни к чему.