Как добавить строки, связанные с установкой, в сценарии InnoSetup? - PullRequest
3 голосов
/ 11 марта 2012

В настоящее время, когда я обновляю программу, я резервирую существующие файлы в папку с именем 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 ]

4 голосов
/ 13 марта 2012

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

[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;
4 голосов
/ 13 марта 2012

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

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

...