Имя пользователя:
Пароль:
 

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

Аватара для Dodakaedr

Ветеран


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

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


Цитата saneksanek:
Если не коммерческая тайна,можете выложить скрипт с файлом я посмотрю »
читать дальше »
Код: Выделить весь код
[Setup]
AppName=MyApp
AppVerName=MyApp
DefaultDirname={pf}\MyApp

[Files]
Source: "compiler:Dll Pack\ISTask.dll"; DestDir: "{app}"; Flags: ignoreversion

[ Code]
function KillTask(ExeFileName: string): Integer;
external 'KillTask@files:ISTask.dll stdcall delayload setuponly';

function RunTask(FileName: string; bFullpath: Boolean): Boolean;
external 'RunTask@files:ISTask.dll stdcall delayload setuponly';

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

function RunTaskA(FileName: string; bFullpath: Boolean): Boolean;
external 'RunTask@{app}\ISTask.dll stdcall delayload uninstallonly';


function InitializeSetup(): Boolean;
begin
if not FileExists(ExpandConstant('{tmp}\ISTask.dll')) then ExtractTemporaryFile('ISTask.dll');
If RunTask('USBSRService.exe', False) then  // Указываем программу, которая должна припятствовать установке.
begin
if MsgBox('Программа установки обнаружила, что программа Scanner запущена в данный момент.'#13#13'Закрыть программу и продолжить установку?', mbInformation, mb_YesNo) = idYes then
begin
  KillTask('USBSRService.exe');  // Указываем программу, которая должна будет закрыться
  Result := True;
  end else
  Exit;
  end;
  Result := True;
end;

procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin
  if CurUninstallStep = usUninstall then
    begin
      UnloadDLL(ExpandConstant('{app}\ISTask.dll'));
    end;
end;

function InitializeUninstall(): Boolean;
begin
If RunTaskA('USBSRService.exe', false) then // Указываем программу, которая должна припятствовать удалению.
begin
if MsgBox('Программа удаления обнаружила, что программа Scanner запущена в данный момент.'#13#13'Закрыть программу и продолжить удаление?', mbInformation, mb_YesNo) = idYes then
begin
  KillTaskA('USBSRService.exe');  // Указываем программу, которая должна будет закрыться
  Result := True;
  end else
  Exit;
  end;
  Result := True;
end;
установите сначала программу, а потом используйте код свыше. У меня не работает

-------
Inno Setup 5 Ultra Unicode


Отправлено: 00:32, 25-05-2014 | #785