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

StackOverflow https://stackoverflow.com//questions/9652084

Вопрос

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

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
.

Это было полезно?

Решение

Please read Pascal Scripting: Scripted Constants and Pascal Scripting: Support Functions Reference. Also read this and this. Anyway, this is how I did it:

[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;

Другие советы

You can add runtime dynamic values using {code:...} constants.

An example of getting the current date and making a backup of the installation folder can be seen on the ISXKB wiki

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top