Inno Setup Запрашивает у пользователя папку и сохраняет значение

У меня есть следующие потребности:

[Run] 
;run robocopy.exe source dest/OLD/[source_contents] /options

Куда:
источник должен быть указан пользователем на машине назначения (это может изменяться в зависимости от физической платформы)
место назначения будет идентично только определенной пользователем исходной папке, а подпуть OLD/[source_contents] будет автоматически создан при вводе robocopy.

Я думал использовать "сценарий-константу", но проблема в том, что мне нужно каким-то образом хранить параметр подсказки "источник" где-то (я не могу требовать две подсказки для одного и того же места).

Благодарю.

1 ответ

Решение

Скриптовая константа - это путь. Просто нужно убедиться, что вы один раз предложите пользователю и повторно использовать результаты как для источника, так и для пути назначения.

Вы можете, например, использовать CreateInputDirPage и реализовать скриптовую константу для ссылки на путь, указанный пользователем на странице:

[Run]
Filename: "robocopy.exe"; Parameters: "{code:CopyDir} {code:CopyDir}\OLD"
[Code]
var
  CopyDirPage: TInputDirWizardPage;

procedure InitializeWizard();
begin
  CopyDirPage :=
    CreateInputDirPage(wpSelectDir, 'Select source directory', '',  '', False, '');
  CopyDirPage.Add('Source directory:');
end;

function CopyDir(Params: string): string;
begin
  Result := CopyDirPage.Values[0];
end;
Другие вопросы по тегам