私の質問は、LogicLibに似た代替プラグインがあるかどうかです。17.0.8.22
レジストリにある私のプログラムバージョンがそのような番号であり、LogicLibがWindows 7でこれをサポートしていないように見えるので、のような番号をサポートするものは次のように認識されます。
${If} $0 = '17.0.22.0'
しかし、これは失敗/無視されています、
${If} $0 > '17.0.22.0'
私の質問は、LogicLibに似た代替プラグインがあるかどうかです。17.0.8.22
レジストリにある私のプログラムバージョンがそのような番号であり、LogicLibがWindows 7でこれをサポートしていないように見えるので、のような番号をサポートするものは次のように認識されます。
${If} $0 = '17.0.22.0'
しかし、これは失敗/無視されています、
${If} $0 > '17.0.22.0'
Andersが述べているように、VersionCompare
マクロは複雑なバージョン比較を処理できます。
ここに小さな例があります:
!include "logiclib.nsh"
!include "wordfunc.nsh"
OutFile "version.exe"
!define v1 "1.4.0"
!define v2 "1.3"
Section
${VersionCompare} "${v1}" "${v2}" $0
${select} $0
${case} 0
messagebox MB_OK "${v1} = ${v2}"
${case} 1
messagebox MB_OK "${v1} newer than ${v2}"
${case} 2
messagebox MB_OK "${v1} older than ${v2}"
${endselect}
SectionEnd
VersionCompareは、NSISに付属するヘルパーマクロの一部です...