Nirali R shah Ответов: 2

создать и написать пакетный файл в Инно сетап


Привет,
Кто-нибудь знает, как создать и записать пакетный файл в inno setup или отредактировать пакетный файл в inno setup?

skydger

Если такого плагина нет, то я полагаю, что это невозможно. Inno Setup-это установочный "компилятор", поэтому для создания таких файлов вам придется использовать сторонние редакторы, такие как Notepad или другие.

2 Ответов

Рейтинг:
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

Спросил и ответил гораздо лучше, чем то, что вы опубликовали семь лет назад.