Рейтинг:
20
Valery Possoz
Привет,
На самом деле это возможно, если вы используете раздел [код] и пишете свой собственный код.
[Code]
function CreateBatch(): boolean;
var
fileName : string;
lines : TArrayOfString;
begin
Result := true;
fileName := ExpandConstant('{pf}\{#MyAppName}\batch.bat');
SetArrayLength(lines, 3);
lines[0] := 'echo hello';
lines[1] := 'pause';
lines[2] := 'exit';
Result := SaveStringsToFile(filename,lines,true);
exit;
end;
procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep=ssPostInstall then
begin
CreateBatch();
end
end;
Валери.
Nirali R shah
Привет, большое вам спасибо за код... теперь я запускаю этот файл batch.bat в разделе [run], но он не работает.. я не знаю, где я ошибаюсь.. пожалуйста, помогите мне...Заранее спасибо.
Nirali R shah
решенный... я вызвал CreateBatch() без каких-либо условий.
процедура CurStepChanged(CurStep: TSetupStep);
начать
CreateBatch();
конец;
Valery Possoz
CurStep позволяет вам выбрать, в какой момент Вы хотите выполнить операцию. CurStep=ssInstall означает только перед началом установки,CurStep=ssPostInstall значит, сразу после завершения установки CurStep=ssDone значит просто перед запуском программы установки завершается. Во всяком случае, я счастлив, что у тебя получилось. :)
Valery Possoz
для этого используйте раздел [выполнить].
[Бежать]
Имя файла: "{app}\batch.bat";
смотрите здесь: http://www.jrsoftware.org/ishelp/index.php?topic=runsection
Рейтинг:
0
Member 14640310
[код]
процедура CurStepChanged(CurStep: TSetupStep);
вар
имя файла : string;
начать
// Вызывается в конце настройки
если CurStep = ssPostInstall, то
начать
// создайте каталог и имя файла
имя файла := ExpandConstant('{pf}\{#MyAppPublisher}\{#MyAppName}\c3deditor');
// протоколировать операцию
Log('Creating' + fileName + '.bat');
// напишите однострочный пакетный файл для запуска приложения
SaveStringToFile(fileName + '.bat',#34 + fileName + '.exe" -b %1' + #13#10, False);
конец;
конец;
Dave Kreskowiak
Спросил и ответил гораздо лучше, чем то, что вы опубликовали семь лет назад.