NSIS:与NSIS2和NSIS3兼容的脚本

时间:2018-07-23 12:55:50

标签: nsis

Nsis 3支持诸如Unicode true之类的新命令。我想要一个适用于makensis2makensis3的脚本。这可能吗?我使用的是Linux。

我试图写一个脚本。但是编译器不接受

更新:

!if "${NSIS_PACKEDVERSION}" > 0x02ffffff ; NSIS 3+
  Unicode true
  ManifestSupportedOS all
!else
  !warning "NSIS v2, compiling ANSI installer!"
!endif

我使用它,但仍然收到错误消息warning 7070: Invalid number: "${NSIS_PACKEDVERSION}"

1 个答案:

答案 0 :(得分:1)

${If}是一个运行时命令,但是您需要使用预处理程序指令,所有这些指令均以!开头。

!if "${NSIS_PACKEDVERSION}" > 0x02ffffff ; NSIS 3+
  Unicode true
!else
  !warning "NSIS v2, compiling ANSI installer!"
!endif

这是官方的方法,但是如果在构建MakeNSIS时未将VER_PACKED传递给SCons,则可能不适用于非官方发行版。

这里有些东西依赖于NSIS v3中改进的数字解析器:

!if 0n1 > 0 ; >= 3.0b0 (Documented in chapter 5.1)
  Unicode true
!else
  !warning "NSIS v2, compiling ANSI installer!"
!endif