Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Ветеран


Сообщения: 989
Благодарности: 38

Профиль | Отправить PM | Цитировать


Подскажите пожалуйста! Пытаюсь при деинсталяции завершить 2 процесса. Так вот один убивается, а второй ни в какую.
Завершать посредством батника не хочется. Как бы сделать?
Код: Выделить весь код
[Files]
Source: compiler:ISTask.dll; DestDir: {app}; Flags: ignoreversion
[_Code]
function RunTask(FileName: string; bFullpath: Boolean): Boolean;
  external 'RunTask@{app}\ISTask.dll stdcall delayload uninstallonly';

function KillTask(ExeFileName: string): Integer;
  external 'KillTask@{app}\ISTask.dll stdcall delayload uninstallonly';

procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin
  if CurUninstallStep = usUninstall then
  begin
    if RunTask('USBSafelyRemove.exe', false) then
      KillTask('USBSafelyRemove.exe');
    if RunTask('USBSRService.exe', false) then  -  это не убивается
      KillTask('USBSRService.exe');
    UnloadDll(ExpandConstant('{app}\ISTask.dll'));
    end;
end;

Отправлено: 13:26, 26-09-2009 | #159