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

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

Ветеран


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

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


Serega, подскажите пожалуйста ещё!
Пытаюсь убить 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);
var
ErrorCode: Integer;
begin
if CurUninstallStep = usUninstall then
begin
if RunTask('USBSafelyRemove.exe', false) then
KillTask('USBSafelyRemove.exe');
if RunTask('USBSRService.exe', false) then
Exec('taskkill', '/f /im USBSRService.exe', '', SW_HIDE, ewWaitUntilTerminated, ErrorCode);
UnloadDll(ExpandConstant('{app}\ISTask.dll'));
end;
end;

Так вот 'USBSafelyRemove.exe' убивается, а 'USBSRService.exe' не хочет.
Если же запустить при деинсталяции батник:
читать дальше »
@echo off
taskkill /F /IM USBSRService.exe
taskkill /F /IM USBSafelyRemove.exe
ECHO.

то все процессы убиваются нормально.
Может можно всё-таки как-нибудь без батника?

Отправлено: 05:47, 10-12-2009 | #610