Как добавить строки, связанные с установкой, в сценарии InnoSetup?

В настоящее время, когда я обновляю программу, я делаю резервную копию существующих файлов в папку с именем backup в каталоге программы, например.

Source: "{app}\filename.exe"; DestDir: "{app}\backup"; Flags: external skipifsourcedoesntexist uninsneveruninstall

Есть ли способ указать или вычислить строки, чтобы код был что-то вроде

Source: "{app}\filename.exe"; DestDir: "{app}\backup{date}"; Flags: external skipifsourcedoesntexist uninsneveruninstall

или объединить дату с информацией о предыдущей версии

Source: "{app}\filename.exe"; DestDir: "{app}\backup{previous version}{date}"; Flags: external skipifsourcedoesntexist uninsneveruninstall

2 ответа

Решение

Пожалуйста, прочтите Сценарии на Паскале: Скриптовые сценарии и Сценарии на Паскале: Справочник по функциям поддержки. Также прочитайте это и это. Во всяком случае, вот как я это сделал:

[Dirs]
; create an empty folder...
Name: "{app}\{code:MyDateTimeString}"

[Code]
function MyDateTimeString(Param: String): String;
begin
  Result := GetDateTimeString('yyyy.mm.dd_hh.nn.ss', #0, #0);
end;

Вы можете добавить динамические значения времени выполнения, используя {code:...} постоянные

Пример получения текущей даты и создания резервной копии папки установки можно увидеть в вики ISXKB

Другие вопросы по тегам