nsis - Как установить VIProductVersion во время выполнения - PullRequest
0 голосов
/ 25 мая 2018

У меня есть файл .ini, который содержит версию файла (например, XXXX).Итак, я использовал ReadINIStr, чтобы получить версию в формате 'var'.ReadINIStr $0 "C:\Users\a\Downloads\Info.ini" "Version" "VersionNumber"StrCpy $varVersion $0

Приведенный выше код приводит к тому, что значение 'varVersion' сохраняется в версии в ini-файле.

Пока что нужные значения хорошо сохранены.

Однако значение, которое будет использоваться для VIProductVersion, должно быть значением, использующим !define.

  1. Не можете использовать variable, кроме !define?
  2. Если переменная недоступна, могу ли я сохранить значение определенной записи в INI-файле в !define?
  3. Я знаю, что содержимое файла можно прочитать с помощью команды !define /file.Однако я намерен прочитать только значение записи в INI-файле.

1 Ответ

0 голосов
/ 25 мая 2018

VIProductVersion - это атрибут, сохраненный в вашем инсталляторе .exe и может быть установлен только во время компиляции с помощью makensis.

Вы можете использовать любую из инструкций препроцессора, например !define и !searchparse для чтения / сохранения версии, но нет инструкции, которую вы можете использовать для чтения файлов .ini.!searchparse можно использовать в крайнем случае, если имя значения .ini используется только один раз во всем файле, поскольку оно не понимает разделы .ini.

...