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

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

Ветеран


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

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


Цитата R.i.m.s.k.y.:
Exec(Expandconstant('{app}\bat.bat'), ' /parametrs ',SW_HIDE,ewWaitUntilTerminated,res); »
Батник напрямую нельзя запускать через Exec, для этого есть ShellExec
Цитата Vamp1re:
У меня чето не пашет ни первый способ ни второй »
Примеры запуска батника:
читать дальше »

Код: Выделить весь код
[Setup]
AppName=My Program
AppVerName=My Program v 1.5
DefaultDirName={pf}\My Program
OutputDir=.
Compression=lzma2/ultra64
InternalCompressLevel=ultra64
SolidCompression=yes

[Languages]
Name: rus; MessagesFile: compiler:Languages\Russian.isl

[Files]
Source: test.bat; DestDir: {tmp}; Flags: ignoreversion

; первый вариант, через секцию [Run]
[Run]
Filename: {tmp}\test.bat; WorkingDir: {tmp}; Flags: shellexec waituntilterminated

[Code]
//procedure CurStepChanged(CurStep: TSetupStep);
//var
//  ResultCode: Integer;
//begin
//  if CurStep = ssPostInstall then
//    { второй вариант, через ShellExec }
//    ShellExec('open', ExpandConstant('{tmp}\test.bat'), '', ExpandConstant('{tmp}'),
//      SW_SHOWNORMAL, ewWaitUntilTerminated, ResultCode);
//    { третий вариант, через Exec }
//    Exec(ExpandConstant('{sys}\cmd.exe'), '/c "' + ExpandConstant('{tmp}\test.bat') + '"',
//      ExpandConstant('{sys}'), SW_SHOWNORMAL, ewWaitUntilTerminated, ResultCode);
//end;

-------
Книги нужны, чтобы напоминать человеку, что его оригинальные мысли не так уж новы... Авраам Линкольн.

Это сообщение посчитали полезным следующие участники:

Отправлено: 21:05, 03-02-2011 | #711