nsis - 如何在运行时设置VIProductVersion

时间:2018-05-25 08:56:37

标签: compilation version nsis readfile

我的.ini文件包含文件版本(如X.X.X.X)。
所以,我使用ReadINIStr来获取' var'格式。
ReadINIStr $0 "C:\Users\a\Downloads\Info.ini" "Version" "VersionNumber"
StrCpy $varVersion $0

以上代码会产生&var;'varVersion'存储在ini文件的版本中。

到目前为止,我想要的值存储得很好。

但是,用于VIProductVersion的值必须是使用!define的值。

  1. 无法使用variable以外的!define
  2. 如果变量不可用,我可以将特定条目的值存储在!define的ini文件中吗?
  3. 我知道可以使用!define /file命令读取文件的内容。但是我打算只读取ini文件的入口值。

1 个答案:

答案 0 :(得分:1)

VIProductVersion是存储在安装程序.exe中的属性,只能在编译时通过makensis设置。

您可以使用!define!searchparse之类的任何预处理器指令来读取/存储版本,但是没有可用于读取.ini文件的指令。如果.ini值名称仅在整个文件中使用一次,则可以在紧要关头使用!searchparse,因为它不了解.ini部分。