1

私の質問は、LogicLibに似た代替プラグインがあるかどうかです。17.0.8.22レジストリにある私のプログラムバージョンがそのような番号であり、LogicLibがWindows 7でこれをサポートしていないように見えるので、のような番号をサポートするものは次のように認識されます。

${If} $0 = '17.0.22.0'

しかし、これは失敗/無視されています、

${If} $0 > '17.0.22.0'
4

2 に答える 2

3

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
于 2012-09-14T09:50:42.970 に答える
1

VersionCompareは、NSISに付属するヘルパーマクロの一部です...

于 2012-09-14T09:05:27.363 に答える