Ветеран
Сообщения: 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
|